您的位置:首页 > 其它

gdb调试core文件

2016-10-19 16:56 253 查看
nw.c

void test_function (void)
{
  unsigned char *ptr = 0x00;
  *ptr = 0x00;
}

int main (void)
{
  test_function();
  return 0;
}

-----------------------

gcc -g -o main nw.c

执行main,生成core文件:core.8229

-------------------------

gbd调试生成的core文件

如果core.8229 跟 main不在同一个目录下,那么把core.8229放到main同路径下面。

调试方法:

一、gdb [exec file] [core file]

具体:gdb main core.8229

Core was generated by `./main'.
Program terminated with signal 11, Segmentation fault.
#0 0x080483c4 in test_function () at nw.c:4
4 *ptr = 0x00;

(gdb) list test_function //使用list指令,查看test_function函数

(gdb) q //推出gdb调试

二、

gdb -core=[core file]
file [exec file]
具体:

gdb -core=main.8229

(gdb) file main
(gdb) r

(gdb) list test_function //使用list指令,查看test_function函数

(gdb) q //推出gdb调试

三、

gdb -c main.8229

(gdb) file main
(gdb) r

(gdb) list test_function //使用list指令,查看test_function函数

(gdb) q //推出gdb调试

四、

gdb -c main.8229 main

(gdb) r

(gdb) list test_function //使用list指令,查看test_function函数

(gdb) q //推出gdb调试

参考:http://blog.csdn.net/hanchaoman/article/details/5583457
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: