【问题标题】:How do I write to the VB6 immediate window from C++ based COM object?如何从基于 C++ 的 COM 对象写入 VB6 即时窗口?
【发布时间】:2011-11-15 03:29:45
【问题描述】:

我开发了一个基于 C++ 的 COM 对象以在 VB6 应用程序中使用它。现在我需要添加一些日志来捕获一些错误。我从'How to debug COM object in Visual Studio 6.0' 问题的答案中发现我可以使用OutputDebugString 函数。但是是否有可能以某种方式写入 VB6 即时窗口?

【问题讨论】:

    标签: c++ debugging logging com vb6


    【解决方案1】:

    与其尝试写入即时窗口,不如使用来自 Sysinternals(现在是 Microsoft technet 的一部分)的DebugView 更有用:

    DebugView 是一个应用程序,可让您监控您的调试输出 本地系统,或您可以通过网络访问的任何计算机 TCP/IP。它能够显示内核模式和 Win32 调试 输出,因此您不需要调试器来捕获您的调试输出 应用程序或设备驱动程序生成,也无需修改 您的应用程序或驱动程序使用非标准调试输出 API。

    您可以在开发和生产中使用它。

    在 Windows 2000、XP、Server 2003 和 Vista DebugView 下会捕获:

    • Win32 输出调试字符串
    • 内核模式 DbgPrint
    • 在 Windows XP 和 Windows XP 中实现的所有 DbgPrint 内核模式变体 服务器 2003

    【讨论】:

    • +1。如果您可以在 DebugView 中同时查看 VB6 和 C++ 日志消息,生活会更加美好。将 VB6 更改为使用 OutputDebugString 而不是 Debug.Print 登录。只需从this 优秀的 Karl Peterson 文章中复制例程 DebugOutput
    【解决方案2】:

    我认为您不能直接对其进行写入,但您可以使用仅包含 debug.print 调用的 COM 事件。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2016-12-21
      • 2010-09-27
      • 2016-07-02
      • 1970-01-01
      • 1970-01-01
      • 2011-02-17
      • 1970-01-01
      • 2010-10-11
      相关资源
      最近更新 更多