在Vs2015中为VB6使用者创建ATL COM DLL的过程很糟糕,因为“容错堆填充程序”正在应用于VB6,我是从vs2015调试命令运行它的。
我发现了许多关于在Windows 7中禁用FTH的帖子,实际上我已经应用了所有这些帖子,包括删除\Windows\AppPatch中的DLL,以及在注册表中禁用FTH并运行引用的rundll脚本。
尽管如此,这个该死的东西使我不可能调试动态链接库,因为FTH使它在调试模式下像狗一样在VB6下运行。
我甚至在注册表的排除列表中添加了"vb6.exe“和"full_path_to_vb6.exe”--但无济于事。
我绝望了,今天需要完成一些工作,我已经将vb6.exe重命名为myvb7.exe (!)这消除了VS调试器中的FTH警报。但是为什么我不能禁用vb6.exe的FTH?
实际上,为什么在附加调试器时还要启用它呢?今天我都快疯了。
有没有人?
发布于 2016-03-05 05:41:11
在这方面没有太多的帮助。为了便于将来参考,如果将应用程序(在本例中为VB6)设置为在兼容模式下运行(从用来启动它的快捷方式上单击鼠标右键,或者从目标exe本身上设置的属性),那么您所做的任何事情都不会释放填充程序!
解决方案:在Windows10下不要在兼容模式下运行vb6!
https://stackoverflow.com/questions/35353091
复制相似问题