Hoppa till innehåll
Meny
CDhistory
CDhistory

Felsökning

Publicerat den november 20, 2021 av admin

Du kan behöva felsöka din CMake-byggnad eller felsöka din C++-kod. Båda behandlas här.

  • CMake debugging
  • Utskrift av variabler
  • Spårning av en körning
  • Bygga i felsökningsläge

CMake debugging

Först ska vi titta på sätt att debugga en CMakeLists eller annan CMake-fil.

Utskrift av variabler

Den gamla hederliga metoden med utskriftsanvisningar ser ut så här i CMake:

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

En inbyggd modul gör dock detta ännu enklare:

include(CMakePrintHelpers)cmake_print_variables(MY_VARIABLE)

Om du vill skriva ut en egenskap är detta mycket, mycket trevligare! Istället för att få fram egenskaperna en efter en för varje mål (eller annat objekt med egenskaper, som SOURCES, DIRECTORIES, TESTS eller CACHE_ENTRIES – globala egenskaper verkar saknas av någon anledning), kan du helt enkelt lista dem och få dem utskrivna direkt:

cmake_print_properties( TARGETS my_target PROPERTIES POSITION_INDEPENDENT_CODE)

Spårning av en körning

Har du velat titta exakt på vad som händer i din CMake-fil, och när? Funktionen --trace-source="filename" är fantastisk. Varje rad som körs i filen som du anger kommer att ekas till skärmen när den körs, så att du kan följa exakt vad som händer. Det finns relaterade alternativ också, men de tenderar att begrava dig i utdata.

Till exempel:

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

Om du lägger till --trace-expand kommer variablerna att expanderas till sina värden.

Bygga i felsökningsläge

För generatorer med en enda konfiguration kan du bygga koden med -DCMAKE_BUILD_TYPE=Debug för att få felsökningsflaggor. I generatorer med flera konfigurationer, som många IDE, kan du välja konfigurationen i IDE. Det finns tydliga flaggor för detta läge (variabler som slutar på _DEBUG i motsats till _RELEASE), samt ett generatoruttrycksvärde CONFIG:Debug eller CONFIG:Release.

När du har gjort en felsökningsbyggnad kan du köra en felsökare, t.ex. gdb eller lldb på den.

Lämna ett svar Avbryt svar

Din e-postadress kommer inte publiceras. Obligatoriska fält är märkta *

Senaste inläggen

  • Acela är tillbaka:
  • OMIM Entry – # 608363 – KROMOSOM 22q11.2 DUPLIKATIONSSYNDROM
  • Kate Albrechts föräldrar – Lär dig mer om hennes far Chris Albrecht och hennes mor Annie Albrecht
  • Temple Fork Outfitters
  • Burr (roman)

Arkiv

  • februari 2022
  • januari 2022
  • december 2021
  • november 2021
  • oktober 2021
  • september 2021
  • augusti 2021
  • juli 2021
  • juni 2021
  • maj 2021
  • april 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 | Drivs med WordPress och Superb Themes