作業系統: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,結果
3,通過gdbserver來檢視異常所在
a,裝置,啟動gdbserver
b,pc機,調試裝置中的程式
c,pc機上的gdb中輸入where,定位異常
from:http://blog.chinaunix.net/uid-28458801-id-4349219.html