Skip to content
Menu
CDhistory
CDhistory

Depanare

Posted on noiembrie 20, 2021 by admin

S-ar putea fi nevoie să depanați compilarea CMake sau să depanați codul C++. Ambele sunt acoperite aici.

  • Depanare CMake
  • Imprimarea variabilelor
  • Tracking a run
  • Construirea în modul de depanare

Depanare CMake

Primul rând, să ne uităm la modalitățile de a depana un CMakeLists sau alt fișier CMake.

Imprimarea variabilelor

Metoda onorată de timp a instrucțiunilor de tipărire arată astfel în CMake:

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

Cu toate acestea, un modul încorporat face acest lucru chiar mai ușor:

include(CMakePrintHelpers)cmake_print_variables(MY_VARIABLE)

Dacă doriți să imprimați o proprietate, acest lucru este mult, mult mai frumos! În loc să obțineți proprietățile una câte una din fiecare țintă (sau alt element cu proprietăți, cum ar fi SOURCES, DIRECTORIES, TESTS sau CACHE_ENTRIES – proprietățile globale par să lipsească dintr-un motiv oarecare), puteți pur și simplu să le enumerați și să le obțineți tipărite direct:

cmake_print_properties( TARGETS my_target PROPERTIES POSITION_INDEPENDENT_CODE)

Tracking a run

Ați vrut să urmăriți exact ce se întâmplă în fișierul CMake și când? Caracteristica --trace-source="filename" este fantastică. Fiecare linie executată în fișierul pe care îl dați va fi redată pe ecran atunci când este executată, permițându-vă să urmăriți exact ce se întâmplă. Există și opțiuni conexe, dar acestea tind să vă îngroape în ieșire.

De exemplu:

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

Dacă adăugați --trace-expand, variabilele vor fi extinse în valorile lor.

Construirea în modul de depanare

Pentru generatoarele cu o singură configurație, puteți construi codul cu -DCMAKE_BUILD_TYPE=Debug pentru a obține indicatori de depanare. În generatoarele cu mai multe configurații, ca multe IDE-uri, puteți alege configurația în IDE. Există stegulețe distincte pentru acest mod (variabile care se termină în _DEBUG, spre deosebire de _RELEASE), precum și o valoare a expresiei generatorului CONFIG:Debug sau CONFIG:Release.

După ce faceți o compilare de depanare, puteți rula un depanator, cum ar fi gdb sau lldb pe acesta.

.

Lasă un răspuns Anulează răspunsul

Adresa ta de email nu va fi publicată. Câmpurile obligatorii sunt marcate cu *

Articole recente

  • Acela s-a întors: NYC sau Boston pentru 99 de dolari
  • Părinții lui Kate Albrecht – Aflați mai multe despre tatăl ei, Chris Albrecht, și despre mama ei, Annie Albrecht
  • Temple Fork Outfitters
  • Burr (roman)
  • Trek Madone SLR 9 Disc

Arhive

  • februarie 2022
  • ianuarie 2022
  • decembrie 2021
  • noiembrie 2021
  • octombrie 2021
  • septembrie 2021
  • august 2021
  • iulie 2021
  • iunie 2021
  • mai 2021
  • aprilie 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