天天看點

Linux下程式崩潰,ulimit,coredump,gdbserver

作業系統:Ubuntu10.04

前言:

    在程式崩潰後,如何快速定位問題。

    以下方法适用于開發調試階段,不太适用成品。

    本文着眼于嵌入式,PC方面更簡單。

    核心:gdbserver + coredump

一,安裝,配置,使用 gdbserver

二,啟動 coredump

三,執行個體

    1,源碼

點選(此處)折疊或打開

#include <stdio.h>

#include <stdlib.h>

#include <string.h>

static    void    fun(char* a,char *b)

{

    strcpy(a,"hello world");

    strcpy(b,"wo shi zhong guo ren");

    printf("%s,%s\n",a,b);

}

int main(int argc,char *argv[])

    char temp[5] = {0};

    char temp2[5] = {0};

    fun(temp,temp2);

    return 0;

    2,結果

Linux下程式崩潰,ulimit,coredump,gdbserver

    3,通過gdbserver來檢視異常所在

        a,裝置,啟動gdbserver

Linux下程式崩潰,ulimit,coredump,gdbserver

        b,pc機,調試裝置中的程式

Linux下程式崩潰,ulimit,coredump,gdbserver

        c,pc機上的gdb中輸入where,定位異常

Linux下程式崩潰,ulimit,coredump,gdbserver

from:http://blog.chinaunix.net/uid-28458801-id-4349219.html

繼續閱讀