gdb调试core文件与程序

来源:互联网 发布:网络音乐在线听歌曲 编辑:程序博客网 时间:2024/05/23 17:29


gdb的用法:

This is the GNU debugger.  Usage:    gdb [options] [executable-file [core-file or process-id]]    gdb [options] --args executable-file [inferior-arguments ...]


假设有个会core的小程序makecore.c

#include <stdio.h>int main(int argc, char *argv[]){    if (argc >= 2)        printf("argv: %s\n", argv[1]);    char *str = "";    str[100] = 'a';    printf("hello world\n");    return 0;}

编译加上 -g参数,用于调试:

gcc makecore.c -g


检查是否允许生成core file:

ulimit -a


设置允许生成core file:

ulimit -c unlimited


测试:

1.编译成程序a.out

2.运行a.out后,生成了core文件"core"


用法一(调试进程):



用法二(调试core file):



写在最后:

core是内存的映像,所以调试core文件和调试会core的进程是不一样的,这里不要混淆了。core文件已经包含了进程运行时的环境变量等。


原文出自:http://blog.csdn.net/daiyudong2020/article/details/53073969


End;

0 0
原创粉丝点击