デバッグ ウォッチは、たとえば std::vector などのオブジェクトの値を表示しません。一方、ローカル整数の値が表示されます。
オプションなしでプロジェクトをコンパイルすると、/clr
すべてが正しく表示されます。
私はさまざまなDebugModes(Mixed、Auto、Managed ...)を試し、JIT、「.Net Frameworkソースステッピングを有効にする」、Symbolサーバーなどのさまざまな設定を試しました。しかし、問題は残りました。(設定を変更するたびに、プロジェクトは再びクリーン/ビルドされました)
//#pragma managed(push, off)
int _tmain(int argc, _TCHAR* argv[])
{
int a = 5; //displayed correctly in debug watch
vector<myInt> vec;
myInt X(4);
vec.push_back(X); // displayed as Name: "vec", Value: "{...}" (no option to expand it)
vec.push_back(X+X);
vec.push_back(std::move(X));
std::vector<int> vec2;
vec2.push_back(a);
return 0;
}
//#pragma managed(pop)