directory:添加源文件目录
l src.cpp:line_num可进入文件 如:l src.cpp:10
回车自动重复上一命令
一、gdb调试基本知识
a.调试器指示的是将要执行的代码行
b.只有在编译时拥有调试符号(-g)的程序才能在调试时看到源码
c.同一行上有多个断点时,gdb仅中断在断点号最小的那个断点上
d.断点可以设置在同一程序的不同文件中
e.在任何给定时间,gdb只有一个焦点,即当前“活动”的文件
f.源文件改变后,断点发生移动,带式断点属性的行号不变
二、GDB基本命令清单查询
在 gdb 提示符处键入help,将列出命令的分类,主要的分类有:
* aliases:命令别名
* breakpoints:断点定义;
* data:数据查看;
* files:指定并查看文件;
* internals:维护命令;
* running:程序执行;
* stack:调用栈查看;
* statu:状态查看;
* tracepoints:跟踪程序执行。
键入 help 后跟命令的分类名(如help aliases),可获得该类命令的详细清单。
三、GDB基本命令用法
1、运行退出
run(简写r):执行程序
(gdb)run app [argv1] [argv2] ...
run命令后可跟随发给该程序的任何参数,包括标准输入和标准输出说明符(<和>)和外壳通配符(*、?、[、])在内。
如果使用不带参数的run命令,gdb就再次使用前一条run命令的参数。
set args:设定传递给程序的参数
(gdb)set args [argv1] [argv2] ...
show args:查看其缺省参数的列表
(gdb)show args
kill(简写k):异常终止在gdb 控制下运行的程序
(gdb)kill
quit(简写q):退出gdb
(gdb)quit
2、查看信息
list(简写l):查看源码
(gdb) list line_num或l line_num,line_num为行号。
pirnt(简写p):
print var:查看变量var的值。
(gdb) print var
可以通过添加参数来设置输出格式:
/x 按十六进制格式显示变量
/d 按十进制格式显示变量
/u 按十六进制格式显示无符号整型
/o 按八进制格式显示变量
/t 按二进制格式显示变量
/a 按十六进制格式显示变量
/c 按字符格式显示变量
/f 按浮点数格式显示变量
例如:print /x var
print可以显示被调试的语言中任何有效的表达式。表达式除了包含程序中的变量外,还可以包含以下内容:
a).对程序中函数的调用
(gdb) print find_entry(1,0)
b).数据结构和其他复杂对象
(gdb) print *table_start
$8={e=reference=’