ntdll.dll 中不需要的断点!_LdrpSnapThunk@36() + 0xf5 字节
Posted
技术标签:
【中文标题】ntdll.dll 中不需要的断点!_LdrpSnapThunk@36() + 0xf5 字节【英文标题】:Unwanted breakpoint in ntdll.dll!_LdrpSnapThunk@36() + 0xf5 bytes 【发布时间】:2014-05-17 06:39:48 【问题描述】:我正在以下环境中调试 Outlook 加载项 DLL: 视窗 7 x64 Office 2013 即点即用 x86 视觉工作室 2010 仅限本机 (C++)
“显示加载程序快照”在系统级别和 x86 和 x64 注册表中的 Outlook.exe 均已禁用,并且我已验证任何地方都没有覆盖“GlobalFlag”注册表值。
系统中唯一的“GlobalFlag”值设置为0x00000400(仅FLG_POOL_ENABLE_TAGGING)并且在CurrentControlSet中。
当我将 VS 调试器附加到 OUTLOOK.EXE(我的 DLL 已经加载)时,我可以按预期调试它(符号加载等),但在随机时间我会遇到这个断点,不管我在做什么。
为什么我会在 LdrpSnapThunk 中获得断点?我什至找不到任何选项来设置/启用此类断点(加载程序快照应该只打印调试字符串,而不是导致断点,AFAIK)。
这真的很烦人 - 我在调试时遇到这个断点会随机阻止我。
谢谢!
【问题讨论】:
Google 搜索结果表明 EMET(增强型缓解体验工具包)可能与此有关。与您的 LAN 管理员讨论此问题。 可能是这个,我去看看!你能指出确切的结果或搜索词吗?搜索“LdrpSnapThunk emet”(无引号)没有给我相关结果。谢谢! 是的,解决了!以供将来参考 - 您需要在 EMET 的“应用程序配置”窗口中为 OUTLOOK.EXE 关闭“导出地址表访问过滤”(EAF)。 【参考方案1】:汉斯上面的评论帮助我解决了这个问题。供将来参考 - 您需要在 EMET 的“应用程序配置”窗口中关闭 OUTLOOK.EXE 的“导出地址表访问过滤”(EAF)。
【讨论】:
以上是关于ntdll.dll 中不需要的断点!_LdrpSnapThunk@36() + 0xf5 字节的主要内容,如果未能解决你的问题,请参考以下文章