gdb调试笔记
一、gdb服務(wù)端配置:
(1)設(shè)置被搜索文件的路徑:
set solib-search-path ? ? /home/ti-sdk-am335x/filesystem/lib:/home/ti-sdk-am335x/filesystem/usr/lib(根據(jù)具體情況設(shè)置)
(2)設(shè)置被搜索文件路徑的前綴:
set solib-absolute-prefix /home/ti-sdk-am335x/filesystem/
(3)加載被調(diào)試的可執(zhí)行程序文件:
先編譯可執(zhí)行文件:shell make -s
將可執(zhí)行文件拷貝到掛載設(shè)備目錄下運(yùn)行:cp? app? /mnt
加載編譯好被調(diào)試的可執(zhí)行文件:file app
(4)遠(yuǎn)程連接設(shè)備端:
arm-linux-gdb app?
target remote 10.11.13.225:170?
二.設(shè)備端配置:
遠(yuǎn)程連接服務(wù)端:gdbserver 10.11.0.31:170? app
三.gdb常用調(diào)試命令:
1. kill 終止調(diào)試
2. return 函數(shù)返回
3. info threads 查看線程信息
4. info b 查詢斷點(diǎn)信息
5. clear 刪除斷點(diǎn)
6. break filename:line number 多文件設(shè)置斷點(diǎn)
7. thread apply all bt 查看所有現(xiàn)成堆棧信息
? ?set scheduler-locking on 只有當(dāng)前調(diào)試程序會(huì)執(zhí)行
8. p/x 十六進(jìn)制顯示變量值
9. finish 繼續(xù)執(zhí)行知道當(dāng)前函數(shù)結(jié)束
10.jump 跳到制定行
11.tbreak 設(shè)置臨時(shí)斷點(diǎn)
12.p a=5 給變量賦值
13.show scheduler-locking
14.set scheduler-locking on
15.thread num
16.list 查看后10行代碼 ?list - 查看前10行代碼
17.enter按鍵,重復(fù)上次命令
18.break func 在函數(shù)入口設(shè)置斷點(diǎn)
19.disable 讓指定的斷點(diǎn)失效 display 斷點(diǎn)號(hào)列表
20.enable 和disable作用相反
21.n 執(zhí)行單條語(yǔ)句
22.s 進(jìn)入函數(shù);
23.j(jump) n跳到第n行運(yùn)行
總結(jié)
- 上一篇: 嵌入式arm linux 文件系统登入密
- 下一篇: 拉格朗日差值法----算法学习