0

なぜ私のアプリが突然動作しなくなったのか、私には考えが及ばない - おそらく SO コミュニティの集団精神が助けになるだろう...
背景:
私は最近まで動作していた大規模なアプリケーションを持っています。これを実行しようとすると、「アプリケーションを正しく初期化できませんでした (0xc0000005)」というエラーが表示
ます。これは、リリース ビルドとデバッグ ビルドの両方で発生します。プロジェクトのクリーニングと再構築を試み、PC を再起動しました。 _tmain()

コール スタックには、kernel32.dll と ntdll.dll
のエントリのみが表示されます。出力ウィンドウには次のように表示されます。

a.exe の 0x00532c13 での初回例外: 0xC0000005: アクセス違反の読み取り場所 0xabababdb。
a.exe の 0x7c964ed1 での初回例外: 0xC0000005: アクセス違反。
a.exe の 0x7c964ed1 で未処理の例外: 0xC0000005: アクセス違反。

何か案は?

編集:
わかりました-問題が見つかりました-それdll関連でした
私のアプリは共有dll a.dllとb.dll(およびその他)を使用しています
a.dllほとんどすべての変更(およびb.dllを使用
b.dllは別の開発者によって変更されましたこれ朝、a.dllが再構築されませんでした。

Depends.exe は不足している dll を表示しませんでしたが、a.dll は b.dll への変更により機能しなくなりました。

4

5 に答える 5

2

このリンクは、考えられる原因として 3 つの問題を説明しているようです。

  • データ実行防止
  • ドライバーまたはシステムの更新
  • 不良ラム

詳細はこちら: http://www.updatexp.com/0xC0000005.html

理由がわかったら教えてください

于 2009-01-08T15:42:28.273 に答える
1

SysInternals スイートを使用して、何が起こっているのかを調べたことがありますか? これは、たとえば、ファイル、DLL、またはレジストリ エントリにアクセスしていて、アクセスが拒否された場合に、障害を特定するのに役立ちます。

他の場所にインストールした場合、プログラムは正常に動作しますか? (別のコンピューター) 問題の切り分けに役立つ場合があります。

-- イベント ログ (アプリケーション、システムなど) をチェックして、問題に関するログが記録されているかどうかを確認できます。

--もう 1 つ... Tortoise を更新したため、おそらくあなたのアプリでも使用している DLL を使用しています。DLL のバージョンが変更されているかどうかを確認する必要があります。その新しいバージョンの Tortoise をアンインストールできます。または、より抜本的なレジストリの復元を試してください。( http://support.microsoft.com/kb/322756 ) または、Ghost/Acronis を使用している場合は、OS の以前のイメージに復元します。

最後に、何が間違っているのかを特定することをお勧めします。問題を修正するためのいくつかの抜本的な対策について言及しましたが、具体的に (つまり、DLL バージョン x が問題を引き起こしている) 絞り込むことができることを願っています。そうしないと、アプリケーションのクライアントまたはユーザーが同じ問題に遭遇するのは面倒です。

于 2009-01-08T15:55:34.037 に答える
1

権限を確認しますか?

于 2009-01-08T15:34:41.347 に答える
1

たぶん、Windowsの更新がシステムを台無しにしました。

于 2009-01-08T15:36:06.930 に答える
1

アプリケーションに必要な .dll ファイルが存在する可能性がありますが、見つからないか、アクセスが許可されていません。

いくつかの dll を使用していますか、それとも何らかの種類のランタイム ライブラリを使用していますか?

于 2009-01-08T15:39:37.127 に答える