我正在开发在Internet Explorer中运行的浏览器帮助程序对象.我正在编写调试消息,ATLTRACE("...");
当Visual Studio附加到iexplore.exe
进程时,这些看起来很好,但这对于快速测试来说很慢.DebugView从我的BHO中捕获任何内容.
为什么DebugView不显示BHO调试消息?是否与运行在低完整性级别的Internet Explorer有关?
假设您在Vista或更高版本上运行IE(听起来就像是在谈论完整性级别),您可以将DebugView的完整性级别设置为较低的完整性,以便任何应用程序都可以向其发送消息:
icacls dbgview.exe /setintegritylevel low
如果你不喜欢将dbgview永久设置为低完整性的想法(它可能会使保存日志并且有点痛苦,因为它们只会进入低完整性存储),你可以运行dbgview的特定实例使用Sysinternals psexec
工具进行低完整性:
psexec -l dbgview
最后,如果您担心的是加载VS调试器以附加到进程所需的时间,则可以使用命令行调试程序(如ntsd.exe或cdb.exe).Ntsd.exe附带Windows,但更新版本附带"Windows调试工具"软件包,其中还包含非常相似的cdb.exe.