2017-03-24 49 views
8

TL; DR: Chcę zmienić wersję LLDB, której używa CLion (v2016.3.5) do LLDB v3.8.1. Mogę to zrobić? Jeśli tak to jak?Jak zmienić użycie wersji LLDB wersji?

Dłuższe wyjaśnienie kwestii:

Clion jest C++ IDE, które używam od kilku lat. Niedawno wydali wersję 2016.3.X. Po przejściu od 2016.2 do 2016.3, zmienili wersję "wbudowany w lldb" z v3.8.1 na v3.9.0. Powodowało to dla mnie problem, ponieważ v3.9.0 wydaje się nie chcieć działać poprawnie.

Kiedy, powiedzmy, "print some_var_name" (podczas gdy w punkcie przerwania) pojawia się błąd (poniżej):

Assertion failed: (D-> getCachedLinkage() == LV.getLinkage ()), funkcja getLVForDecl, sygn /Applications/buildAgent/work/92515a49514b3993/lldb/llvm/tools/clang/lib/AST/Decl.cpp, linię 1360.

źródłem tego pliku może można znaleźć tutaj: https://clang.llvm.org/doxygen/Decl_8cpp_source.html

Moje opcje to:

(1) Dowiedz się, dlaczego wystąpił ten błąd. Stworzenie prostego programu "cześć świat" i debugowanie wydaje się działać. Mówi mi to, że ma to coś wspólnego z moją bazą kodu, jak przypuszczam. Ale mam ponad 20 000 linii kodu. Więc zastanawianie się, co to jest, byłoby niezwykle czasochłonne. Wersja LLDB 3.8.1 wydaje się szybszą/prostszą naprawą, ponieważ w przeszłości robiła mi dobrze.

(2) Użyj starą wersję Clion (który domyślnie wykorzystuje LLDB wersji 3.8.1)

(3) Pobierz nowy (er) wersja (y) Clion używać LLDB wersji 3.8 .1.

Dzięki za pomoc/wskazówki.

+0

można sprawdzić nowszą wersję Clion? Strona internetowa mówi, że rok 2017 jest już dostępny. – j4x

+1

Mam ten sam problem w CLION 2017.2 – djsosofresh

+0

FYI, dodałem problem na ich tracker do tego. Można go znaleźć tutaj: https://youtrack.jetbrains.com/issue/CPP-9488 Istnieje również przykładowy projekt, który generuje błąd i wyjaśnia, co musiałem zrobić, aby nie uzyskać błędu. Bardzo dziwne rozwiązanie, które może nie działać we wszystkich przypadkach. – Xandrix

Odpowiedz

1

I zakładanego można po prostu wpisać ścieżkę w tej stronie Preferencje:

enter image description here

+0

Cóż, mówi się o niestandardowym "Custom GDB", więc myślałem, że to przeznaczone tylko dla Debuggera GNU. Dodanie "/ usr/bin/lldb" (która jest lokalizacją) powoduje pojawienie się błędu "Wersja GDB: nieznana" – Xandrix