1

Visual Studio 2008 コンパイル済みプロジェクトがあります。これは大規模なサーバー アプリケーションです。そして、このアプリケーションは「MSVCR80.dll」からの実行時エラーでクラッシュしています。アプリケーションが Depends を介して参照しているすべてのバイナリを確認しましたが、MSVCR80.dll を参照またはロードしているバイナリはありませんでした。したがって、これは、サーバー アプリケーションが使用しているサード パーティ製モジュールのいずれかによって読み込まれる必要があります。しかし問題は、このサーバー アプリケーションが参照しているサード パーティが無数にあることです (DB アクセス、レポート、ネットワークなど)。

注: クラッシュ ダンプを分析しましたが、クラッシュしているコール スタックには Windows OS の dll メソッドしか含まれていないため、そのアプローチでもうまくいきませんでした。

前もって感謝します

4

1 に答える 1

0

プロファイル モードでdependsを実行してみてください。読み込まれたすべての DLL が一覧表示され、誰がそれを読み込んだかを特定できるはずです。

または、デバッガーを介してアプリケーションを実行します。モジュール ウィンドウを見ると、モジュールのロード順序を確認できます。MSVC80.dll を見つけて、誰がロードしたかを確認します

于 2012-05-17T02:31:26.437 に答える