35

いくつかのVisualStudioデバッガービジュアライザーを正常に作成しましたが、それらは非常にうまく機能しています。ただし、一部のオブジェクトでは、オブジェクトを逆シリアル化しようとするとタイムアウトエラーが発生します。objectProvider.GetObject()

System.Exception: Function evaluation timed out.
  at Microsoft.VisualStudio.DebuggerVisualizers.DebugViewerShim.PrivateCallback.MaybeDeserializeAndThrowException(Byte[] data)

他のビジュアライザーの中には、表示時間がはるかに長い(5〜10秒)大きなデータオブジェクトでも正常に動作するものもありますが、タイムアウトはかなり速く発生します(ビジュアライザーアイコンをクリックしてから約1秒後)。タイムアウト。

シリアル化を表示する必要のあるフィールドに制限するカスタムオブジェクトソースをすでに作成しました。タイムアウトせずにデータを逆シリアル化するには、他に何ができますか?

4

3 に答える 3

44
HKEY_CURRENT_USER\Software\Microsoft\VisualStudio\9.0\Debugger

これは文書化されていないと思いますが、上記のレジストリキーのタイムアウトの一部を変更して、VisualStudioを再起動してみてください。

于 2009-07-31T11:38:07.437 に答える
5

私は最近VS2012でこれに見舞われ、グーグルした後、これを見つけまし

例外メッセージに示されているように、この例外は、データテーブルのデバッガービジュアライザーがタイムアウトしたことを意味します。VSデバッガーでは、各式評価ウィンドウ(監視ウィンドウ、ローカルウィンドウ、データチップ、自動ウィンドウなど)には、異なるデフォルトの最大式評価タイムアウト値があります。datatipの場合、ユーザー表現が不十分になるため、タイムアウト値を短くすることをお勧めします。そのデータテーブルにビジュアライザー機能を使用する場合は、式をウォッチに追加して視覚化してみてください(ウォッチウィンドウのタイムアウト値が長いため)。datatipでこのタイムアウトを取り除きたい場合は、datatipのタイムアウト値を増やしてみてください。タイムアウト値は、HKEY_CURRENT_USER \ Software \ Microsoft \ VisualStudio\10の下にある「DataTipTimeout」レジストリキーの設定です。0 \ Debugger注:64ビットOSのWOW64Nodeをプローブする必要があります。このキーの下に、他のウィンドウのデフォルトのタイムアウト値も表示されます。

于 2013-04-25T13:52:09.903 に答える
0

Visual Studioデバッガーが正常に機能するには、「WPFビジュアライザー」(WPFアプリケーションでテスト済み)の[ローカル]ウィンドウをレジストリで見つける必要があります:HKEY_CURRENT_USER \ Software \ Microsoft \ VisualStudio \ 12.0 \ Debugger\DWORDパラメーター"LocalsTimeout"とデフォルト値(1000)十分な大きさの値、たとえば5000に設定します。

于 2015-03-31T20:03:14.117 に答える