前言
qtcreator也有类似功能,但是vscode比较熟悉,还是选择微软官方提供的Remote Development插件吧,真的非常非常好用!
VsCode配置
点击“调试” ->“添加配置”,然后选择“C++(GDB/LLDB)”选项,
会在当前文件夹新建一个名为“launch.json”的文件,此文件会存放在.vscode 目录下,
{ // 使用 IntelliSense 了解相关属性。 // 悬停以查看现有属性的描述。 // 欲了解更多信息,请访问: https://go.microsoft.com/fwlink/?linkid=830387 "version": "0.2.0", "configurations": [ { "name": "platform", "type": "cppdbg", "request": "launch", "program": "/home/book/Downloads/hi3995_tools/Hi3559AV100_SDK_V2.0.3.1/mpp/sample/venc/platform", "args": [], "stopAtEntry": false, "cwd": "${fileDirname}", "environment": [], "externalConsole": false, "MIMode": "gdb", "setupCommands": [ { "description": "为 gdb 启用整齐打印", "text": "-enable-pretty-printing", "ignoreFailures": true } ], "miDebuggerServerAddress":"192.168.119.200:2001", "miDebuggerPath":"/usr/bin/gdb-multiarch" // "miDebuggerPath":"/home/book/Downloads/hi3995_tools/Hi3559AV100_SDK_V2.0.3.1/mpp/gdb-8.3/install/bin/hisigdb" } ] }
launch.json 文件中有几个项目是需要我们根据实际情况配置的:
①、 name:调试的项目名
②、 program:需要调试的应用程序可执行文件路径。
③、 cwd:需要调试的应用程序源码路径。
④、 miDebuggerPath:此项需要手动添加,用于指定所使用的交叉编译器 gdb 路径。(并不是板子上gdb地址!!!)
⑤、 miDebuggerServerAddress:此项需要手动添加,远程 gdbserver 服务器地址
miDebuggerPath需要重点强调!并不是ubuntu默认的gdb路径,因为ubuntu的gdb是基于x86的,arm强行远程调试会直接报格式错误,虽然命令行界面可以勉强调试,但是插件就没有这么智能了
解决办法
需要下载gdb-multiarch
PC执行sudo apt-get install gdb-multiarch
配置sysroot
set sysroot /opt/hisi-linux/x86-arm/gcc-arm-none-eabi-4_9-2015q3/lib
将gdb-multiarch的绝对路径添加到配置文件中
调试方法
和常见IDE的在线调试方法是基本一致的
1、控制程序运行
首先肯定是如何控制程序运行,在 VSCode 上方居中的位置有如图所示控制面板
可以看出,一共有 6 个控制按钮,这 6 个按钮从左往右功能及快捷键依次如下:
①、继续按钮,快捷键为 F5,用于控制程序的运行和暂停,程序运行到断点暂停以后可以
按下此按钮继续运行。
②、单步跳过按钮,快捷键为 F10。
③、单步调试按钮,快捷键为 F11。
④、单步跳出按钮,快捷键为 Shift+F11。
⑤、重启按钮,快捷键为 Ctrl+Shift+F5。
⑥、停止按钮,快捷键为 Shift+F5
2、断点添加
添加断点的方式也很简单,在需要添加断点的行前面,直接点击即可添加或取消断点,断点添加成功以后会在所在行前面显示一个小红点,
3、监视变量
有时候我们需要监视一个变量的变化,这个也很简单,鼠标双击选中需要监视的变量名
上,然后点击鼠标右键,选择“调试:添加到监视器”,