Delphi输出日志的方法
4486 点击·0 回帖
![]() | ![]() | |
![]() | 1、使用OutputDebugString procedure TForm1.BtnDebugClick(Sender: TObject); begin //这里调用OutputDebugString发送调试信息到调试器。 //在delphi里面,用View - Debug Windows - Event Log 来查看。 OutputDebugString(PChar(测试OutputDebugString)); end; 2、发送日志到操作系统日志记录。 这个基本上使用在Release版本中,记录一些重要的信息,帮助用户反馈信息给开发人员。 procedure TForm1.Button2Click(Sender: TObject); var EvtSrcHand: THandle; EvtMsg: String; p:Pointer; i:integer; size:integer; q:^byte; begin //注册事件源,随便起了个名字。这个名字就是下图事件列表的’来源’一列 //然后判断是否成功。 //注意后面要注销 EvtSrcHand := RegisterEventSource(nil, 测试程序); if EvtSrcHand = 0 then begin ShowMessage(注册事件源失败!); Exit; end; //这里记录一个字符串 //这个字符串显示在下面第二个图选中的位置。 EvtMsg := 记录字符串; ReportEvent(EvtSrcHand,EVENTLOG_INFORMATION_TYPE,0, 0, nil, 1, 0, @EvtMsg, nil); //这里记录一块内存,size大小 size:=32; //申请 GetMem(p, size); q := p; //填充这块内存 for i := 0 to size - 1 do begin q^ := i; inc(q); end; //这里记录内存的内容。大小为size, 首字节的指针p //同样也有说明信息msg EvtMsg := 记录某块内存; ReportEvent(EvtSrcHand,EVENTLOG_INFORMATION_TYPE , 0, 0, nil, 1, size, @EvtMsg, p); FreeMem(p); //注销事件源 DeregisterEventSource(EvtSrcHand); end; 程序运行后,可以通过控制面板 – 管理工具 – 事件查看器来查看 | |
![]() | ![]() |