gdb是什么?它是一個在unix環(huán)境下的命令行調(diào)試工具。
在mac可用嗎?可以,但是設(shè)置toolchain的簽名,相對比較麻煩,可以看一下這個教程。如果使用mac更加推薦使用docker。
無論是用g++還是clang++編譯,如果想要使用gdb調(diào)試,都需要在編譯的時候加上-g選項。
基本命令:
進入:
gdb 你的可執(zhí)行程序設(shè)置斷點:
b 函數(shù)名,也還有用地址之類的,我們暫時不會用到,先不管運行: run
單行執(zhí)行:n,這里的單行包括單行的函數(shù);
單行執(zhí)行:s,相當(dāng)于step into,如果有函數(shù)會進入到函數(shù)里面;
打?。?code>p 變量,也就是print的意思;
繼續(xù)執(zhí)行:c,會執(zhí)行到下一個斷點或者到程序結(jié)束;
描述某個地址的符號:
info symbol 地址