【正文】
= 105 主機(jī) ip地址及端口號(hào) [/mnt/yaffs/zxt]./gdbserver /dev/tts/0 hello Process hello created。 pid = 112 Remote debugging using /dev/tts/0 開(kāi)發(fā)板串口號(hào) 博創(chuàng)科技 嵌入互動(dòng) 169。 2021 博 創(chuàng)科技 在主機(jī)上啟動(dòng) armlinuxgdb ?在開(kāi)發(fā)板上啟動(dòng) gdbserver以后,第二步就是在主機(jī)上運(yùn)行 armlinuxgdb來(lái)啟動(dòng) gdb調(diào)試應(yīng)用程序,同樣針對(duì)于啟動(dòng)的連接方式不同選用不同的參數(shù) [root@localhost gccgdb] armv4lunknownlinuxgdb hello GNU gdb Copyright 2021 Free Software Foundation, Inc. GDB is free software, covered by the GNU General Public License, and you are wele to change it and/or distribute copies of it under certain conditions. Type show copying to see the conditions. There is absolutely no warranty for GDB. Type show warranty for details. This GDB was configured as host=i686pclinuxgnu target=armv4lunknownlinux... (gdb) 博創(chuàng)科技 嵌入互動(dòng) 169。 2021 博 創(chuàng)科技 啟動(dòng)遠(yuǎn)程調(diào)試功能 (gdb) target remote :1234 Remote debugging using :1234 0x40000d00 in ?? () (gdb) list 1 include 2 3 int main () { 4 5 int i。 6 for ( i =0。 i 10。 i++ ) 7 { 8 printf (helloworld.........NOM %d\n, i )。 9 } 10 return 0。 (gdb) 開(kāi)發(fā)板 ip地址及端口號(hào) (gdb) target remote /dev/ttyS0 啟用串口方式調(diào)試: 博創(chuàng)科技 嵌入互動(dòng) 169。 2021 博 創(chuàng)科技 設(shè)臵斷點(diǎn) (gdb) break main Breakpoint 1 at 0x20213a0: file , line 6. (gdb) break 8 Breakpoint 2 at 0x20213bc: file , line 8. (gdb) c Continuing. Breakpoint 1, main () at :6 6 for ( i =0。 i 10。 i++ ) (gdb) c Continuing. Breakpoint 2, main () at :8 8 printf (helloworld.........NOM %d\n, i )。 (gdb) 博創(chuàng)科技 嵌入互動(dòng) 169。 2021 博 創(chuàng)科技 使用 DDD可視化工具調(diào)試 ?使用 DDD進(jìn)行可視化調(diào)試和在終端中命令行調(diào)試的過(guò)程基本一致 ,都是要先啟動(dòng) gdbserver并指明調(diào)試連接方式 ?在啟動(dòng) gdb時(shí)使用下面的命令 ddd debugger armv4lunknownlinuxgdb hello 博創(chuàng)科技 嵌入互動(dòng) 169。 2021 博 創(chuàng)科技 博創(chuàng)科技 嵌入互動(dòng) 169。 2021 博 創(chuàng)科技 Linux軟件開(kāi)發(fā)流程 ?用編輯器( vi, emacs等)編輯源代碼 ?編輯 Makefile文件管理代碼 ?用編譯器編譯代碼 ?GDB 調(diào)試程序 博創(chuàng)科技 嵌入互動(dòng) 169。 2021 博 創(chuàng)科技