Visual C++ 2010 では、次の点を考慮してください。
#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() 内に入り、Watches ペインに移動してメンバー変数を監視しますmMember
。その値を見る代わりに、エラーが表示されます
CXX0033: エラー: OMF 型情報のエラー
デバッガーにメンバーの値を表示させることは可能ですか? もしそうなら、どのように?私はこれがバグである可能性があることを認識しており、Microsoft Connect で既に報告しています。現在、回避策 (定義を関数のスコープ外に移動する必要はありません) と、これが発生している理由についての説明を探しています。私が提出したバグ レポートは、 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
編集:関数スコープ外で定義されたクラスが適切に機能することを十分に認識しています。
Edit2: この問題に関して Microsoft に既に提出され、承認されているバグへの参照は、受け入れられる回答になるのに大いに役立ちます。私はすでに1つを検索しましたが、何も見つかりませんでした。