【问题标题】:Preventing Visual Studio 2017 debugger from confusing static variables with equal name防止 Visual Studio 2017 调试器混淆具有相同名称的静态变量
【发布时间】:2021-03-08 06:11:23
【问题描述】:

我在 VS 2017 调试器中观察到以下现象:
如果在不同的文件中有两个同名同类型的静态变量,就会混淆两者。

变量声明的伪代码

文件 A:
静态字符信息[2048];

文件 B:
静态字符信息[64];

如果我调试文件 B,调试器会显示文件 A 的 msg 的内容。

我的猜测是在开发调试器时没有预见到同名静态变量的情况,它显示的变量取决于编译顺序。

问题:
VS 2017 调试器如何“强制”访问当前调试文件的静态变量而不更改正在调试的代码?

重命名变量的琐碎建议不是我的选择,恕我直言,也不符合静态变量的精神。

【问题讨论】:

  • 您好 user2961818,这个答案对您处理问题有帮助吗?如果对您处理和理解这个问题有帮助,请不要忘记accept it

标签: visual-studio-2017 visual-studio-debugging


【解决方案1】:

这与 VS2019 Debugger Confused by multiple variables with same name 下报告的问题相同,并于 20 年 11 月在 VS 2019 版本 16.8 中修复。

不幸的是,根据this MSFT 的回复,目前或计划中没有将修复程序向后移植到 VS 2017。

another comment 中针对 VS 2017 提出的一种解决方法是查找目标变量的内存地址,然后使用适当的类型转换 watch

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2018-01-31
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-03-06
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多