cmake中加入gdb除錯

2021-09-28 21:23:05 字數 598 閱讀 5749

在cmakelists.txt中加入對gdb支援的語句:

# 新增對gdb的支援

set(cmake_build_type "debug"

)set

(cmake_cxx_flags_debug "$env -o0 -wall -g2 -ggdb"

)set

(cmake_cxx_flags_release "$env -o3 -wall"

)

然而,出現了問題,加入的斷點不生效。gdb命令列除錯也不起作用。

工程目錄如下:

我的錯誤在於:在根目錄的cmake檔案中新增了gdb除錯語句,但是在src資料夾下的cmake檔案中沒有新增。

正確的做法是:僅在src資料夾下的cmake語句中新增即可

-g選項並不是將源**嵌入到目標檔案中,gdb除錯的時候也需要原始檔。

所以應該在源檔案目錄下的cmake檔案中新增相應語句,使得gdb除錯時,源**與可執行檔案中的機器**能夠對應的上。

CMake編譯加入GDB除錯資訊

1 set cmake build type debug 2 set cmake cxx flags debug env o0 wall g2 ggdb 3 set cmake cxx flags release env o3 wall 在cmakelists.txt中加入這三行 cmake 中有乙...

Makefile中加入gdb除錯選項

makefile檔案示例 target hello.o example.o main target cc c main target tab縮排開頭 main.o your.h clean.o your.h phony clean clean rm target tab縮排開頭,以下同理 加入 g在...

cmake編譯時支援gdb除錯

一般在呼叫.configure時,可以通過設定cxxflags或者cflags使程式可以支援除錯,就是可以用gdb檢視程式執行的資訊,但在cmake編譯時,在cmake過程和後面的make及make install都無法加入除錯資訊。當然可以加入除錯資訊的,方法如下 修改cmakelists.txt...