在调试使用 Visual Studio 6 构建的代码时,Visual Studio 2010 只能显示局部具体变量(即 int、bool 等)的值。
Visual Studio 6 构建正在生成一个 pdb 文件,按照以下问题的建议选择“调试信息”和“Microsoft 格式”:Browse VC6 DLL variables content (DEBUG)
例如,在下面的代码中,我可以看到的唯一变量是“var”。“看到”是指变量出现在“Locals”或“Auto”窗口中并带有一个值,我在工具提示中得到一个值,或者当我在 Watch 窗口中输入变量名称时解析变量名称。
似乎我看不到“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 代码?