OutputDebugString para debug


Diversos programadores na hora de depurar o sistema e querem saber o conteúdo de uma variável jogam ela para um showmessage, edit ou colocam pontos de parada entre outros métodos. Mas já no delphi tem uma tela que pode nos ajudar nesse processo, a tela "Event log" podemos mandar o conteúdo de nossa variável para la, sem o risco de ir uma versão errada ao cliente com uma mensagem de programação ou um campo no meio da tela!

Vamos começar 
O código para isto é bem simples e apenas adicionar o código
procedure TFSistema.DoCreate;
begin
  inherited;
  OutputDebugString(PWideChar('Conteúdo a ser exibido'));
end;

Com isso o resultado ficara desta forma:

Então que vocês acham de fazer um classe deste método para facilitar ainda mais nossa vida? 
unit LogEventsHelper;

interface

uses Windows;

type
  TLogEventsHelper = class
  public
    class procedure LogEvents(const aOutputString: String);
  end;
  function IsDebuggerPresent: LongBool; external kernel32 name 'IsDebuggerPresent';

implementation

{ TLogEventsHelper }

class procedure TLogEventsHelper.LogEvents(const aOutputString: String);
begin
  OutputDebugString(PWideChar(aOutputString));
end;

end.

Desta maneira agora começarmos a utilizar desta maneira:
procedure TFSistema.DoCreate;
begin
  inherited;
  TLogEventsHelper.LogEvents('Conteúdo a ser exibido');
end;

Event log fica em menu (View > Debug Windows > Events);

Resultado do OutputDebugString: 


Exemplo: Download do exemplo

0 comentários:

Postar um comentário