调试“一行”方法

时间:2011-04-10 21:25:13

标签: c++ visual-studio debugging visual-c++

想象(在头文件中):

int getInt() { return m_intValue; }

int getInt() 
{
    return m_intValue;
}

如何调试第一个示例,以查看m_intValue? 在示例2中,我可以在第一行设置断点,按F10(跳过),然后看到(在悬停m_intValue之后)m_intValue中的内容。或者只需在return m_intValue行添加BP。

但是当我在第一版中将BP置于行时,我看不到m_intValue的调试信息。

这个例子只是示范性的。我知道我可以看到价值,我称之为getInt(参见返回值)。但是在更复杂的情况下(例如由于某些事情超出范围而返回值)我真的希望在处理返回时看到m_intValue

希望你理解我的问题。

谢谢!

1 个答案:

答案 0 :(得分:3)

您将使用错误的代码设置断点。它在函数入口点中断,变量尚未初始化。如果要调试这些访问器,您肯定希望采用第二种编码风格。你不应该,它没有错误。

如果确实需要使用第一个代码段中编写的代码检查对象,则切换到反汇编视图并单步执行堆栈框架设置代码。