Skip to content
Menu
CDhistory
CDhistory

Debug

Posted on Novembre 20, 2021 by admin

Potresti aver bisogno di fare il debug della tua compilazione CMake, o il debug del tuo codice C++. Entrambi sono coperti qui.

  • Il debug di CMake
  • Stampa delle variabili
  • Tracciare un’esecuzione
  • Costruire in modalità debug

Il debug di CMake

Primo, guardiamo i modi per fare il debug di una CMakeLists o di altri file CMake.

Stampa delle variabili

L’onorato metodo delle istruzioni di stampa assomiglia a questo in CMake:

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

Tuttavia, un modulo integrato lo rende ancora più facile:

include(CMakePrintHelpers)cmake_print_variables(MY_VARIABLE)

Se vuoi stampare una proprietà, questo è molto, molto più bello! Invece di ottenere le proprietà una per una di ogni target (o altro elemento con proprietà, come SOURCES, DIRECTORIES, TESTS, o CACHE_ENTRIES – le proprietà globali sembrano mancare per qualche motivo), puoi semplicemente elencarle e farle stampare direttamente:

cmake_print_properties( TARGETS my_target PROPERTIES POSITION_INDEPENDENT_CODE)

Tracciare un’esecuzione

Hai voluto guardare esattamente cosa succede nel tuo file CMake, e quando? La funzione --trace-source="filename" è fantastica. Ogni linea eseguita nel file che hai dato sarà riecheggiata sullo schermo quando viene eseguita, permettendoti di seguire esattamente cosa sta succedendo. Ci sono anche opzioni correlate, ma tendono a seppellirti nell’output.

Per esempio:

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

Se aggiungi --trace-expand, le variabili saranno espanse nei loro valori.

Costruire in modalità debug

Per i generatori a configurazione singola, puoi costruire il tuo codice con -DCMAKE_BUILD_TYPE=Debug per ottenere i flag di debug. Nei generatori multi-configurazione, come molti IDE, puoi scegliere la configurazione nell’IDE. Ci sono bandiere distinte per questa modalità (variabili che terminano in _DEBUG al contrario di _RELEASE), così come un valore di espressione del generatore CONFIG:Debug o CONFIG:Release.

Una volta fatta una build di debug, è possibile eseguire un debugger, come gdb o lldb su di essa.

Lascia un commento Annulla risposta

Il tuo indirizzo email non sarà pubblicato. I campi obbligatori sono contrassegnati *

Articoli recenti

  • Acela è tornato: NYC o Boston per $99
  • I genitori di Kate Albrecht – Per saperne di più sul padre Chris Albrecht e la madre Annie Albrecht
  • Temple Fork Outfitters
  • Burr (romanzo)
  • Trek Madone SLR 9 Disc

Archivi

  • Febbraio 2022
  • Gennaio 2022
  • Dicembre 2021
  • Novembre 2021
  • Ottobre 2021
  • Settembre 2021
  • Agosto 2021
  • Luglio 2021
  • Giugno 2021
  • Maggio 2021
  • Aprile 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