0

.net c# 4.0 アドイン (多数の相互運用機能とカスタム タスクペインを備えた比較的単純なアドイン) が原因で Word がクラッシュするという奇妙な問題が発生しています。

アドインが長時間 (>5 分) 実行されると、突然、Windows ダイアログの [単語が機能しなくなりました] が表示されることがあります。数秒後、アドイン エラー ダイアログが開き、SEHException が表示されていることがわかりました。しかし、Windows はすぐに Word を再起動するため、例外を詳しく調べることができません。デバッガーは壊れないため、役に立ちません。

SEHException の原因と、調べられることはありますか? Word/VSTO 固有の提案が理想的ですが、SEHExceptions の回避と調査に関する一般的な提案も歓迎します。

ありがとうちゃぶん

4

2 に答える 2

0

Release Configurationでコンパイルすると、例外が発生しないことに気付きました。

誰かが同じ経験をしたことがある場合は、リリース構成を試してください。

于 2012-08-10T12:10:49.980 に答える
0

この例外を取得する 1 つの方法は、アンマネージ コードが OS を実行するRaiseException()か、障害を引き起こす場合です。その例外がスタックを介してマネージ コードに伝達された場合、それをマネージ例外にマップしようとします。たとえば、 は にSTATUS_NO_MEMORYマップされOutOfMemoryException、 にSTATUS_ACCESS_VIOLATIONマップされNullReferenceExceptionます。

事前定義されたマッピングがないすべての例外コードについては、SEHException.

from SEHExceptionとは? cbrumme: msdn ブログ.


潜在的な原因または例外try{} catch{}であるすべてのコードにブロックを追加してみてください。次に、例外の詳細を取得するために使用します。STATUS_NO_MEMORYSTATUS_ACCESS_VIOLATIONExternalException.ErrorCode

于 2012-08-08T06:17:35.713 に答える