vscode如何监视变量的值(vscode 预定义变量)

本篇文章给大家谈谈vscode如何监视变量的值,以及vscode 预定义变量对应的知识点,希望对各位有所帮助,不要忘了收藏本站喔。

本文目录一览:

vscode中调试c++代码怎么查看指定地址的一段内存数据

在 svode中通过配置可以编译和调试c++代码,但是只能看到变量的数据,还是10进制的。

设置一个指针变量指向该地址, 断点看该变量的值。

vscode如何监视变量的值(vscode 预定义变量),vscode如何监视变量的值,信息,文章,第1张

VSCode 调试

更全面的信息可以参考官方 调试手册 ,以下记录我用 VSCode 调试的一些经验。

想要在 VSCode 里调试,需要配置两个文件 tasks.json 和 launch.json 。

这两个文件按 F5 后会自动在 .vscode 目录下生成。

一般默认生成的 tasks.json 文件如下:

我们需要关注的选项有:

深入理解 tasks.json 文件的作用与 "command" 选项的用法,我们就能灵活地配置构建工程。

tasks.json 文件是用来构建工程的,当我们按 F5 进行调试时,VSCode 首先会执行 tasks.json 文件里 "command" 选项后的命令,并传入 "args" 参数,这样整个工程就被重新编译链接一遍了。

以 hello.c 文件和上述 tasks.json 为例,按 F5 进行调试时,最终会在命令行执行下述命令构建工程:

当然,如果一个工程有多个文件,"command" 就不能是简单的 gcc 了,需要根据实际的构建系统选择。

如果构建系统使用的是 Makefile ,那我们可以配置

这样在构建项目时就会使用命令

这跟我们平时使用 make 构建项目是一致的。

又比如配置 Zephyr 环境,

这样在构建项目时相当于执行命令

launch.json 文件用于配置调试环境。一般默认生成的文件如下:

我们需要关注的选项有:

VSCode 预定义了一些变量,可以在 Variables Reference 查看意思。

有时候我们的程序需要访问硬件资源,这一般需要 root 权限,而 VSCode 一般是在用户权限下启动的,这就需要特殊配置 VSCode 才能调试程序。

下面介绍如何利用 VSCode 以 root 权限调试程序。

首先需要注意到 launch.json 文件里的 "miDebuggerPath" 这个选项,它是调试器的路径,如果这个调试器可以以 root 权限运行,那么就达成了我们的目的了。

在 /home/user_name 目录下创建文件 gdb,user_name 需要替换为实际的用户名。

然后编辑该文件 vim gdb ,加入下述内容:

给 gdb 添加执行权限,

在修改 "miDebuggerPath" 成为

即可。这样我们就可以在 VSCode 里以 root 权限调试程序了,只不过每次都需要输入密码,因为有一个 sudo 过程。

为了解决这个麻烦,我又在网上找到了方法,将 /home/user_name/gdb 加入 sudo 的免密认证即可。

输入

编辑 /etc/sudoers 文件,修改成下述内容即可,

其中 jackis 是我的用户名,需要根据实际用户名替换。

NOPASSWD: 后的命令 sudo 时都不需要密码。退出 Shell,再重新打开一个命令行界面,输入 sudo apt update ,会发现没有提示输入密码了。

参考:

How to debug programs with “sudo” in VSCODE

How to Run sudo Commands Without Password

vscode查看堆内存

vscode可以查看堆内存。根据查询相关公开信息显示,vscode可以监听到变量,看不到内存里的格式,是可以通过HexEditor这个插件,来查看内存。

vscode如何监视变量的值的介绍就聊到这里吧,感谢你花时间阅读本站内容,更多关于vscode 预定义变量、vscode如何监视变量的值的信息别忘了在本站进行查找喔。

1、本网站名称:源码村资源网
2、本站永久网址:https://www.yuanmacun.com
3、本网站的文章部分内容可能来源于网络,仅供大家学习与参考,如有侵权,请联系站长进行删除处理。
4、本站一切资源不代表本站立场,并不代表本站赞同其观点和对其真实性负责。
5、本站一律禁止以任何方式发布或转载任何违法的相关信息,访客发现请向站长举报
6、本站资源大多存储在云盘,如发现链接失效,请联系我们我们会第一时间更新。
源码村资源网 » vscode如何监视变量的值(vscode 预定义变量)
您需要 登录账户 后才能发表评论

发表评论

欢迎 访客 发表评论