我想知道是否有可能绕过OutputDebugString?我希望OutputDebugString输出显示在DebugView中,而不是显示在内部的Delphi事件查看器窗口中。但是我找不到一种方法来告诉Delphi不要吞下OutputDebugString。有什么想法吗?
问候
发布于 2010-06-25 16:04:54
这是不可能的。
OutputDebugString将字符串发送到调试器(顾名思义)。每个进程只能有一个活动的调试器。你在Delphi下运行你的应用程序- Delphi得到了消息,因为它是一个调试器。你在Delphi之外运行你的应用程序- DebugView可以访问它们,因为没有调试器声明它。
然而:为什么你需要这个?只需在Delphi事件日志中禁用其他类型的事件-您将获得与DebugView相同的功能。
发布于 2010-06-25 15:01:21
我认为这是没有办法的。在Delphi 2009中,情况仍然是一样的。您应该提交一个功能请求:http://qc.embarcadero.com
我想知道与Delphi的内部事件日志窗口相比有什么好处?
发布于 2010-06-25 21:59:38
您可以尝试使用Process Monitor及其新的“调试输出”功能来代替DebugView。它不使用OutputDebugString,它使用自己的API,而且还有一个Delphi包装器here。您可以使用进程监视器过滤功能,Delphi不会捕获这些消息-但它不是OutputDebugString的通用功能。
https://stackoverflow.com/questions/3116069
复制相似问题