2009-08-26 11 views
2

テストマシンで.NETランタイム2.0のエラー(イベントログに記録されています)を取得し続けるうちに、デバッグ/診断情報(または修正)が多いユーザーに対してアセンブリを交換するときに、 。例のメッセージ:(?私はこれを行うべきである).NETランタイム2.0エラー

Faulting application MyApp.exe, version 1.0.0.66, stamp 4a3851fa, faulting module kernel32.dll, version 5.2.3790.4480, stamp 49c51f0a, debug? 0, fault address 0x0000bef7. 

私の推測では、私はインターフェイスを変更しないように注意してくださいよにもかかわらず、このようにアセンブリを交換することは、私は

やっているはずの何かprobalyであるということです

全く同じですが、このアプリケーションのインストール/ビルドプロセスは多額で、問題をデバッグするときにすべてを再構築して再インストールするのは大変な作業です(実際は致命的ではありません)。これらの種類のエラーからさらに有用な情報を得る方法はありますか?

答えて

1

これは、アプリケーションが処理されない例外を検出したためです。

それは短期的にはより多くの仕事かもしれないが、あなたはトレース情報を含めるようにし、例えばSystem.Diagnostics namespace.

で提供されるツールを使用するようにアプリケーションを手直しができ、System.Diagnostics.Traceは、あなたが(設定を経ても変化しないことを指定するためにことができます実行時のトレースに使用できる異なるリスナー・クラスを作成できます。これを使用して、問題を引き起こす可能性のある項目を絞り込み、テストマシンでトレース出力のみを有効にする機能を実装することができます。

また、きれいなトップレベル例外ハンドラがあることを確認してください。これは、アプリケーションに障害が発生したときに少なくともスタックトレース情報の一部を発見するのに役立ちます。

0

旧ポストが、私はちょうどこの問題を抱えていたし、ここで説明するようにリモートデバッグで問題のあるコードを追跡することができました: http://www.codeproject.com/Articles/146838/Remote-debugging-with-Visual-Studio-2010#_rating

ここに同様の質問:私の場合は .NET Winforms app dies on startup

を私が持っていましたhanlder for treeview AfterSelectは、ツリーの選択を変更し、別のAfterSelectを呼び出すなど、結果のエラー:stackoverflow。これは他のマシンでは起こりそうにないので、フレームワークとは関係があります。

0

私はコンソールアプリケーションで同じ問題がありました。私はエラーの原因(私の場合、DLLに対するアクセス権)を見ることができるコマンドラインから起動することで解決しました。私の場合、DLLに対するアクセス権:

Unhandled Exception: System.IO.FileLoadException: Could not load file 
or assembly 'FHVI_Common, Version=1.1.0.0, Culture=neutral, PublicKeyToken=null' 
or one of its dependencies. Access is denied. File name: 'FHVI_Common, Version=1.1.0.0, 
Culture=neutral, PublicKeyToken=null' ---> System.UnauthorizedAccessException: 
    Access is denied. (Exception from HRESULT: 0x80070005 (E_ACCESSDENIED)) 
    at xyzCL_Process.Main() 
関連する問題