问题标签 [outputdebugstring]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
3086 浏览

c++ - 输出调试字符串错误

我用:

在 Visual Studio 2010 中,但不是显示“我的错误”,而是在窗口中得到一个“错误”。

在此处输入图像描述

我该如何解决这个问题?

0 投票
2 回答
6887 浏览

delphi - 错误:未声明的标识符:'OutputDebugString'

我在我的 Delphi 代码中使用了 OutputDebugString,但我收到了错误:

错误:未声明的标识符:'OutputDebugString'

这个 OutputDebugString 在哪个包中?

0 投票
1 回答
1105 浏览

c++ - 如何向 OutputDebugString() 添加时间戳?

我正在编写一个 C++ 应用程序,我想在 OutputDebugString() 中添加一个时间戳。我已经知道,如果我使用DebugView观看应用程序,它会自动显示时间戳。但出于某种特殊原因,我想将时间戳添加到我传递给 OutputDebugString() 的任何字符串中。

一些示例代码是什么?

0 投票
3 回答
14811 浏览

windows-7-x64 - OutputDebugString() 在 Windows 7x64 上不起作用

我的程序适用于 windows xp。我正在尝试添加更多功能并OutputDebugString()用于显示一些调试信息。在 XP 上完美运行。现在,当我想在 Windows 7x64 上使用相同的程序时。我没有看到任何输出DebugView

F1! F1! F1!

0 投票
4 回答
824 浏览

delphi - 在 Delphi 6 IDE 中,如何防止大量的 OutputDebugString() 调用降低我的应用程序的性能?

这种情况不止一次发生在我身上,导致我在追逐鬼魂时浪费了很多时间。通常,当我调试一些非常困难的与时序相关的代码时,我开始添加大量的 OutputDebugString() 调用,这样我就可以很好地了解相关操作的顺序。问题是,Delphi 6 IDE 似乎只能长时间处理这种情况。我将使用一个我刚刚经历过的具体示例来避免笼统(尽可能)。

我花了几天时间调试我的线程间信号量锁定代码以及我的 DirectShow 时间戳计算代码,这导致了一些令人沮丧的问题。在消除了我能想到的所有错误之后,我的应用程序向其发送音频的Skype仍然存在问题。

大约 10 秒后,我在用于测试的第二台 PC(通话的远端)上从 Skype 发出我的说话和听到我的声音之间的延迟开始增加。在大约 20 到 30 秒时,延迟开始呈指数增长,此时触发代码我有检查关键部分是否被持有太久。

幸运的是,现在还不算太晚,并且之前经历过这种情况,我决定停止无情地跟踪并关闭大部分 OutputDebugString()。值得庆幸的是,我将它们中的大多数包装在条件编译器定义中,因此很容易做到。我这样做的那一刻,问题就消失了,结果证明我的代码运行良好。

因此,当 OutputDebugstring() 流量超过某个阈值时,Delphi 6 IDE 似乎开始真正陷入困境。也许这只是将字符串添加到包含所有 OutputDebugString() 报告的 Event Log 调试器窗格的任务。我不知道,但是当 TMemo 或类似控件开始包含太多字符串时,我在我的应用程序中看到了类似的问题。

你们这些人做了什么来防止这种情况发生?有没有一种方法可以通过某种方法调用或至少一种限制其大小的方法来清除事件日志?另外,您通过条件定义、IDE 插件或其他方式使用什么技术来应对这种情况?

0 投票
0 回答
761 浏览

c++ - 在代码中使用 OutputDebugString 在发布模式下编译时会导致编译失败。(VC++)

我在我的 VC++ 代码中使用了很多 OutputDebugString @。它在调试模式下构建良好。但是使用与 OutputDebugString 相同的代码会使编译失败。

即使在代码中使用“OutputDebugString”,如何在 RELEASE 模式下避免这种构建失败。提前致谢。

0 投票
5 回答
28110 浏览

delphi - 如何查看 OutputDebugString 的输出?

我想OutputDebugString()在我的应用程序中使用,然后可以选择在现场部署应用程序时在单独的查看器中显示它。

也就是说,我不想更改标志并重建我的 .exe 来打开和关闭调试。

谷歌搜索,似乎DebugView应该处理这个问题,但它和TraceTool都没有显示此代码的任何输出。

我已阅读文档,但无济于事,并且看到其他人也遇到过类似的问题,但尚未发布解决方案。

有解决办法吗?

0 投票
2 回答
1000 浏览

delphi - Delphi - 使用进程 ID 和名称将系统中的所有 OutputDebugString 钩子\绕过\捕获到我的应用程序中

基于这个问题,我创建了一个小应用程序,它将所有调试字符串捕获到我的应用程序中。线程的代码如下所示。

我想为我得到的每个调试字符串获取进程 ID 及其名称。在我做了一些研究之后,我得到了这篇文章,上面写着:“前 4 个字节(32 位 DWORD)是使用 OutputDebugString 编写文本的进程的进程 ID。”。我试图通过调用下面的函数来获取该过程,但结果为空。

我不知道这是怎么回事。

也可以获得发送调试字符串的进程的名称吗?

线程代码:

结尾。

0 投票
1 回答
1301 浏览

permissions - Windows 2008 r2 调试视图(OutputDebugString)问题

嗨,我们正在将 x86 应用程序作为服务安装在 Windows 2008 R2 上,它使用 OutputDebugString 来调试消息。

问题是 DebugView 实用程序仅在应用程序以提升模式从控制台运行而不是作为服务运行时才捕获应用程序的调试输出。

我还没有找到任何直接讨论 Windows 2008 R2 中 OutputDebugString 限制的知识库。

有人遇到过这样的问题吗?真的存在这样的限制吗?

UPD:如果对性能问题很重要,我们正在使用 TerminalServices。

0 投票
1 回答
838 浏览

delphi - 如何跨网络查看OutputDebugString()的输出?

除了我之前的问题,我发现我无法在以前没有安装 Delphi 的 PC 上使用 GExpertsDebugWindow。

如果我有以下(不是不寻常的,因此可能对其他人感兴趣)要求,我是否需要推出自己的代码,或者是否有现有的免费解决方案?

  1. 必须能够通过指定 PC 2 的 IP 地址读取整个网络(即 PC 1 监视 PC 2 的调试输出)
  2. 如果可能,我希望能够按进程名称过滤

提前感谢您的帮助