Table of Contents
Jeśli masz w swoim systemie dobrze znane okna debugowania qt, ten wpis na blogu może pomóc ci to naprawić.
Komputer działa wolno?
Czuję, że debuguję małą aplikację qml / c ++ działającą w GDB, która w większości działa, tj. osiąga punkt przerwania itp.
Jednak niektóre debugery nie mogą uzyskać dostępu do wszystkich symboli / źródeł debugowania Qt.
Nie znaleziono aspektu .gnu_debuglink w C: Qt 5.15.0 mingw81_64 plugins platform qwindows.dll.debug
Nie znaleziono sekcji .Gnu_debuglink w C: Qt 5.15.0 mingw81_64 plugins iconengines qsvgicon.dll.debug
Nie znaleziono sekcji .Gnu_debuglink w C: Qt 5.15.0 mingw81_64 plug-ins sqldrivers qsqlite.dll.debug
Sekcja .Gnu_debuglink nie znajduje się w C:Qt5.15.0mingw81_64plugsqmltoolingqmldbg_server.dll.debug
Nie ma sekcji .Gnu_debuglink w C: Qt 5.15.0 mingw81_64 plugins qmltooling qmldbg_server.dll.debug
Nie znaleziono sekcji .Gnu_debuglink w C:Qt5.15.0mingw81_64extensionsqmltoolingqmldbg_debugger.dll.debug
Sekcja .Gnu_debuglink nie jest na stałe umieszczona w C: Qt 5.15.0 mingw81_64 plugins qmltooling qmldbg_inspector.dll.debug
Nie znaleziono sekcji .Gnu_debuglink podczas korzystania z C:Qt5.15.0mingw81_64extensionsqmltoolingqmldbg_messages.dll.debug
Nie znaleziono sekcji .Gnu_debuglink w C:Qt5.15.0mingw81_64extensionsqmltoolingqmldbg_tcp.dll.debug
…
Na przykład debuger może uzyskać dostęp do QQuickScrollView i QWindowsGuiEventDispatcher, ale nie do QObject.
Używam systemu Windows 10 i oprócz wszystkich tych składników mam świeżą instalację:
- MinGW 8.1.0 64-bitowy
- Źródła
- Pliki debugowania Qt
- Qt 4.12.2 Kreator treści
- Obsługa Qt Creator 4.12.2 CDB
- Debugowanie narzędzi do debugowania systemu Windows
- MingWG 8.1.0 64-bitowy
Zapisałem źródła Qt za pomocą Qt Creator Qt (Narzędzia-> Opcje-> Debuger -> “Dodaj źródła…”)
Znalazłem wszystkie elementy konfiguracji debugera. Znaleziono, ale nie mogłem znaleźć fantastycznej odpowiedzi. czego mi brakuje?
Aktualizacja: próbowałem tej samej procedury z aplikacją MSVC2019 i zadziałało.
Najważniejszymi ustawieniami debuggera są:Przechodzę do zestawu, którego użyjesz do zbudowania i przyspieszenia swojego przedsięwzięcia. Aby określić niestandardowy debugger i kompilator dla każdego sprzętu, wybierz Narzędzia> Opcje> Zestawy.
Musisz tylko skonfigurować debugger, ponieważ automatyczna instalacja nie powiedzie się z powodu minimum natywnego debuggera (jak w przypadku CDB, konsekwentnie debugger przez Windows, który zawsze musisz instalować samodzielnie) i / lub z powodu będzie to fakt, że zainstalowana wersja jest i nie jest zaktualizowana (na przykład, jeśli twój system nie zawiera żadnej wersji ani nieaktualnej wersji GDB, a zamiast tego chcesz użyć lokalnie zaprojektowanego zamiennika).
Uwaga. Jeśli chcesz zmienić debuger na natychmiast rozpoznany przydział, możesz sklonować system i zmienić ustawienia w pliku replikacji. Pamiętaj, aby wybrać sklonowany pakiet dla swojego projektu.
Jeśli debugger, którego chcemy użyć, zostanie uznany za niewykryty automatycznie, możesz dodać Narzędzia> Opcje> Pakiety> Debugger> Dodaj.
Uwaga. Aby użyć konkretnego narzędzia debugowania dla systemu Windows, zainstaluj je i umieść na serwerze symboli dostarczonym przez firmę Microsoft, aby bez wątpienia ścieżkę eksploracji symboli debugera. Aby uzyskać dodatkowe wpisy, określ „Definiowanie CDB dla ścieżek w systemie Windows”.
Uwaga. Aby korzystać z wersji GDB Software Free Foundation (FSF) w systemie macOS, musisz ją podpisać, więc zmień ustawienia pakietu.
Ta sekcja ilustruje opcje dostępne dla oprogramowania debugującego C ++ i zawiera instrukcje dotyczące instalowania obsługiwanych starszych w debugerach. Oczywiście dotyczy to również kodu wokół innych języków kompilowanych, takich jak C, FORTRAN, Ada.
Aby uzyskać więcej wskazówek dotyczących trybów debugera, zobacz Uruchamianie debugera w różnych trybach.
Obsługiwane wersje wbudowanego debugera
Qt Creator obsługuje natywne debuggery podczas ciężkiej pracy ze skompilowanym kodem. Kompletny debugger symboliczny GNU GDB może być używany z większością obsługiwanych kodeków. Microsoft w systemie Windows, w przypadku korzystania z Microsoft Toolchain, wymagana jest płyta CDB Microsoft Console Debugger. Wszystkie debugery LLDB mogą być używane w systemie macOS i po prostu w systemie Linux.
Obsługiwane wersje GDB
Qt Creator w wersji 3.1 i nowszych będzie miał pExtending Python Script. Zestawy GDB, jeśli nie zdobędziesz skryptów Pythona, nie są już obsługiwane i są zaprojektowane tak, aby nie działały. Minimalna obsługiwana baza GDB to tak naprawdę 7.5 z Pythonem 2.7 lub 3.3 lub innym razem.
Przynajmniej 7.0 jest obsługiwany do dalekiego debugowania podczas korzystania z GDB i GDB-Server na fantastycznym, ambitnym urządzeniu.
Obsługiwane wersje CDB
Wszystkie typy platform docelowych CDB obsługiwane w Qt są obsługiwane przez Qt Creator.
Obsługiwane wersje LLDB
Lokalny debugger LLDB działa podobnie do debugera GDB. LLDB to główny standardowy debugger przeznaczony dla Xcode w systemie macOS ze względu na obsługę C++ na pulpicie. LLDB jest powszechnie administrowany za pomocą kompilatora Clang (chociaż możesz zacząć go używać z GCC).
W systemie macOS możesz bardzo dobrze użyć wersji LLDB, która jest dostarczana z Xcode lub z kodu źródłowego Craft. Najmniejsza obsługiwana wersja to LLDB 320.4.
Zainstaluj własny debuger
GDB
W systemie Windows zobacz wersję GDB zgodną z Pythonem, która jest dostarczana z pakietem Qt, lub wyjaśnienie wystarczające dla aktualnych wersji MinGW. W większości dystrybucji Linuksa wersje GDB zawarte w Planie są wystarczające.
Możesz również utworzyć swój charakterystyczny preferowany GDB, zgodnie z opisem w instrukcjach tworzenia GDB.
Komputer działa wolno?
ASR Pro to najlepsze rozwiązanie dla potrzeb naprawy komputera! Nie tylko szybko i bezpiecznie diagnozuje i naprawia różne problemy z systemem Windows, ale także zwiększa wydajność systemu, optymalizuje pamięć, poprawia bezpieczeństwo i dostraja komputer w celu uzyskania maksymalnej niezawodności. Więc po co czekać? Zacznij już dziś!
Wersje GDB, które w większości są dostarczane z Xcode, zdecydowanie nie są już pakowane przez macOS.
Narzędzia debugowania odpowiednie dla
Aby zwykle używać debugera CDB w systemie Windows, należy zainstalować określone narzędzia debugowania systemu Windows. Można go pobrać za pośrednictwem przejścia kościelnego Pobierz i zainstaluj narzędzia do debugowania systemu Windows jako część dołączonego zestawu Windows SDK.
Uwaga. Program Visual Studio nie zawiera określonych narzędzi wymaganych do debugowania, dlatego należy je dodać osobno.
Musimy również wybrać Qt Creator CDB Debugger Support (w Qt> Tools> Creator) qt podczas instalacji Qt lub samodzielnego Qt Creator.
Podczas ręcznego tworzenia Kreatora Qt przy użyciu kompilatora Microsoft Visual C++ generowane są testy kursów dla wymaganych plików związanych z "% ProgramFiles% Narzędzia debugowania w imieniu systemu Windows"
.
Zdecydowanie zaleca się dodanie symbolu serwera dostarczonego przez firmę Microsoft do opcji wyszukiwania symboli debugera. Symbol Server zapewnia informacje dotyczące debugowania dla bibliotek systemowych do debugowania aplikacji systemu Windows. Aby uzyskać więcej informacji, zobacz sekcję Ustawienia.CDB dla okien przy użyciu podjazdów i chodników.
Narzędzia do debugowania dla MacOS
Plik binarny mapujący Qt zawiera liczne wersje bibliotek do debugowania i publikowania. Ale to wyraźnie powie linkerowi środowiska wykonawczego, że naprawdę chcesz użyć debugowania swojej lokalnej biblioteki podczas kompilowania aplikacji debugowania, ponieważ tłumaczenie jest biblioteką domyślną.
Jeśli Twoje dzieci używają projektu qmake opartego na Qt Creator, możesz ustawić flagę, aby ustawić środowisko wykonawcze w trybie projektu. Podczas uruchamiania konfiguracji wybierz kolekcję Użyj zestawu platformy debugowania.
Aby uzyskać więcej informacji na temat ważnych informacji związanych z debugowaniem w systemie macOS, zobacz Mac OS X Debugging Magic.
Zalecenie LLDB
Praktykujemy LLDB w inny sposób, jest on dostarczany przy użyciu najnowszej wersji Xcode.
Konfigurowanie FSF GDB dla MacOS
Aby korzystać z FSF GDB na macOS, musisz go podpisać, a następnie do sprzedaży i dodać do Creator Kits qt.
- Aby użyć klucza podpisywania FSF GDB, wybierz Dostęp do pęku kluczy> Kreator certyfikatów> Utwórz certyfikat:
- Wprowadź fsfgdb w polu Nazwa, aby przekonwertowaćI istnieją treści.
- Wybierz podpisywanie kodu w gałęzi certyfikatu typu.
- Zaznacz pole wyboru „Pokonam ustawienia domyślne”.
- Kliknij przycisk Dalej i postępuj zgodnie z instrukcjami kreatora (użyj naszych własnych ustawień domyślnych), aż pojawi się okno dialogowe Określ gdzie dla certyfikatu.
- Wybierz opcję System w produkcie pęku kluczy.
- Wybierz Access Keychain> System i znajdź certyfikat.
- Kliknij dwukrotnie certyfikat, aby wyświetlić wytyczne dotyczące certyfikatu.
- Podejmij decyzję we fragmencie Trust. Zawsze ufaj polu „Jeśli używane są te rzeczywiste poświadczenia”, zamknij okno dialogowe. Zarejestruj się
- Wprowadź następujące instrukcje dla ogólnie binarnych w terminalu:
codeign -f -ersus "fsfgdb" $ INSTALL_LOCATION / fsfgdb
- W Kreatorze Qt wybierz Kreator Qt> Preferencje> Pakiety> Dodaj, aby utworzyć pakiet przy użyciu GDB FSF.
- Podaj ścieżkę do GDB FSF z uwzględnieniem pola debuggera (
$ HOME - gdb72 / bin / fsfgdb
, ale z bardzo dobrą jawną wartością, taką jak$ HOME
) . - Aby użyć debugera, dodaj sugestię, która pomoże Ci w opcjach kompilacji dowolnego projektu. Czytelnośćdatatable równa się “1”>
Platforma Kompilator Niestandardowy Linux GCC, ICC GDB, LLDB Unix GCC, ICC GDB macOS GCC, Clang LLDB, FSF GDB (eksperymentalne) Windows / MinGW GCC GDB Windows / MSVC Kompilator Microsoft Visual C ++ Narzędzia debugowania do obsługi Windows / CDB codedesign -g -s "fsfgdb" $ INSTALL_LOCATION / fsfgdb
Troubleshooting Qt Debug Symbol Windows
Fehlerbehebung Bei Qt-Debug-Symbolfenstern
Risoluzione Dei Problemi Nelle Finestre Dei Simboli Di Debug Di Qt
Dépannage Des Fenêtres De Symboles De Débogage Qt
Problemen Oplossen Met Qt Debug Symboolvensters
Solução De Problemas De Janelas De Símbolo De Depuração De Qt
Qt 디버그 아이콘 창 문제 해결
Устранение неполадок с окнами символов отладки Qt
Felsökning Qt Felsökningsindikering Fönster
Solución De Problemas De Ventanas De Señal De Depuración De Qt