Linux下程序崩潰,ulimit,coredump,gdbserver
睿豐德科技 專注RFID識別技術和條碼識別技術與管理軟件的集成項目。質量追溯系統、MES系統、金蝶與條碼系統對接、用友與條碼系統對接
操作系統:Ubuntu10.04
前言:
在程序崩潰后,如何快速定位問題。
以下方法適用于開發調試階段,不太適用成品。
本文著眼于嵌入式,PC方面更簡單。
核心:gdbserver + coredump
一,安裝,配置,使用 gdbserver
arm linux下安裝gdb,gdbserver調試器
二,啟動 coredump
linux下ulimit命令下的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
RFID管理系統集成商 RFID中間件 條碼系統中間層 物聯網軟件集成