1.
$ openocd -f inte***ce/stlink-v2.cfg -f target/stm32f4x_stlink.cfg
啟動openocd server
2. 編寫.gdbinit指令碼
target remote localhost:3333
monitor reset
monitor halt
load
3.$ arm-none
-eabi
-gdb example.elf
4. (gdb) source .gdbinit
5. 設定斷點
b main
monitor reset halt
6. continue (這裡沒有run指令,只有c指令)
//注意設定斷點後,一定要執行monitor reset halt指令,否則不會停在斷點處!!!
openocd 操作stm32 flash命令:
1. openocd -f inte***ce/stlink-v2.cfg -f target/stm32f1x_stlink.cfg -c init -c "reset halt" -c "flash erase_address 0x08000000 0x40000" -c exit
清空從0x80000000位址開始,長度為40000的flash位址
2. openocd -f inte***ce/stlink-v2.cfg -f target/stm32f1x_stlink.cfg -c init -c "reset run" -c "mdw 0x08000000 0x10000" -c "exit"
將位址從0x80000000開始,長度為0x10000的內容列印到螢幕
20179.27
Unix Linux使用core檔案除錯程式
事實上,並不是只有sigsegv訊號產生coredump,還有下面一些訊號也產生 sigfsz 超過晚間長度限制 終止w core sigabrt 異常終止 abort 終止w core sigbus 硬體故障 終止w core sigemt 硬體故障 終止w core sigfpe 算術異常 終止...
使用gdb gdbserver除錯嵌入式程式
如果環境沒有提供交叉編譯程式gdbserver 可以參考交叉編譯步驟 是我除錯的例子,它在客戶端的執行命令如下.monitorall qws font wenquanyi 1.target 端 gdbserver multi 192.168.1.101 1234 啟動gdbserver,監聽192....
gdb pid 執行緒 gdb除錯多程序多執行緒程式
一 除錯的指令 1.list命令 list linenum 顯示程式第linenum行的周圍的程式 list function 顯示程式名為function的函式的源程式 list 顯示當前行後面的源程式 list 顯示當前行前面的源程式 2.run r 執行命令 run args run命令可以直...