gpt4 book ai didi

visual-studio - 在 Visual Studio 调试器中查看命名空间全局变量?

转载 作者:行者123 更新时间:2023-12-04 05:55:09 26 4
gpt4 key购买 nike

在 Visual Studio 2008 中调试非托管 C++ 项目时,我偶尔想查看一个全局变量的值。我们没有很多这些,但那些都在一个名为“全局”的命名空间中声明。例如

namespace global
{
int foo;
bool bar;

...
}

问题是当代码在断点处停止时,默认的调试工具提示(指向变量名)和 quickwatch(变量名上的 shift-f9)不考虑命名空间,因此不会工作.

例如,我可以指向 'foo' 而什么也没有出现。如果我在 foo 上按 shift-f9,它会显示 quickwatch,然后显示“CXX0017:错误:未找到符号“foo””。我可以通过在 quickwatch 窗口中手动编辑变量名称来解决这个问题,在它前面加上“global::”(考虑到你每次想要 quickwatch 都必须这样做,这很麻烦),但没有修复工具提示我可以解决。设置项目属性的“默认命名空间”无济于事。

我如何告诉 VS 调试器使用它已经知道变量声明的命名空间(因为它在那里有声明),或者,如果没有找到,告诉它一个默认命名空间来查找变量他们?

我的 google-fu 未能找到答案。 This report列出了同样的问题,MS 说这是“设计使然”,但即便如此,我还是希望有一些方法可以解决它(也许巧妙地使用 autoexp.dat?)

最佳答案

在源代码中使用包含命名空间的全名为我解决了这个问题。

例如:写

global::bar = (global::foo==0)

代替
bar = (foo==0)

关于visual-studio - 在 Visual Studio 调试器中查看命名空间全局变量?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2983316/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com