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;
程式運行後,可以通過控制台 – 管理工具 – 事件檢視器來查看