0

GUIに.Net2.0、WCF、SyncFusionコンポーネントを使用して、現在約200か所で使用されているPOSアプリケーションを開発しています。

2日前に新しい場所にアプリケーションをインストールしましたが、アプリケーションが突然終了しました。

アプリケーションにはイベントと例外の実行ログがあるため、アプリケーションに何かが発生した場合、ログには常に何かがあります。この場合、ログは単純に切り取られます。他の場所でも同様の状況が発生しましたが、非常にまれであり、1回または2回しか発生しなかったため、デバッグダンプをキャッチできませんでした。

その場所にあるコンピューターのハードウェア設定は少し異なります。たとえば、POSプリンターへの印刷と、ビデオモニターでの出力の表示の両方に使用される、LPT出力のスプリッターがあります。

ただし、この場所では、約1.5時間ごとに発生しています。WinDbgを開いてプロセスにアタッチしようとしましたが、これが奇妙なことです。デバッグ出力がある領域に、アプリケーションが生成するトレースメッセージが表示されますが、文字のノンストップストリームもあります。具体的には「」繰り返されるb0。

私の問題は、その「b0」がどこから来ているのか、そしてそれが何を意味するのかがわからないことです。スプリッターかもしれないと思いますが、日曜日までテストできません。

誰かがこれを解決する方法を知ってくれることを願っています。

4

1 に答える 1

1

アプリケーションで、行おうとしているログをバイパスする可能性のある管理されていない例外が発生しているようです。

このような場合、クラッシュ時に完全な MiniDump を生成するように cdb をセットアップし、SOS 拡張機能を使用して WinDbg を実行してダンプを分析します。

MSDN ブログ ( http://blogs.msdn.com/pfedev/ ) から:

Debugging Tools for Windows ディレクトリから次のコマンドを実行します。

C:\debuggers> cdb -iaec "-c \".dump /u /ma c:\dumps\av.dmp;q\""

これにより、CDB デバッガーが AeDebug レジストリ キーによるクラッシュの既定のハンドラーとして構成されます。レジストリ キーを参照して、設定を確認できます。

HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\AeDebug

そして、次の 2 つの値を参照してください。

値の名前: 自動 値のデータ: 1

値の名前: Debugger 値のデータ: “c:\debuggers\cdb.exe” -p %ld -e %ld -g -c “.dump /ma /uc:\av.dmp;q”</p>

于 2008-10-08T03:12:18.000 に答える