GDB处理linux下crash问题

来源:互联网 发布:仿微信钱包html源码 编辑:程序博客网 时间:2024/05/16 14:12

1.保证你编译的程序加上了-g选项

比如g++ -g test.cpp -o test

2.保证你打开了coredump文件限制开关,否则不能生成core文件,如果可以运行程序,可以在gdb里面运行gdb test也可以得到运行栈。

$ulimit -c unlimited

gdb常用命令列表


1.当程序出现core dump时,使用下面的命令调试:

     gdb 程序名 core.1234  或

     gdb core.1234

2.使用下面命令查看出错点:

     bt

3. q 退出


4. kill 终止调试的程序


5. h help 帮助


6. <tab> 命令补全功能


7. step 跟入函数


8. next 不跟入函数

9.l list 列出代码:一次列10 行.连接使用list将会滚动显示.也可以在list后面跟上 文件名:行号


10.watch 变量名:观察一个变量的值,每次中断时都会显示这个变量的值

 

11.info threads:查看运行的线程。

 

12.thread 1:切换到线程1.

 

13.bt:打印当前的函数调用栈的所有信息。

 

14.bt 5:只打印栈顶上5层的信息。

 

15.bt -5:只打印栈底下5层的信息。

 

16.frame 0:切换当前栈到第0层。

 

17.up 1:栈往上移动1层。

 

18.down 1:栈往下移动1层。

 

19.info frame:打印当前栈的详细信息。

 

20.info args:打印当前函数的参数名和值。

 

21.info locals:打印当前函数中所有局部变量及其值。

 

22.info  catch:打印当前函数的异常处理信息。

 

23.list 5:显示程序第5行周围的源代码。

 

24.list get:打印函数名位get的函数的源代码。

 

25.list :显示当前行后面的源代码。

 

26.list -:显示当前行前面的源代码。

 

27.set listsize 5:设置一次显示源代码的行数。

 

28.show listsize:显示源代码的行数的值。

29. info b :显示所有断点

30.delete num: 删除断点


原创粉丝点击