调试启动无参程序
例如:
$ gdb helloWorld
(gdb)
输入run命令,即可运行程序
调试启动带参程序
假设有以下程序,启动时需要带参数:
编译:
$ gcc -g -o hello hello.c
这种情况如何启动调试呢?需要设置参数:
$ gdb hello
(gdb)run 编程珠玑
Starting program: /home/shouwang/workspaces/c/hello 编程珠玑
Hello World 编程珠玑!
[Inferior 1 (process 20084) exited normally]
(gdb)
只需要run的时候带上参数即可。
或者使用set args,然后在用run启动:
$ gdb hello
(gdb) set args 编程珠玑
(gdb) run
Starting program: /home/hyb/workspaces/c/hello 编程珠玑
Hello World 编程珠玑!
[Inferior 1 (process 20201) exited normally]
(gdb)
(gdb) l 1 <-------------------- l命令相当于list,从第一行开始列出源码。 (gdb) <-------------------- 直接回车表示,重复上一次命令 (gdb) break 16 <-------------------- 设置断点,在源程序第16行处。 (gdb) break func <-------------------- 设置断点,在函数func()入口 (gdb) info break <-------------------- 查看断点信息 (gdb) r <--------------------- 运行程序,run命令简写 (gdb) n <--------------------- 单条语句执行,next命令简写 (gdb) c <--------------------- 继续运行程序,continue命令简写 (gdb) p i <--------------------- 打印变量i的值,print命令简写 (gdb) bt <--------------------- 查看函数堆栈 (gdb) c <--------------------- 继续运行 (gdb) q <--------------------- 退出gdb |
gdb |
gdb |