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

标签 c++ visual-studio-2010 visual-c++-6

在调试使用 Visual Studio 6 构建的代码时,Visual Studio 2010 只能显示局部具体变量(即 int、bool 等)的值。

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

例如在下面的代码中,我可以看到的唯一变量是“var”。通过“查看”,我的意思是变量出现在“本地”或“自动”窗口中并带有一个值,我在工具提示中获得了一个值,或者当我在监 window 口中输入变量名称时解析了它。

似乎我看不到“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 代码?

最佳答案

我不记得 VC6 以前是怎么工作的;但在 VS2005 和更新的 Visual Studio 版本中,在调试时可以停靠不同的 View (选项卡/窗口)。

Watch、Auto(自动变量)、Locals、Callstack...

当您开始调试时,它们(应该)在“调试”菜单中可用。

关于c++ - 在 VS 2005 和 2010 中调试 VC6 代码时不显示大多数变量,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15074968/

相关文章:

c# - 当代码位于 Form1.Designer.cs 外部时,表格布局面板不会在屏幕上绘制(或工作)

javascript - 我应该如何在 VS 中为我​​自己的 javascript 库创建智能感知?

c++ - vc6到vs2010移植错误

c++ - 如何在 VC 6.0 中对结构数组进行排序

c++ - CSocket::OnReceive 同时调用

C++ 2D数组内存分配

c++ - constexpr 返回多维 C 样式数组的维度元组

c++ - 从一个值和一个大小创建递归函数参数列表

c++ - Mac 上的自制 GLFW/GLEW

c++ - 如何在 VS 2010 中自动链接依赖项的依赖项?