6

テスト完了を使用して起動したWindows Server 2008 R2上でアプリケーションを実行すると、例外コードC0000005がmscorwks.dllからスローされます。他のプラットフォーム(Windows   XP、Server 2003 R2、Windows   7 32ビットおよび64ビット)はこの例外を表示しません。mscorwks.dllの例外コードc0000005の原因と解決方法を教えてください。

単一の実行からのイベントログは、.NETランタイムによって発生するイベントID 1023と次のイベントの多くを持っています

.NETランタイムバージョン2.0.50727.4952 - 致命的な実行エンジンエラー(7383851A)( 80131506)

アプリケーション自体はWSDLファイルからのVisual Studioによって生成さSOAP界面、埋め込み相互運用を持つCOMオブジェクトを利用し、そして.NET

4をターゲットに

sfc/scannowが実行され、影響を受けるシステム上のシステムファイルに問題はないことが判明しました。

ソリューションの特定にはどのようなトラブルシューティングを行うことができますか?

答えて

3

このエラーは、TestComplete 7が管理対象/管理対象外のアプリケーションが混在している場合にヒープとやり取りする際の欠陥によって発生します。

Dim oScript, command 
Set oScript = CreateObject("WScript.Shell") 

command = "%comspec% /c " & PATH_TO_EXE & " " & Args 
oScript.Run command, 10, True 

関連MSDN記事はRun Method (Windows Script Host)です:代わりにVBScriptで提示スクリプト言語のあなたの選択のために変更次のコードブロックを、使用してTestedApp.Run法を用います。

3

0xC0000005は、「アクセスが拒否されました」というWin32エラーをラップする例外コードです。 COM相互運用機能を使用しており、ExecutionEngineException(COMではCOR_E_EXECUTIONENGINE; 0x80131506)が取得されているとすれば、COMコンポーネントのNULLポインタか、.NETコードのエラーComImportディレクティブのいずれかです。

+2

例外コードはwin32ではありませんエラーコードはHRESULTではありませんNTSTATUSesではありません。申し訳ありませんが、私のペットピーブ。 –

+0

誰かがこれを呼び出すだろうと知っていました。 0xC0000005はWin32エラーです。対応するHRESULTは0x80070005です。 – codekaizen

+0

これはwin32エラーではありません。それは例外コードです。例えば0xC0000005をFormatMessageに送り、あなたは有益な結果を得られません。 –

8

致命的なエンジン実行エラーとアクセス違反は、同じ問題の両方の現象です。 FEEEは、.NETガベージコレクタがガベージコレクションヒープの内部構造が破棄されたことを検出すると発生します。アクセス違反は、無効なアドレスでメモリにアクセスするように要求されたときにプロセッサによって生成されるハードウェア例外です。 AVの一般的な原因は、ヒープの破損です。

これらの事故は、非常に一般的に管理されていないコードによって引き起こされます。また、管理されていないコードが潜在的なメモリ管理のバグを持っていることは、長い間気づかれなくなっていることがよくあります。バグの被害は非常にランダムな傾向があります。異なるメモリ割り当てパターンを持つ別のオペレーティングシステム上で実行するだけで、爆弾をトリガするのに十分です。

あなたは問題の原因候補として優れています。バグを追跡するには、COMサーバーのベンダーまたは著者と協力する必要があります。

0

TestComplete 7(最新のアップデート7.52を含む)は.NET Framework 4のバージョン4までしかサポートしていません.NET Framework 4のリリース版をサポートしていないため、この問題が原因である可能性があります。

.NET 2.0を対象とするアプリケーションを構築してみてください。これで問題は解決します。

.NET 4アプリケーションをテストするには、TestComplete 8を使用する必要があります。

+0

私たちはTestComplete 7の.Netサポートの制限を認識しています。現在、TestComplete 8に移行中ですが、上記は.NET 4互換性問題の回避策です。 – Erick

関連する問題