http://blog.csdn.net/wanruirui/article/details/5905328 2010 打印堆栈 bt(backtrace) 查看代码 根据行号 list xx 查看xx行代码 查看调试所处范围(当前侦) frame 断点 添加断点 根据行号添加 break xx,在xx行添加断点 break +xx, 在当前行前面xx行添加断点 break -xx, 在当前行后面xx行添加断点 根据文件名和行号添加 break file:linenum 在文件file的第linenum加断点 根据文件名和函数名添加断点 break file:function 在文件file的fucntion函数的入口处停止 根据条件停止 break if [condition] 观察点 watch 为表达式(变量)expr设置一个观察点。一量表达式值有变化时,马上停住程序。 rwatch 当表达式(变量)expr被读时,停住程序。 awatch 当表达式(变量)的值被读或被写时,停住程序。 info watchpoints 列出当前所设置了的所有观察点。 display expretion 观察expretion的值 info display 查看display状态 临时查看变量 print expretion [format] 或者p 按照format来打印expretion的值,如/x就是16进制打印 -------格式如下--------------- x 按十六进制格式显示变量。 d 按十进制格式显示变量。 u 按十六进制格式显示无符号整型。 o 按八进制格式显示变量。 t 按二进制格式显示变量。 a 按十六进制格式显示变量。 c 按字符格式显示变量。 f 按浮点数格式显示变量。 p *array@len 查看指针所指的len个变量 运行时修改变量值 查看内存 examine/x[n/f/u] n 是一个正整数,表示显示内存的长度,也就是说从当前地址向后显示几个地址的内容。 f 表示显示的格式,参见上面。 如果地址所指的是字符串,那么格式可以是s,如果地十是指令地址,那么格式可以是i。 u 表示从当前地址往后请求的字节数,如果不指定的话,GDB默认是4个bytes。 u参数可以用下面的字符来代替,b表示单字节,h表示双字节,w表示四字节,g表示八字节。 当我们指定了字节长度后,GDB会从指内存定的内存地址开始,读写指定字节,并把其当作一个值取出来。 单步执行 continue [ignore-count] c[ignore-count] fg[ignore-count] 恢复程序运行,直到程序结束,或是下一个断点到来。 ignore-count表示忽略其后的断点次数。continue,c,fg三个命令都是一样的意思。 step 单步跟踪,进入函数体 next 单步,不进入函数体 跳出函数 until或u 结束调试 finish |
|