首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何查看OutputDebugString的输出?

如何查看OutputDebugString的输出?
EN

Stack Overflow用户
提问于 2012-06-27 10:04:57
回答 5查看 27.4K关注 0票数 11

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

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

谷歌一下,看起来DebugView应该可以处理这个问题,但是它和TraceTool都没有显示这段代码的任何输出。

代码语言:javascript
复制
unit Unit1;

interface

uses
  Winapi.Windows, Winapi.Messages, System.SysUtils, System.Variants, System.Classes, Vcl.Graphics,
  Vcl.Controls, Vcl.Forms, Vcl.Dialogs, Vcl.StdCtrls;

type
  TForm1 = class(TForm)
    procedure FormCreate(Sender: TObject);
  private
    { Private declarations }
  public
    { Public declarations }
  end;

var
  Form1: TForm1;

implementation

{$R *.dfm}


procedure TForm1.FormCreate(Sender: TObject);
begin
   OutputDebugString(PChar('Hello, wurld'));
end;

end.

我已经阅读了文档,但无济于事,并看到其他人也有类似的问题,但没有发布解决方案。

有解决方案吗?

EN

回答 5

Stack Overflow用户

回答已采纳

发布于 2012-06-27 19:00:12

即使在XE2 Starter中,GExperts也有一个调试查看器和一个您添加到应用程序中的单元,它将为您完成此操作。请参阅DebugIntf单元及其包含的GExpertsDebugWindow.exe应用程序。它们可以在Delphi(以及几乎所有其他版本的XE2 )下工作。

GExperts还包括大量其他的集成开发环境和编辑器增强功能,这些功能非常棒,当然它们已经存在很久了,所以它们是非常可靠的工具。

票数 9
EN

Stack Overflow用户

发布于 2012-06-27 10:16:34

DebugView工具运行良好;只是要确保直接启动您的应用程序(没有附加Delphi IDE或其他调试器)。

无论如何,查看Delphi应用程序的OutputDebugString输出的自然方法是使用Delphi IDE和Event Log窗口。

票数 26
EN

Stack Overflow用户

发布于 2012-06-27 14:11:36

CnWizards包含一个名为CnDebugViewer.exe的工具,它可以捕获OutputDebugString (应该在Windows7中以管理员身份运行)。

与DbgView不同,CnDebugViewer可以为不同的应用程序创建不同的标签。

CnPack包含一个单元CnDebug.pas。使用此单元,您可以跟踪类型化的对象、集合、异常、内存转储等。使用CnDebug.pas,您还可以设置是否自动启动CnDebugViewer,是否在发送调试消息时转储到文件等。

票数 5
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/11218434

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档