visual-studio-2017 - 防止 Visual Studio 2017 调试器混淆具有相同名称的静态变量
问题描述
我在 VS 2017 调试器中观察到以下现象:
如果在不同的文件中有两个同名和类型的静态变量,则会混淆两者。
变量声明的伪代码
文件A:
静态字符信息[2048];
文件B:
静态字符信息[64];
如果我调试文件 B,调试器会显示文件 A 的 msg 的内容。
我的猜测是,在开发调试器时没有预见到同名静态变量的情况,它显示的变量取决于编译顺序。
问题: VS 2017 调试器如何在不
更改正在调试的代码的情况下
“强制”访问当前调试文件的静态变量?
重命名变量的琐碎建议不是我的选择,恕我直言,也不是静态变量的精神。
解决方案
这是在VS2019 调试器下报告的相同问题,被多个具有相同名称的变量混淆,并于 20 年 11 月在 VS 2019 版本 16.8 中修复。
不幸的是,根据这个MSFT 的回复,目前或计划中没有对 VS 2017 的修复的反向移植。
VS 2017 的另一条评论中提出的一种解决方法是查找目标变量的内存地址,然后使用适当的演员表观察它。
推荐阅读
- sql - 请求其他表中至少有 2 条记录
- java - 创建文本文件并添加到 zip 文件并在本地服务器中下载 spring boot
- php - 如何在 PHP 中将 ByteArray 字符串转换为 NEO 地址?
- facebook - Facebook 私人回复回复未提供 user_id
- azure - 如何创建与 adla 的链接服务
- c++ - 我可以根据其 operator() 的签名专门化可变参数模板参数吗
- java - 集成总线添加外部 jar 异常
- google-cloud-platform - 如何将堆栈驱动程序日志导出到文件以进行本地处理?
- angular - LocationStrategy.pushState(state: any, title: string, url: string, queryParams: string) - 什么是状态?
- excel - 在 MS Excel 中导入访问表