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.
można sprawdzić nowszą wersję Clion? Strona internetowa mówi, że rok 2017 jest już dostępny. – j4x
Mam ten sam problem w CLION 2017.2 – djsosofresh
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