在Visual C++ 2010,考慮以下因素:如何在Watch窗口中看到本地類的成員值?
#include "stdafx.h"
int _tmain(int argc, _TCHAR* argv[])
{
struct MyClass
{
MyClass() : mMember(0)
{}
void Func()
{
int tmp = 0;
tmp++;
}
private:
int mMember;
};
MyClass inst;
inst.Func();
return 0;
}
內Func鍵(步驟),並轉到手錶窗格和觀看成員變量mMember
。而不是看到它的價值,你會看到錯誤
CXX0033: Error: error in OMF type information
是否有可能讓調試器顯示成員的值?如果是這樣,怎麼樣? 我知道這可能是一個錯誤,我已經在Microsoft Connect上報告過它,現在我正在尋找一種解決方法(不涉及將函數範圍外的定義移動)以及爲什麼會發生這種情況的解釋。 我提交的bug報告可以在這裏找到: https://connect.microsoft.com/VisualStudio/feedback/details/760149/visual-c-2010-cant-view-local-class-members-in-debugger-cxx0033-error-error-in-omf-type-information
編輯:我完全正常功能外工作範圍定義識別類。
編輯2:引用已經提交併確認的微軟提供的此問題,對於成爲可接受的答案將有很長的路要走。我已經搜索了一個,沒有發現。
謝謝,你的回答證實了我的懷疑。你可能會發佈一個指向你所指的錯誤報告的鏈接嗎?謝謝! 此外,不幸的是,真實生活場景確實有一個V-表,但是你提出的解決方案仍然很有趣。 – EddieBytes
只是測試了這一點,它確實已在VS2012中得到修復 – EddieBytes