简体   繁体   English

vs2015下Windows 10中的容错堆

[英]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. 在Vs2015中为VB6使用者创建ATL COM DLL进行得很糟糕,因为“容错堆填充程序”已应用于VB6,我是通过vs2015 debug命令运行的。

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. 我发现了许多有关在Windows 7中禁用FTH的帖子,的确,我已经全部应用了它们,包括删除\\ Windows \\ AppPatch中的DLL,以及禁用注册表中的FTH并运行引用的rundll脚本。

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. 尽管如此,这可恶的事情仍然使我无法调试dll,因为FTH使它在调试模式下在VB6下像狗一样运行。

I even added "vb6.exe" and "full_path_to_vb6.exe" in the exclusions list in the registry -- to no avail. 我什至在注册表的排除列表中添加了“ vb6.exe”和“ full_path_to_vb6.exe”-无济于事。

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. 我无奈之下,今天需要完成一些工作,我已将vb6.exe重命名为myvb7.exe(!),这摆脱了VS调试器中的FTH警报。 But why can't I disable FTH for vb6.exe? 但是为什么我不能为vb6.exe禁用FTH?

In fact, why does it even get enabled at all when a debugger is attached? 实际上,为什么在连接调试器后甚至完全启用它? It's driven me mad today. 今天Mad酒店的驱使我。

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! 供以后参考,如果将应用程序(在本例中为VB6)设置为以兼容模式运行(通过右键单击用于启动它的快捷方式,或通过目标exe本身设置的属性),则无需执行任何操作将释放垫片!

Solution: don't run vb6 in compatibility mode under Windows 10! 解决方案:不要在Windows 10下以兼容模式运行vb6!

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

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