在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...