天天看點

Delphi輸出日志的方法

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;

  //注冊事件源,随便起了個名字。這個名字就是下圖事件清單的’來源’一列

  //然後判斷是否成功。

  //注意後面要登出

  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

    q^ := i;

    inc(q);

  //這裡記錄記憶體的内容。大小為size, 首位元組的指針p

  //同樣也有說明資訊msg

  evtmsg := '記錄某塊記憶體';

  reportevent(evtsrchand,eventlog_information_type , 0, 0, nil, 1, size, @evtmsg, p);

  freemem(p);

  //登出事件源

  deregistereventsource(evtsrchand);

程式運作後,可以通過控制台 – 管理工具 – 事件檢視器來檢視

繼續閱讀