參考**(並表示感謝)
首先通過ulimit –c
檢視 若為0,則不會產生對應的coredump,需要進行修改和設定。
ulimit -c unlimited
(可以產生coredump且不受大小限制),這種設定僅對當前生效;
因為core dump缺省會生成在程式的工作目錄,但是有些程式存在切換目錄的情況,導致core dump生成的路徑沒有規律,
所以最好是自己建立乙個資料夾,存放生成的core檔案。
我建立乙個mkdir ~/coredump
資料夾,在家目錄裡的coredump資料夾。
呼叫如下命令:
echo ~/coredump/core.%e.%p> /proc/sys/kernel/core_pattern
將更改core檔案生成路徑,自動放在這個~/coredump資料夾裡。
1、把arm板子裡的core檔案複製到ubuntu裡
2、用gdb除錯該core
由於我的交叉編譯工具裡面就有了gdb(大部分交叉編譯工具都有帶),所以我就直接用,也不用自己去交叉編譯乙個gdb,樓主之前嘗試過,失敗了!
由於大多數人都遇到開啟gdb後,除錯時出現問號這種情況。
出現原因和解決方法,這個博主寫得很清楚:
執行命令的格式:
gdb 可執行程式exe
(就是之前在板子上奔潰的程式)
進入gdb環境後
core-file core的名字(從板子上複製出來的core檔案)
一、由於官方已經提供了交叉編譯工具包裡面已經提供了gdb,所以我這裡就直接用
arm-poky-linux-gnueabi-gdb(如果需要自個交叉編譯gdb,推薦**:
用的是7.10.1 版本的原始碼包
–host=x86_64-pokysdk-linux
指定了編譯後的程式需要在x86執行
–target=arm-poky-linux-gnueabi
該引數的目的是讓配置程式知道,這個軟體被編譯後,用於處理什麼平台上的檔案的。所以說這個gdb是用於處理arm平台上的檔案
tar xvf gdb-7.10.1.tar.gz
cd gdb-7.10.1/
3、編譯
進入gdbserver檔案下編譯
cd /home/gec/m_gdb/gdb-
7.10
.1/gdb/gdbserver
編譯配置
.
/configure --target=arm-poky-linux-gnueabi --prefix=
/opt/gdbserver/
--host=arm-poky-linux-gnueabi
編譯
make & make install
結果:編譯過程可能遇到的問題:
解決方法:
不是到/m_gdb/gdb-7.10.1下配置,而是在/m_gdb/gdb-7.10.1/gdb/gdbserver檔案下配置把 生成的gdbserver工具複製到arm板上
arm-poky-linux-gnueabi-gdbserver
1、在arm板上通過gdbserver工具,執行錯誤應用程式 wifierro:
./arm-poky-linux-gnueabi-gdbserver 192.168.1.80:5555 wifierro
2、在虛擬機器ubuntu上執行gdb工具
arm-poky-linux-gnueabi-gdb ./wifierro
進入gdb後連線
(gdb) target remote 192.168.1.80:5555
可能遇到了大多數人都會遇到的問題
解決方法:
reading /lib/.debug/ld-2.23.so from remote target…
(no debugging symbols found)…done.
----------------》說明這個庫沒有找到
我們先不要慌
繼續按c允許程式
這時gdb告訴我們需要設定一下環境:
(dfb)
set solib-search-path /opt/fsl-imx-x11/4.1.15-2.1.0/sysroots/cortexa7hf-neon-poky-linux-gnueabi/usr/lib/
/opt/fsl-imx-x11/4.1.15-2.1.0/sysroots/cortexa7hf-neon-poky-linux-gnueabi/usr/lib/ 是通過尋找 /lib/.debug/ld-2.23.so ,找到這庫的路徑就可以解決gdb出現問號的問題
尋找/lib/.debug/ld-2.23.so
find / -name ld-2.23.so
Android應用程式的debug屬性
在開發android應用程式時,我們可以在 androidmanifest.xml 中設定其 debug 屬性,比如示例1 示例1 android icon drawable ic launcher android label android theme android debuggable tru...
Android應用程式的debug屬性
在開發android應用程式時,我們可以在 androidmanifest.xml 中設定其 debug 屬性,比如示例1 示例1 android icon drawable ic launcher android label android theme android debuggable tru...
Android應用程式的debug屬性
分享一下我老師大神的人工智慧教程!零基礎,通俗易懂!在開發android應用程式時,我們可以在 androidmanifest.xml 中設定其 debug 屬性,比如示例1 示例1android icon drawable ic launcher android label android the...