Skip to content
Menu
CDhistory
CDhistory

Ladění

Posted on 20 listopadu, 2021 by admin

Možná budete potřebovat ladit sestavení CMake nebo ladit kód C++. Obojímu se věnujeme zde.

  • Ladění CMake
  • Vypisování proměnných
  • Sledování běhu
  • Sestavování v režimu ladění

Ladění CMake

Nejprve se podíváme na způsoby, jak ladit seznamy CMake nebo jiný soubor CMake.

Vypisování proměnných

Časem prověřený způsob výpisu příkazů vypadá v CMake takto:

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

Vestavěný modul to však ještě usnadňuje:

include(CMakePrintHelpers)cmake_print_variables(MY_VARIABLE)

Pokud chcete vypsat nějakou vlastnost, je to mnohem, mnohem příjemnější! Místo toho, abyste z každého cíle (nebo jiné položky s vlastnostmi, například SOURCES, DIRECTORIES, TESTS nebo CACHE_ENTRIES – globální vlastnosti z nějakého důvodu zřejmě chybí) získávali vlastnosti jednu po druhé, můžete je jednoduše vypsat a nechat si je vypsat přímo:

cmake_print_properties( TARGETS my_target PROPERTIES POSITION_INDEPENDENT_CODE)

Sledování běhu

Chtěli jste sledovat, co přesně se ve vašem souboru CMake děje a kdy? Funkce --trace-source="filename" je fantastická. Každý řádek spuštěný v souboru, který zadáte, se po spuštění ozve na obrazovku, takže můžete přesně sledovat, co se děje. Existují i příbuzné možnosti, ale ty mají tendenci vás zahrabat do výstupu.

Například:

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

Přidáte-li --trace-expand, proměnné se rozbalí na své hodnoty.

Sestavování v režimu ladění

Pro generátory s jednou konfigurací můžete sestavit kód pomocí -DCMAKE_BUILD_TYPE=Debug, abyste získali ladicí příznaky. U generátorů s více konfiguracemi, stejně jako u mnoha jiných IDE, můžete konfiguraci vybrat v IDE. Pro tento režim existují odlišné příznaky (proměnné končící na _DEBUG na rozdíl od _RELEASE), stejně jako hodnota generátorového výrazu CONFIG:Debug nebo CONFIG:Release.

Jakmile vytvoříte sestavení pro ladění, můžete na něm spustit ladicí program, například gdb nebo lldb.

Napsat komentář Zrušit odpověď na komentář

Vaše e-mailová adresa nebude zveřejněna. Vyžadované informace jsou označeny *

Nejnovější příspěvky

  • Acela je zpět:
  • OMIM záznam – # 608363 – CHROMOSOM 22q11.2 DUPLICATION SYNDROME
  • Rodiče Kate Albrechtové – více o jejím otci Chrisu Albrechtovi a matce Annie Albrechtové
  • Temple Fork Outfitters
  • Burr (román)

Archivy

  • Únor 2022
  • Leden 2022
  • Prosinec 2021
  • Listopad 2021
  • Říjen 2021
  • Září 2021
  • Srpen 2021
  • Červenec 2021
  • Červen 2021
  • Květen 2021
  • Duben 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