相关文章推荐

1、gdb enable pretty printing

  1. 启动gdb, 用info pretty-printer查看gdb是否支持pretty-printer
  2. 如果不支持则需要重新编译gdb:
    2.1、yum install python-devel -y
    2.2、./configure --prefix=/usr/local/gdb --with-python=/usr/bin/python2.7
    2.3、~/.gdbinit 中写入如下内容,其中 /usr/share/gcc-9.4.0/python 是python pretty printing目录,一般gcc都会自带,填上gcc自带的目录即可。如果没有也可以下载: svn co svn://gcc.gnu.org/svn/gcc/trunk/libstdc+±v3/python
python
import sys
sys.path.insert(0, '/usr/share/gcc-9.4.0/python')
from libstdcxx.v6.printers import register_libstdcxx_printers
register_libstdcxx_printers (None)
  1. 编译出来的gdb要加入环境变量,确保第一个被找到,然后就支持pretty-printer功能了

2、本机gdb 启动 本机进程 调试

  1. vscode菜单,运行–》添加配置–》c++(gdb/lldb)–》默认配置
  2. 会在 .vscode目录下,产生一个新的文件 launch.json
  3. 双击文件launch.json,可以看到文件内容,此时的配置内容是默认是 c/c++:(gdb)启动模式,意味着 会通过gdb 启动进程
  4. “program” 填写 可执行文件的全路径。例如:"/opt/dev/build/bin/hello_world"
  5. “args” 填写 传给可执行文件的启动参数。例如:“-a"
  6. F5就可以在vscode 下断点,调试了。大部分调试功能还是有的。比起gdb命令行操作简单些,且一次性可以看很多变量值

3、本机gdb attach 本机进程 调试

  1. 与2中步骤1,2,3相同操作
  2. 点击右下角 “添加配置”按钮
  3. 选择c/c++:(gdb)附加模式,同时注释不需要的 《(gdb)启动模式》配置
  4. “program” 填写 可执行文件的全路径。例如:"/opt/dev/build/bin/hello_world"
  5. “processId” 填写附加进程id
  6. F5就可以在vscode 下断点,调试了

4、本机gdb 连接远程gdbserver attach远程进程 调试

  1. 远程机器开启gdbserver,同时附加到被调试进程,gdbserver 0.0.0.0:2333 --attach pid
  2. 与2中步骤1,2,3相同操作
  3. 点击右下角 “添加配置”按钮,选择 c/c++:(gdb)启动模式。注释不需要的 《(gdb)启动模式》配置
  4. “program” 填写 可执行文件的全路径。这个路径是本机路径,不是远程机器路径。例如:"/opt/dev/build/bin/hello_world"
  5. “miDebuggerServerAddress”:“192.168.23.51:2333”,远程机器ip和远程gdbserver端口。
  6. “setupCommands” 另加入一组设置,用于看长字符串。
"text":"-interpreter-exec console \"set print elements 0\" ", "ignoreFailures":true

F5就可以在vscode 下断点,调试远程机器进程了


追加注意:
因为vscode启动调试时,默认是不重新编译源码的,所以很可能会导致调试的是老代码,然后很郁闷,我明明改了代码啊,为什么不起作用???
所以很有必要设置启动前编译源码!!!
终端 ->配置默认生成任务 -> 使用模板创建tasks.json文件 -> Others

"version":"2.0.0", "tasks":[ "label":"echo", "type":"shell", "command":"echo Hello"

按实际项目修改为如下样式

"version":"2.0.0", "tasks":[ "label":"build xxx",//自己定义 "type":"shell", "command":"make -j4",//数字根据机器配置 "options":{ "cwd":"/root/haha/source/build" //执行make -j4的全路径 "group":{ "kind":"build", "isDefault":true //默认任务

最后在 launch.json中,加入一个字段"preLaunchTask": “build xxx”,其中
“build xxx” 就是上面json中的label。
至此,调试前自动编译源码就实现了

1、gdb enable pretty printing 2、本机gdb 启动 本机进程 调试3、本机gdb attach 本机进程 调试4、本机gdb 连接远程gdbserver attach远程进程 调试
首先:我是在vscode 1.41.1版本下,Flutter 1.13.6版本测试wifi远程调试。 1,首先安装 ADB Commanads for VSCode扩展 并且必须确保ADB已经添加到系统环境变量中 如未添加请按照下面的方式添加,如添加请直接跳到下面。 2,添加环境变量 我将ADB安装到这个目录下,请查找自己的安装目录。 将这个目录添加到下面的图片中 到此环境变量安装完成。 3,连接真机 3.1,真机用usb连接电脑 3.2,在vscode中按快捷键 Ctrl + Shift + P 3.3, 选择 Disconnect from any devices 3.4,在选Rese
安装的插件有:cmake和cmaketool 安装后要在windows的系统环境变量path中插入bin环境 再将cmake的路径插入到vscode中的setting中:注意逗号!!!否则会出现json错误 如果进行调试对launch.json更改 version: 0.2.0, configurations: [ name: (gdb) Launch, type: cppdbg, 打开VSCode,在项目目录下按下F5,VSCode就会在目录下生成.vscode配置文件夹,修改其中的launch.json为如下代码 // Use IntelliSense to learn about possible attributes. // Hover to view descriptions of existing attributes. // For more information, visit: https://go.microsof
众所周知,VSCode是一个功能强大、跨平台的代码编辑器,而Apollo则是一个基于ROS的开发框架。在实际开发中,经常需要对Apollo进行断点调试,下面是如何在VSCode中进行Apollo的断点调试: 首先,在VSCode中安装插件“ROS”和“C++”,以便支持ROS和C++的开发环境。然后,在Apollo工程目录下找到“launch”文件夹,打开“dreamview.launch”文件,将“debug”参数改为“true”,这样就可以开启调试模式了。 接着,在VSCode中打开Apollo工程根目录,然后按下“Ctrl+Shift+P”打开命令面板,在命令面板中输入“ROS: Create New ROS Package”,然后输入包名称和包路径,并选择作用域,这样一个ROS包就创建好了。 接下来,找到“launch”文件夹下的“bootstrap.launch”文件,右键选择“Debug Apollo Bootstrap”,这样就开始了系统的debug。调试界面开启后,可以随意设置断点,并且可以查看变量的值和执行的过程,大大提高开发效率。 总之,在使用VSCode进行Apollo断点调试时,需要注意以下几点: 1. 安装好插件。 2. 更改“dreamview.launch”文件。 3. 创建ROS包。 4. 调试界面中设置断点、查看变量值和执行过程。 综上所述,VSCode断点调试Apollo是一项非常实用的工具,可以提高开发效率。需要注意一些细节,合理设置断点和调试环境,才能真正发挥这项工具的优势。
solve License Key is legacy format when use ACTIVATION_CODE activate jetbrains-product 2019.3.1 16526
 
推荐文章