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