Desidero utilizzare OutputDebugString()
nella mia applicazione e quindi avere l'opzione di mostrarlo in un visualizzatore separato quando l'applicazione viene distribuita nel campo.Come visualizzare l'output di OutputDebugString?
Vale a dire, non voglio dover cambiare un flag e ricostruire il mio .exe per attivare e disattivare il debug.
Googling in giro, sembra che DebugView dovrebbe gestirlo, ma né, né TraceTool mostrare alcun output da questo codice.
unit Unit1;
interface
uses
Winapi.Windows, Winapi.Messages, System.SysUtils, System.Variants, System.Classes, Vcl.Graphics,
Vcl.Controls, Vcl.Forms, Vcl.Dialogs, Vcl.StdCtrls;
type
TForm1 = class(TForm)
procedure FormCreate(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;
var
Form1: TForm1;
implementation
{$R *.dfm}
procedure TForm1.FormCreate(Sender: TObject);
begin
OutputDebugString(PChar('Hello, wurld'));
end;
end.
Ho letto la documentazione, senza alcun risultato, e vedere che altri hanno avuto problemi simili, ma non hanno inviato una soluzione.
C'è una soluzione?
[GExperts] (http://gexperts.org) ha un visualizzatore di debug e un'unità che aggiungi alla tua app che farà questo per te, anche in XE2.Vedi l'unità 'DebugIntf' e l'applicazione' GExpertsDebugWindow.exe' che include. Funzionano con XE2 Starter (e praticamente tutte le altre versioni di Delphi). –
+1 Verificherò http://www.gexperts.org/tour/index.html?debug_window.html – Mawg
Se la postassi come risposta, probabilmente la assegnerei, nonostante l'aiuto in sterline di @RRUZ Questo è la soluzione con cui andrò - FOR EXE2 STARTER edition. Sembra essere l'unica soluzione che funziona sia dentro che fuori l'IDE. Per le altre edizioni, potrei preferire le grandiose ropzioni di TraceToool, ma Gexperts sembra più che soddisfacente per le mie esigenze. – Mawg