简体   繁体   中英

Fault Tolerant Heap in Windows 10 under vs2015

Creating a ATL COM DLL in Vs2015 for a VB6 consumer is going badly because the "fault tolerant heap shim" is being applied to VB6, which I am running from the vs2015 debug command.

I have found many posts about disabling FTH in Windows 7, and indeed I have applied them all, including deleting the DLL in \\Windows\\AppPatch, as well as disabing FTH in the registry AND running the rundll script that is cited.

Still, this damn thing is making it impossible for me to debug the dll, because the FTH makes it run like a dog under VB6 in debug mode.

I even added "vb6.exe" and "full_path_to_vb6.exe" in the exclusions list in the registry -- to no avail.

I desperation, and needing to get some work done today, I have renamed vb6.exe to myvb7.exe (!) and this gets rid of the FTH alert in the VS debugger. But why can't I disable FTH for vb6.exe?

In fact, why does it even get enabled at all when a debugger is attached? It's driven me mad today.

Anyone?

There wasn't too much help forthcoming on this. For future reference, if the application (in this case VB6) is set to run in compatibility mode (either from a right click on the shortcut you use to launch it, or from a property set on the target exe itself) then nothing you do will release the shim!

Solution: don't run vb6 in compatibility mode under Windows 10!

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM