2009-07-07 60 views
1

我使用Visual Studio 2008和開發VB.NET應用程序。 我的程序有一個奇怪的死鎖問題,但只有當Internet Explorer 8打開時纔會出現。VB.NET程序鎖定與Internet Explorer打開

當我用另一個窗口覆蓋我的表單然後發現它時,我發現它已被鎖定。 我的程序沒有對IE的引用,它唯一要做的事情就是使用帶網址的Process.Start。

我的程序工作正常,完全按照它應該,但只有當IE不打開。

有誰知道爲什麼一個程序只能在IE運行時鎖定?

編輯:我做了一些挖掘,我發現我的程序中有問題的線程。 我不知道是什麼啓動了這個線程或它的功能,但是當我殺死它時,我的程序不再凍結。該線程是CreateApplicationContext線程之一,這是該線程的堆棧跟蹤中的最後幾項。

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

Process Explorer的說我的程序正在使用沒有CPU,也沒有在掛起時拋出任何異常。

+1

你的程序與IE有什麼關係?它是Winforms,WPF?它使用網絡瀏覽器控件嗎? – 2009-07-07 22:04:30

回答

0

試圖找出是否有任何未處置的線程或其他窗體窗體資源。似乎IE正在抓住你的程序還沒有真正發佈的線程。

此外,請注意,由於覆蓋該程序的任何窗口都可能導致此錯誤,因此可能不完全是IE的錯誤。在任何地方重新繪製表單的表單或元素。

嘗試暫時刪除線程或消除顯示密集型表單元素,並嘗試再次創建鎖定。

相關問題