栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Python

linux下用vscode断点调试,完美查看变量

Python 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

linux下用vscode断点调试,完美查看变量

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)
end
  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 下断点,调试远程机器进程了

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/331095.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号