7
当停在main()的断点处时,我可以手动添加全局变量的名称来观察窗口,但是我想要的是如何显示所有全局变量的列表,因为我使用的是外部库,它包含许多静态的东西。 这可能吗? 在此先感谢!如何在Visual Studio的监视窗口(对于C++)列出并观察所有全局变量?
当停在main()的断点处时,我可以手动添加全局变量的名称来观察窗口,但是我想要的是如何显示所有全局变量的列表,因为我使用的是外部库,它包含许多静态的东西。 这可能吗? 在此先感谢!如何在Visual Studio的监视窗口(对于C++)列出并观察所有全局变量?
问题是你不知道全局变量名? 或者是你想查看许多全局变量并且不想在监视窗口中一遍又一遍地输入它们的问题? 现在我假设第二个。我还假设你的外部库是.LIB库而不是.DLL。
您可以编写一个类,该类包含您想要观察的每个全局变量的一个成员,将其作为引用,并在启动时构建该类的实例,并将全局变量分配给引用成员,如下所示:
class MyGlobalVariableClass
{
public:
MyGlobalVariableClass()
: m_var1(globalVariable1OfExternalLibrary)
, m_var2(globalVariable2OfExternalLibrary)
{}
private:
long &m_var1;
double &m_var2;
};
MyGlobalVariableClass myGlobalVariableInstance;
现在,您只需在观察窗口中输入myGlobalVariableInstance,展开它,并且您将看到它的所有成员,从而看到所有全局变量。
这个技巧假定你知道全局变量的所有名字。 如果不这样做,可以尝试使用DUMPBIN来调查外部库的LIB的内容,并尝试从DUMPBIN的输出中扣除变量名称。
这个把戏做得很好! – tiboo 2010-06-10 07:27:22