不需要的断点在 ntdll.dll!_LdrpSnapThunk@36() + 0xf5 字节中

Unwanted breakpoint in ntdll.dll!_LdrpSnapThunk@36() + 0xf5 bytes

本文关键字:0xf5 字节 LdrpSnapThunk@36 断点 ntdll dll 不需要      更新时间:2023-10-16

我正在以下环境中调试 Outlook 加载项 DLL:视窗 7 x64Office 2013 即点即用 x86Visual Studio 2010仅限本机 (C++)

在 x86 和 x64 注册表中,系统级别和 Outlook .exe"显示加载程序快照"被禁用,我已经验证了任何地方都没有覆盖"GlobalFlag"注册表值。

系统中唯一的"GlobalFlag"值设置为0x00000400(仅FLG_POOL_ENABLE_TAGGING),并且位于CurrentControlSet中。

当我将 VS 调试器附加到 OUTLOOK 时.EXE(我的 DLL 已经加载)我可以按预期调试它(符号加载等),但无论我在做什么,我都会随机遇到这个断点。

为什么我会在 LdrpSnapThunk 中获得断点?我甚至找不到任何选项来设置/启用此类断点(加载器快照应仅打印调试字符串,不会导致断点,AFAIK)。

这真的很烦人 - 我在调试时随机遇到这个断点阻止我。

谢谢!

汉斯上面的评论帮助我解决了这个问题。供将来参考 - 您需要在 EMET 的"应用程序配置"窗口中关闭 OUTLOOK.EXE 的"导出地址表访问筛选"(EAF)。