Skip to content
Menu
CDhistory
CDhistory

Debuggen

Posted on november 20, 2021 by admin

Het kan zijn dat u uw CMake build moet debuggen, of uw C++ code moet debuggen. Beide worden hier behandeld.

  • CMake debugging
  • Variabelen afdrukken
  • Tracing a run
  • Bouwen in debug modus

CMake debugging

Laten we eerst eens kijken naar manieren om een CMakeLists of ander CMake bestand te debuggen.

Variabelen afdrukken

De aloude methode van print-statements ziet er in CMake als volgt uit:

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

Een ingebouwde module maakt dit echter nog eenvoudiger:

include(CMakePrintHelpers)cmake_print_variables(MY_VARIABLE)

Als u een eigenschap wilt afdrukken, is dit veel, veel leuker! In plaats van het één voor één opvragen van de eigenschappen van elk target (of ander item met eigenschappen, zoals SOURCES, DIRECTORIES, TESTS, of CACHE_ENTRIES – globale eigenschappen lijken om de een of andere reden te ontbreken), kunt u ze eenvoudig opnoemen en direct laten afdrukken:

cmake_print_properties( TARGETS my_target PROPERTIES POSITION_INDEPENDENT_CODE)

Tracing a run

Wilt u precies zien wat er in uw CMake bestand gebeurt, en wanneer? De --trace-source="filename" functie is fantastisch. Elke regel in het bestand die u opgeeft, wordt naar het scherm geëchood als het wordt uitgevoerd, zodat u precies kunt volgen wat er gebeurt. Er zijn ook gerelateerde opties, maar die hebben de neiging je te begraven in output.

Voorbeeld:

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

Als je --trace-expand toevoegt, zullen de variabelen worden uitgebreid naar hun waarden.

Bouwen in debug modus

Voor single-configuratie generatoren, kun je je code bouwen met -DCMAKE_BUILD_TYPE=Debug om debug vlaggen te krijgen. In multi-configuratie generatoren, zoals veel IDE’s, kunt u de configuratie kiezen in de IDE. Er zijn verschillende vlaggen voor deze modus (variabelen eindigend op _DEBUG in tegenstelling tot _RELEASE), evenals een generator expressie waarde CONFIG:Debug of CONFIG:Release.

Als je eenmaal een debug build hebt gemaakt, kun je een debugger, zoals gdb of lldb erop draaien.

Geef een antwoord Antwoord annuleren

Het e-mailadres wordt niet gepubliceerd. Vereiste velden zijn gemarkeerd met *

Recente berichten

  • Acela is terug: NYC of Boston voor $99
  • OMIM Entry – # 608363 – CHROMOSOME 22q11.2 DUPLICATION SYNDROME
  • Kate Albrecht’s Parents – Learn More About Her Father Chris Albrecht And Mother Annie Albrecht
  • Temple Fork Outfitters
  • Burr (roman)

Archieven

  • februari 2022
  • januari 2022
  • december 2021
  • november 2021
  • oktober 2021
  • september 2021
  • augustus 2021
  • juli 2021
  • juni 2021
  • mei 2021
  • april 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