Skip to content
Menu
CDhistory
CDhistory

Debuggaus

Posted on 20 marraskuun, 2021 by admin

Saatat joutua debuggaamaan CMake-rakentamistasi tai debuggaamaan C++-koodiasi. Molempia käsitellään tässä.

  • CMaken debuggaus
  • Muuttujien tulostaminen
  • Tracing a run
  • Koodin rakentaminen debug-tilassa

CMaken debuggaus

Katsotaan ensin tapoja debugata CMakeLists- tai muu CMake-tiedosto.

Muuttujien tulostaminen

Aika kunnioitettu tapa tulostuslauseiden käyttämiseen näyttää CMakessa tältä:

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

Mutta sisäänrakennettu moduuli tekee tästä vieläkin helpompaa:

include(CMakePrintHelpers)cmake_print_variables(MY_VARIABLE)

Jos haluat tulostaa ominaisuuden, tämä on paljon, paljon mukavampaa! Sen sijaan, että saisit ominaisuudet yksitellen jokaisesta kohteesta (tai muusta kohteesta, jolla on ominaisuuksia, kuten SOURCES, DIRECTORIES, TESTS tai CACHE_ENTRIES – globaalit ominaisuudet näyttävät jostain syystä puuttuvan), voit yksinkertaisesti listata ne ja saada ne tulostettua suoraan:

cmake_print_properties( TARGETS my_target PROPERTIES POSITION_INDEPENDENT_CODE)

Tracing a run

Oletko halunnut tarkkailla tarkalleen, mitä CMake-tiedostossasi tapahtuu ja milloin? --trace-source="filename"-ominaisuus on fantastinen. Jokainen antamasi tiedostossa ajettu rivi kaikuu näytölle, kun tiedosto ajetaan, jolloin voit seurata tarkalleen, mitä tapahtuu. Myös siihen liittyviä vaihtoehtoja on olemassa, mutta niillä on taipumus haudata sinut tulosteisiin.

Esimerkiksi:

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

Jos lisäät --trace-expand, muuttujat laajennetaan niiden arvoihin.

Koodin rakentaminen debug-tilassa

Yksittäisten konfiguraatioiden generaattoreissa voit rakentaa koodisi -DCMAKE_BUILD_TYPE=Debug:lla saadaksesi debuggausliput. Monikonfiguraatiogeneraattoreissa, kuten monissa IDE-ohjelmissa, voit valita konfiguraation IDE:ssä. Tätä tilaa varten on erilliset liput (muuttujat, jotka päättyvät _DEBUG:een toisin kuin _RELEASE), sekä generaattorin lausekkeen arvo CONFIG:Debug tai CONFIG:Release.

Kun teet debug-rakentamisen, voit ajaa debuggerin, kuten gdb:n tai lldb:n, sillä.

Vastaa Peruuta vastaus

Sähköpostiosoitettasi ei julkaista. Pakolliset kentät on merkitty *

Viimeisimmät artikkelit

  • Acela on palannut: NYC tai Boston 99 dollarilla
  • Temple Fork Outfitters
  • Burr (romaani)
  • Trek Madone SLR 9 Disc
  • Jokainen valmistunut 2016 NBA:n vapaa agenttisopimus yhdessä paikassa

Arkistot

  • helmikuu 2022
  • tammikuu 2022
  • joulukuu 2021
  • marraskuu 2021
  • lokakuu 2021
  • syyskuu 2021
  • elokuu 2021
  • heinäkuu 2021
  • kesäkuu 2021
  • toukokuu 2021
  • huhtikuu 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