在VS 2005和2010中调试VC6代码时,大多数变量都不显示

时间:2013-02-25 19:33:47

标签: c++ visual-studio-2010 vc6

在调试使用Visual Studio 6构建的代码时,Visual Studio 2010无法显示除本地具体变量(即int,bool等)的值之外的任何内容。

Visual Studio 6版本正在生成pdb文件,根据以下问题的建议选择“调试信息”和“Microsoft格式”:Browse VC6 DLL variables content (DEBUG)

例如,在下面的代码中,我可以看到值的唯一变量是'var'。通过'see'我的意思是变量出现在“Locals”或“Auto”窗口中,带有一个值,我在工具提示中得到一个值,或者当我在Watch窗口中输入变量名时,它就被解析了。 / p>

似乎我看不到'num',因为它是函数的参数,我看不到'm_member',因为它是一个类成员。我看不到'stackMem'或'heapMem',因为它们不是简单的类型。

class MyClass
{
public:
MyClass() : m_member(0) {}
int aMethod(int num)
{
    m_member = m_member + num;
    return m_member;
}
private:
int m_member;
};

void main()
{
MyClass* heapMem = new MyClass();
MyClass stackMem;

int var = heapMem->aMethod(5);
var = stackMem.aMethod(10);
}

我能做些什么来更好地在VS 2010这样的新调试环境中调试旧的VC6代码吗?

1 个答案:

答案 0 :(得分:0)

我不记得VC6曾经如何工作;但是在VS2005和更新的Visual Studio版本中,调试时可以使用不同的视图(选项卡/窗口),您可以停靠。

观察,自动(自动变量),本地人,调用...

开始调试时,它们(应该)可以在Debug菜单中使用。