编译生成可执行文件:(Linux下)
如果你写了makefile,记得要在makefile里面加-g选项,不然调试的时候是打不出源码相关信息的。
xxx/test> cc -g tst.c -o tst使用GDB调试:
xxx/test> gdb tst <---------- 启动GDB
(gdb) l <-------------------- l命令相当于list,从第一行开始例出原码
(gdb) <-------------------- 直接回车表示,重复上一次命令
(gdb) break 16 <-------------------- 设置断点,在源程序第16行处。
(gdb) break func <-------------------- 设置断点,在函数func()入口处。
(gdb) info break <-------------------- 查看断点信息。
(gdb) r <--------------------- 运行程序,run命令简写
(gdb) n <--------------------- 单条语句执行,next命令简写。
(gdb) p i <--------------------- 打印变量i的值,print命令简写。
(gdb) bt <--------------------- 查看函数堆栈。
(gdb) finish <--------------------- 退出函数。
(gdb) c <--------------------- 继续运行。
(gdb) q <--------------------- 退出gdb。