void fun() { int b = 0; b++; } int main(int argc, char** argv) { while (1) { int a = 0; a++; fun(); } }
main.cpp
1. 运行上面程序 ./main
2. 查看上面程序进程号, 假设为1234 ps aux | grep main
3. gdb调试, attach上面进程 gdbtui main 1234 (gdb [程序] [进程号])
4. 下面就和正常调试一样了,设断点 b [行号]
5. 调试开始 n
注意: 因为程序已经开始运行了, 不用在输run命令了.
在调试正在运行的程序, 如果想知道程序停在哪里了, 用如下步骤
1. 运行上面程序 ./main
2. 查看上面程序进程号, 假设为1234 ps aux | grep main
3. gdb调试, attach上面进程 gdbtui main 1234 (gdb [程序] [进程号])
4. 查看程序停在哪里了 bt