孤独的猫

  博客园 :: 首页 :: 博问 :: 闪存 :: 新随笔 :: 联系 :: 订阅 订阅 :: 管理 ::

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.

 

posted on 2014-08-16 11:43  孤独的猫  阅读(2420)  评论(0编辑  收藏  举报