GDB调试多文件程序
比如说我在main.c里调用sayhello.c里实现的函数say_hello(),应该怎么跟踪呢?
列出文件main.c内容 查看say_helo的行数
list main.c:line_number
在文件main.c的第line_number行设置断点
break main.c:line_number
走到say_hello的时候,用s进入say_hello
然后用next单步跟踪
gdb调试多文件工程加断点
break filename:lineNum
正确设置方法:
1. b StrParser::LocalSegment
2. b str_parser.cpp:1361 (StrParser::LocalSegment所在行)
GDB的图形界面命令:focus
快捷键:ctrl+x+a
GDB调试加参数
例如一个程序名为prog 参数为 -l a -C abc
则,运行gcc/g++ -g prog.c/cpp -o prog
就可以用gdb调试程序prog
#gdb prog
进入gdb调试界面
输入参数命令set args 后面加上程序所要用的参数,注意,不再带有程序名,直接加参数,如:
set args -l a -C abc
回车后输入
r
即可开