Skip to content
Menu
CDhistory
CDhistory

Debugowanie

Posted on 20 listopada, 2021 by admin

Możesz potrzebować debugować swoją kompilację CMake, lub debugować swój kod C++. Oba te zagadnienia są tutaj omówione.

  • Debugowanie CMake
  • Wydrukowywanie zmiennych
  • Śledzenie przebiegu
  • Budowanie w trybie debugowania

Debugowanie CMake

Po pierwsze, spójrzmy na sposoby debugowania listy CMakeLists lub innego pliku CMake.

Wydrukowywanie zmiennych

Zaszczytna metoda wypisywania zmiennych wygląda w CMake tak:

message(STATUS "MY_VARIABLE=${MY_VARIABLE}")

Jednakże wbudowany moduł czyni to jeszcze łatwiejszym:

include(CMakePrintHelpers)cmake_print_variables(MY_VARIABLE)

Jeśli chcesz wypisać właściwość, jest to o wiele, wiele przyjemniejsze! Zamiast uzyskiwać właściwości jeden po drugim każdego celu (lub innego elementu z właściwościami, takimi jak SOURCES, DIRECTORIES, TESTS lub CACHE_ENTRIES – właściwości globalne wydają się być pominięte z jakiegoś powodu), możesz po prostu wypisać je i uzyskać ich bezpośredni wydruk:

cmake_print_properties( TARGETS my_target PROPERTIES POSITION_INDEPENDENT_CODE)

Śledzenie przebiegu

Czy chciałeś zobaczyć dokładnie co i kiedy dzieje się w twoim pliku CMake? Funkcja --trace-source="filename" jest fantastyczna. Każda linia uruchomiona w pliku, który podasz, zostanie wyświetlona na ekranie, gdy zostanie uruchomiona, pozwalając ci śledzić dokładnie, co się dzieje. Istnieją również powiązane opcje, ale mają one tendencję do grzebania cię w danych wyjściowych.

Na przykład:

cmake -S . -B build --trace-source=CMakeLists.txt

Jeśli dodasz --trace-expand, zmienne zostaną zinterpretowane do ich wartości.

Budowanie w trybie debugowania

Dla generatorów z pojedynczą konfiguracją, możesz zbudować swój kod z -DCMAKE_BUILD_TYPE=Debug, aby uzyskać flagi debugowania. W generatorach z wieloma konfiguracjami, podobnie jak w wielu IDE, możesz wybrać konfigurację w IDE. Istnieją odrębne flagi dla tego trybu (zmienne kończące się na _DEBUG w przeciwieństwie do _RELEASE), jak również wartość wyrażenia generatora CONFIG:Debug lub CONFIG:Release.

Po wykonaniu kompilacji debugowania, możesz uruchomić na niej debugger, taki jak gdb lub lldb.

Dodaj komentarz Anuluj pisanie odpowiedzi

Twój adres e-mail nie zostanie opublikowany. Wymagane pola są oznaczone *

Ostatnie wpisy

  • Acela powraca: NYC lub Boston za 99 dolarów
  • OMIM Entry – # 608363 – CHROMOSOME 22q11.2 DUPLICATION SYNDROME
  • Rodzice Kate Albrecht – Dowiedz się więcej o jej ojcu Chrisie Albrechcie i matce Annie Albrecht
  • Temple Fork Outfitters
  • Burr (powieść)

Archiwa

  • luty 2022
  • styczeń 2022
  • grudzień 2021
  • listopad 2021
  • październik 2021
  • wrzesień 2021
  • sierpień 2021
  • lipiec 2021
  • czerwiec 2021
  • maj 2021
  • kwiecień 2021
  • DeutschDeutsch
  • NederlandsNederlands
  • SvenskaSvenska
  • DanskDansk
  • EspañolEspañol
  • FrançaisFrançais
  • PortuguêsPortuguês
  • ItalianoItaliano
  • RomânăRomână
  • PolskiPolski
  • ČeštinaČeština
  • MagyarMagyar
  • SuomiSuomi
  • 日本語日本語
©2022 CDhistory | Powered by WordPress & Superb Themes