1、vscode啟動debug窗口
按Ctrl+Shift+D,打開Debug窗口
默認(rèn)是“No configurations”, 點擊“F5”,會提示你配置GDB參數(shù)(選擇gcc build and debug active file),配置文件名稱為launch.json(配置參考3)
配置完成后,再按F5, 會提示配置GCC,選擇“Configure Task”, 選擇“C/C++: build and debug active file”, 配置文件名稱為task.json(配置參考2)
2、GCC配置
{ ????//?See?https://go.microsoft.com/fwlink/?LinkId=733558? ????//?for?the?documentation?about?the?tasks.json?format ????"version":?"2.0.0", ????"tasks":?[ ????????{ ????????????"type":?"shell", ????????????"label":?"gcc?build?active?file", ????????????"command":?"/usr/share/mips-gcc-4.6/staging_dir/bin/mips-linux-gcc", ????????????"args":?[ ????????????????"-g", ????????????????"${file}", ????????????????"-o", ????????????????"${fileDirname}/${fileBasenameNoExtension}" ????????????], ????????????"options":?{ ????????????????"cwd":?"/usr/bin" ????????????}, ????????????"problemMatcher":?[ ????????????????"$gcc" ????????????] ????????} ????] }
“command”: 編譯鏈的地址
3、GDB配置
{ ????//?Use?IntelliSense?to?learn?about?possible?attributes. ????//?Hover?to?view?descriptions?of?existing?attributes. ????//?For?more?information,?visit:?https://go.microsoft.com/fwlink/?linkid=830387 ????"version":?"0.2.0", ????"configurations":?[ ????????{ ????????????"name":?"gcc?build?and?debug?active?file", ????????????"type":?"cppdbg", ????????????"request":?"launch", ????????????"miDebuggerServerAddress":?"192.168.0.1:10000", ????????????"program":?"/home/renyinshan/work/p53/apps/cmdlib/test", ????????????"args":?[], ????????????"stopAtEntry":?true, ????????????"cwd":?"/home/renyinshan/work/p53/apps/cmdlib/", ????????????"environment":?[], ????????????"externalConsole":?false, ????????????"MIMode":?"gdb", ????????????"setupCommands":?[ ????????????????{ ????????????????????"description":?"Enable?pretty-printing?for?gdb", ????????????????????"text":?"-enable-pretty-printing", ????????????????????"ignoreFailures":?true ????????????????} ????????????], ????????????"preLaunchTask":?"gcc?build?active?file", ????????????"miDebuggerPath":?"/home/renyinshan/work/p53/apps/gdb/install/bin/mips-linux-gdb" ????????} ????] }
“program”: 要調(diào)試的程序名(包含路徑,最好絕對路徑,免得麻煩)
“miDebuggerServerAddress”: 服務(wù)器的地址和端口
“cwd”: 調(diào)試程度的路徑
“miDebuggerPath”: gdb的路徑
4、GDB server編譯及運行
1)編譯
P53編譯時,請打開如下開關(guān); P59需要從編譯鏈目錄拷貝一個。
scripts/tozedap-router_4g_industry/config.tozedap-router_4g_industry:564:export?NO_CPP_LIB=0 GDB運行需要libstdc++.so.6的庫,所以需要把此開關(guān)打開。
./cool?3?gdb_build 等待完成即可
編譯完成后的文件如下:
renyinshan@renyinshan:~/work/p53/build$?ls?../apps/gdb/install/* ../apps/gdb/install/bin: mips-linux-gdb??mips-linux-gdb-add-index??mips-linux-run ../apps/gdb/install/include: gdb ../apps/gdb/install/lib: libmips-linux-sim.a ../apps/gdb/install/share: gdb??info??locale??man renyinshan@renyinshan:~/work/p53/build$?ls?../apps/gdb/installgdbserver/bin/ mips-linux-gdbserver renyinshan@renyinshan:~/work/p53/build$
說明:
install/bin 目錄的mips-linux-gdb為vscode中配置需要的;
installgdbserver/bin/ 目錄中的mips-linux-gdbserver,需要拷貝到板子中;
2)ssh登錄設(shè)備,下載gdbserver到/tmp目錄中, 并增加+x權(quán)限
3)ssh登錄設(shè)備,下載可執(zhí)行程序到/tmp目錄中, 并增加+x權(quán)限
4)運行
/tmp?#?./mips-linux-gdbserver?:10000?./test 調(diào)試輸出: /tmp?#?./mips-linux-gdbserver?:10000?test? Process?/tmp/test?created;?pid?=?22608 Listening?on?port?10000 Remote?debugging?from?host?192.168.0.245 APP?is?running!
備注說明:
1) 下載的可執(zhí)行程序,必須保證是設(shè)備所需編譯鏈編譯的;
2) vscode中按F5調(diào)試時,GCC編譯的配置和GDB參考1和2;
5、調(diào)試
準(zhǔn)備完成, 在VSCode進(jìn)行調(diào)試。
相關(guān)推薦:vscode教程