8

std :: mapコンテナのすべての要素を表示したい場合、VS2010RCでアプリをデバッグするときに小さな問題が発生します。

デバッガーがブレークポイントに到達し、要素インスペクターでマップの値を確認したい場合([ローカル]ウィンドウと、マウスで変数名をホバーした後のポップアップウィンドウでも)、リストを下にスクロールします。要素は100要素で停止し、次の要素はできません。マップには200を超える要素が含まれています(マップのcounterパラメーターはこれを正しく示しています)が、要素インスペクターでそれらすべてを表示することはできません。

std::map<int, int>この問題は、200個のint値で満たされた最も単純な場合でも発生します。

これは設定の問題かもしれませんが、私はそれらの多くの組み合わせを試しましたが、それでも機能しません。多分誰かがこれを解決する方法についていくつかのアイデアを持っています。

よろしくお願いします。

4

2 に答える 2

3

このような情報の表示は、autoexp.datファイル(通常は「ProgramFiles*」\「MicrosoftVisualStudio*」\Common7 \ Packages \ Debuggerにあります)によって指示されます。ツリーでループが発生した場合にVisualStudioがフリーズするのを防ぐために、Microsoftはハードコードされた100要素の制限を#tree演算子に追加したようです。

于 2010-02-25T17:41:02.573 に答える
3

VS 2010 SP1では、この制限がデフォルト値の2000エントリに引き上げられました。これは、レジストリキーを設定することによっても変更できます(レジストリの変更に関するすべての標準的な警告がここに適用されます)。

  • x86の場合:HKEY_LOCAL_MACHINE \ SOFTWARE \ Microsoft \ VisualStudio \ 10.0 \ NativeDE \ VisualizerMaxChildren
  • x64の場合:HKEY_LOCAL_MACHINE \ SOFTWARE \ Wow6432Node \ Microsoft \ VisualStudio \ 10.0 \ NativeDE \ VisualizerMaxChildren

Scot Brennecke、エスカレーションエンジニアMicrosoftVC++サポート

于 2011-04-14T18:32:51.720 に答える