gdb调试(c++)

run(r)

运行
start 开始执行程序,停在main函数第一行语句前面等待命令
查看代码  
list(l) 列出附近代码
断点  
break sum 在函数sum入口设置断点
break 1  在第一行设置断点
break *0x80 在地址0x80处设置断点
delete 1 删除断点1
break info 查看断点信息
执行  
next(或n) 执行下一行语句
step(或s) 执行下一行语句,如果有函数调用则进入到函数中
finish 连续运行到当前函数返回为止,然后停下来等待命令
continue 继续执行,相对break
检查代码 和 数据  
print result 查看result变量值
set resule = 0 设置变量的值
   
backtrace(bt) 查看各级函数调用及参数
frame(f) eg: f 1 选择栈帧
info locals 查看当前帧的局部变量值
info frame 有关当前栈帧的信息
info regisiters 所有寄存器的值
退出  
quit 退出gdb调试
   
   
   
 



g++ -g main.cpp -o main 

gdb main

set args (1 2)

例子参考:http://www.cnblogs.com/hankers/archive/2012/12/07/2806836.html

命令参考:http://www.jb51.net/article/36393.htm

在某些时候,很有可能你的变量和GDB中的参数冲突,如:
    
        (gdb) whatis width
        type = double
        (gdb) p width
        $4 = 13
        (gdb) set width=47
        Invalid syntax in expression.

    因为,set width是GDB的命令,所以,出现了“Invalid syntax in expression”的设置错误,此时,你可以使用set var命令来告诉GDB,width不是你GDB的参数,而是程序的变量名,如:
    
        (gdb) set var width=47
        
    另外,还可能有些情况,GDB并不报告这种错误,所以保险起见,在你改变程序变量取值时,最好都使用set var格式的GDB命令。


阅读更多
文章标签: 调试
个人分类: c++
想对作者说点什么? 我来说一句

GDB调试命令大全

2014年11月26日 3KB 下载

GDB调试GDB调试

2010年08月04日 1.95MB 下载

linux c/c++ gdb调试手册

2016年05月23日 227KB 下载

没有更多推荐了,返回首页

不良信息举报

gdb调试(c++)

最多只允许输入30个字

加入CSDN,享受更精准的内容推荐,与500万程序员共同成长!
关闭
关闭