在Visual Studio 2015調試器中啓動Visual C++ ATL/WTL應用程序時,有時只要啓動調試,Visual Studio就會斷開一個不存在的斷點,經典例外窗口:Visual Studio在調試時隨機啓動時斷點
「Appname.exe已經命中一個斷點」
Break |取消|繼續
沒有其他信息提供有關例外。當我闖入,有時它說
沒有可用的源代碼
,而另外一些時候是
框架不是模塊
無論哪種方式,當我點擊「Show disassembly」,這是我看到的:
...
77038EFD ?? ??
77038EFE ?? ??
77038EFF dec dword ptr [ecx-76FBDBBCh]
77038F05 pop esp
77038F06 and al,8
77038F08 jmp [email protected] (77025D93h)
77038F0D lea ecx,[ecx]
[email protected]:
77038F10 mov edx,esp
77038F12 sysenter
77038F14 lea esp,[esp]
77038F1B jmp [email protected] (77038F20h)
...
它打破正是在
77038EFF dec dword ptr [ecx-76FBDBBCh]
如果我跨過去,步入或繼續,應用程序啓動並正常工作。
應用程序編譯時沒有優化,並且所有調試標誌都打開。 正如我在開始時所說的那樣,它有時只會發生,比方說1/3的時間。啓動之間的應用程序始終是相同的。
如果我在VS之外啓動了相同的應用程序,它可以正常工作。
有什麼想法可能會導致這種奇怪的行爲?
嘗試刪除所有斷點,清理並重建項目。 – 2016-04-14 13:00:40
@RawN完成,沒有區別 –
你能看到哪個模塊處於斷點嗎?這可能是一些DLL得到加載到過程故障 – zeromus