delphi使用outputdebugstring调试程序和写系统日志
procedure TForm1.btn1Click(Sender: TObject); begin OutputDebugString('dddddd'); OutputDebugString('11'); end; procedure TForm1.btn2Click(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; end.