linux命令之gdb
来源:互联网 发布:淘宝互刷代付骗局 编辑:程序博客网 时间:2024/06/05 21:14
注:Linux下输入 * 号时,前面需要加\(转义符),即\*。因为Linux下的*代表所有文件。
启动gdb - gdb 程序名 [corefile]
corefile是可选的,但能增强gdb的调试能力。
Linux默认是不生成corefile文件的,所以需要在.bashrc文件中添加
ulimit –c unlimited(修改.bashrc文件后记得 . .bashrc 让修改生效)
为了能调试程序,makefile文件中,.c.o标号下需写为:(加上-g)
.c.o:
$(CC) -Wall -g -o $@ -c $<
如上图所示,make 编译链接,运行可执行文件时出错,此时发现多了core.5691文件,只能用gdb打开,gdb靠core文件提示你程序哪里出错。若用gdb –q mycal core.5691,即中间加上-q,可去除gdb版本号等信息。
或者可以先用gdb运行程序,再用run命令:
gdb mycal -q
runrun之后:
where 只显示出错的行的代码
list 显示出错的代码的上下十行内的代码,list也可以带参数
print i 显示变量i的值
break 设置断点
break linenum 在某一行设置断点
break funcname 在某个函数设置断点
break filename:linenum 在其他文件中某行设置断点
break filename:funcname 在其他文件中某函数设置断点
注:可以设置多个断点,info break 查看有多少断点,delete 删除一个断点
continue 从断点以后继续执行
改变一个变量的值
set variablevarname = value,varname是变量的名称,value是变量的新值。
即用以上命令使得动态改变变量的值。
单步调试
step命令: 每次执行一条语句,相当于step into
next命令: 当遇到一个函数,next将执行整个函数,相当于step over
return [value]命令:停止执行当前函数,相当于step return
注:gdb记住了最后一个被执行的命令,因此若需要重复执行某条命令,不需要每次都键入命令。
- linux 命令之 gdb
- linux命令之gdb
- linux命令之调试工具gdb
- linux gdb命令
- Linux, gdb 调试命令
- Linux--命令--gdb
- Linux GDB命令
- linux gdb基本命令
- LINUX gdb bt命令
- linux gdb调试命令
- gdb之x命令
- gdb之x命令
- linux下gdb调试之简单命令使用(一)
- linux之gdb基本调试命令和使用总结
- gdb和arm-linux-gdb命令详解
- gdb系列之三 GDB命令
- Linux之gdb学习
- linux c之gdb
- Java XML解析之SAX解析
- asp.net中,用Ajax实现客户端调用服务器端的函数(PageMethods)
- 使用CXF框架开发WebService客户端
- TabBarController简单介绍
- 关于数组的新理解
- linux命令之gdb
- Java Web学习(3):Win7 64位操作系统搭建Java Web开发环境
- 新浪云-使用 PHP-Resque 实现后台任务
- TP3.2.3 Dialog封装
- python学习——sorted
- 关于获取用户当前位置
- 如何正確的使用迴圈(使用for_each)
- PHP之正则函数
- 第一篇