2016-02-12 63 views
0

創建在Vs2015一個ATL COM DLL的VB6消費者會因爲嚴重的「容錯堆墊片」被應用到VB6,這我從vs2015 debug命令運行。容錯堆在Windows 10下的vs2015

我發現很多關於在Windows 7中禁用FTH的帖子,實際上我已經應用了它們,包括刪除\ Windows \ AppPatch中的DLL,以及在註冊表中解除FTH並運行被引用的rundll腳本。

不過,這該死的東西是使我不可能調試的dll,因爲FTH使得它像運行在調試模式下VB6狗。

我甚至增加在註冊表中的排除列表「VB6.EXE」和「full_path_to_vb6.exe」 - 無濟於事。

我絕望了,需要今天完成一些工作,我已經將vb6.exe重命名爲myvb7.exe(!),這樣就可以擺脫VS調試器中的FTH警報。但爲什麼我不能禁用FTH vb6.exe?

事實上,爲什麼它甚至可以在所有啓用時,調試器附加?今天讓我生氣了。

有人嗎?

+0

https://stackoverflow.com/questions/5020418/how-do-i-turn-off-the-fault-tolerant-heap –

+0

它可能與vb6.exe有一個在內置的條目中的條目有關,在兼容性數據庫。在Windows 7上,此條目看起來似乎不會強制容錯堆,但它可能在Windows 10上不同 - 或者應用的其他墊片之一可能會間接影響使用FTH的決定。 (您可以使用Microsoft應用程序兼容性工具包來檢查兼容性數據庫。) –

+0

@Jonathan:沒有任何關於post的鏈接對vb6在windows 10上有任何不同,正如我在我的問題 – user5916352

回答

0

有沒有太多的幫助在這個即將到來。爲了將來的參考,如果應用程序(在本例中爲VB6)設置爲以兼容模式運行(無論是從右鍵單擊啓動它的快捷方式,還是從目標exe本身設置的屬性),那麼您就不會執行任何操作將釋放墊片!

解決方案:不要的Windows 10下運行在兼容模式下VB6!

+0

這聽起來不像是一個解決方案。使用啓動XP的VM。有人應該讓這個客戶有一個他不能拒絕的提議:) –