2009-07-07 11 views
1

私はVisual Studio 2008を使用しており、VB.NETアプリケーションを開発しています。 プログラムに奇妙なロックアップの問題がありますが、Internet Explorer 8が開かれている場合のみです。Internet ExplorerでVB.NETプログラムがロックされる

私のフォームを別のウィンドウで覆い隠してしまったときに、ロックされていることがわかりました。 私のプログラムはIEへの参照を持たず、IEとの関係でさえ、WebアドレスでProcess.Startを使用しています。

私のプログラムは正常に動作しますが、IEが開かれていない場合に限り動作します。

IEが動作している間だけプログラムがロックされる理由を知っている人はいますか?

編集:私はいくつかの掘り下げを行い、自分のプログラムで問題のスレッドを見つけました。 このスレッドを何が開始するのか、それが何を開始するのか分かりませんが、私がそれを終了すると、私のプログラムはもはやフリーズしません。スレッドは、CreateApplicationContextスレッドの1つです。ここでは、そのスレッドのスタックトレースの最後の項目がいくつかあります。

6 ntkrnlpa.exe + 0x897bc

7 NTDLL.DLL!KiFastSystemCallRet

8 mscorwrks.dll!LogHelp_TerminateOnAssert +の0x61

9 mscorwrks.dll!DllUnregisterServerInternal + 0x10523

10 mscorwrks .dll!DllUnregisterServerInternal + 0x10542

11 mscorwrks.dll!StrongNameErrorInfo + 0x34387

12 mscorwrks.dll!StrongNameErrorInfo + 0x34815

13 mscorwrks.dll!CreateApplicationContext + 0xbc35

14 KERNEL32.dllから!GetModuleHandleA + 0xdf

プロセスエクスプローラは、私のプログラムは何のCPUを使用していないと言うもそれが掛けられている間に例外をスローします。

+1

あなたのプログラムはIEと何か関係がありますか?それはWinforms、WPFですか? Webブラウザコントロールを使用していますか? –

+0

IEとの唯一の関係は、Webアドレスをパラメータとしてprocess.startを呼び出しますが、プログラムがフリーズする前または呼び出されていないことです。私はWPFを使用していません。これはWindowsフォームプログラムです。 – user134278

+0

また、Webブラウザコントロールもありません。 – user134278

答えて

0

未割り当てのスレッドや他のウィンドウフォームリソースがあるかどうかを調べてみてください。あなたのプログラムが本当にリリースしていないスレッドをIEが掴んでいるようです。

また、プログラムをカバーするすべてのウィンドウでこのエラーが発生する可能性があるため、完全にIEの障害ではない可能性があります。フォームまたはフォームの要素を再描画する場所を確認します。

スレッドを一時的に削除するか、または表示量の多いフォーム要素を削除し、再度ロックアップを作成してみます。

関連する問題