Skip to content
Menu
CDhistory
CDhistory

Hibakeresés

Posted on november 20, 2021 by admin

Szükséged lehet a CMake builded vagy a C++ kódod hibakeresésére. Mindkettővel foglalkozunk itt.

  • CMake hibakeresés
  • Változók nyomtatása
  • Futtatás nyomon követése
  • Building in debug mode

CMake hibakeresés

Először nézzük meg, hogyan hibakereshetünk egy CMakeLists vagy más CMake fájlt.

Változók nyomtatása

A CMake-ben a nyomtatási utasítások időtálló módszere így néz ki:

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

Egy beépített modul azonban még egyszerűbbé teszi ezt:

include(CMakePrintHelpers)cmake_print_variables(MY_VARIABLE)

Ha egy tulajdonságot akarunk kiírni, ez sokkal, de sokkal szebb! Ahelyett, hogy egyesével megkapnád a tulajdonságokat minden egyes célpontról (vagy más tulajdonságokkal rendelkező elemről, mint például SOURCES, DIRECTORIES, TESTS vagy CACHE_ENTRIES – a globális tulajdonságok valamiért úgy tűnik, hiányoznak), egyszerűen felsorolhatod őket, és közvetlenül kiírathatod:

cmake_print_properties( TARGETS my_target PROPERTIES POSITION_INDEPENDENT_CODE)

Futtatás nyomon követése

Ha szeretted volna pontosan megnézni, hogy mi történik a CMake fájlodban, és mikor? A --trace-source="filename" funkció fantasztikus. Minden egyes sor lefutása a fájlban, amit megadsz, a képernyőre visszhangzik a futtatáskor, így pontosan követheted, hogy mi történik. Vannak kapcsolódó opciók is, de ezek hajlamosak eltemetni a kimenetbe.

Például:

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

Ha hozzáadod a --trace-expand-t, a változókat kibontja az értékeikre.

Building in debug mode

Egyetlen konfigurációjú generátoroknál a -DCMAKE_BUILD_TYPE=Debug segítségével építheted a kódodat, hogy debugging flageket kapj. A többkonfigurációs generátoroknál, mint sok IDE-nél, az IDE-ben választhatod ki a konfigurációt. Erre a módra külön zászlók vannak (_DEBUG-ra végződő változók, szemben a _RELEASE-vel), valamint a generátor kifejezés értéke CONFIG:Debug vagy CONFIG:Release.

Mihelyt hibakeresési buildet készítesz, futtathatsz rajta egy hibakeresőt, például a gdb-t vagy az lldb-t.

Vélemény, hozzászólás? Kilépés a válaszból

Az e-mail-címet nem tesszük közzé. A kötelező mezőket * karakterrel jelöltük

Legutóbbi bejegyzések

  • Az Acela visszatért: New York vagy Boston 99 dollárért
  • OMIM bejegyzés – # 608363 – CHROMOSOME 22q11.2 DUPLICATION SYNDROME
  • Kate Albrecht szülei – Tudj meg többet apjáról Chris Albrechtről és anyjáról Annie Albrechtről
  • Temple Fork Outfitters
  • Burr (regény)

Archívum

  • 2022 február
  • 2022 január
  • 2021 december
  • 2021 november
  • 2021 október
  • 2021 szeptember
  • 2021 augusztus
  • 2021 július
  • 2021 június
  • 2021 május
  • 2021 április
  • 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