码迷,mamicode.com
首页 > 数据库 > 详细

Linux下gdb调试

时间:2014-08-13 18:52:07      阅读:289      评论:0      收藏:0      [点我收藏+]

标签:gdb调试

关于gdb的其他客套话不多说,直接进入正题。


一、gdb基本命令列表

命令 解释 简写
file 装入想要调试的可执行文件
list 列出产生执行文件源代码的一部分 l
next 执行一行源代码但不进入函数内部 n
step 执行一行源代码而且进入函数内部 s
run 执行当前被调试的程序 r
continue 继续执行程序 c
quit 终止gdb q
print 输出当前指定变量的值 p
break 在代码里设置断点 b
info break 查看设置断点的信息 ib
delete 删除设置的断点 d
watch 监视一个变量的值,一旦值有变化程序停住 wa
help gdb中的帮助命令 h


二、gdb命令运用举例

1.新建一个源文件vi yrp.cc,源代码如下:

#include<iostream>
using namespace std;
void swap(int &a,int &b)
{
        int tmp;
        tmp=a;
        a=b;
        b=tmp;
}
int main()
{
        int i,j;
        cout<<endl<<"Input two int number:"<<endl;
        cin>>i>>j;
        cout<<"Before swap(),i="<<i<<" j="<<j<<endl;
        swap(i,j);
        cout<<"After swap(),i="<<i<<" j="<<j<<endl<<endl;
        return 0;
}


2.生成可执行文件g++ -g -o yrp yrp.cc  注意必须使用-g参数,编译会加入调试信息,否则无法调试执行文件.

bubuko.com,布布扣


3.启动调试gdb yrp

bubuko.com,布布扣


4.查看源文件list 1,(由第一行开始)回车重复上一次指令

bubuko.com,布布扣


5.设置调试断点break 16,在第16行设置断点,info break查看断点信息(简写ib)

bubuko.com,布布扣


6.调试运行输入run

bubuko.com,布布扣


7.单步调试step,进入函数内部

bubuko.com,布布扣


8.查看变量print  举例print b

bubuko.com,布布扣


9.查看函数堆栈bt,退出函数finish

bubuko.com,布布扣


10.继续运行直到下一个断点或主函数结束continue

bubuko.com,布布扣


11.退出调试quit

bubuko.com,布布扣




结束!






Linux下gdb调试,布布扣,bubuko.com

Linux下gdb调试

标签:gdb调试

原文地址:http://blog.csdn.net/yrp_ssdut/article/details/38538185

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!