delphi debugview outputdebugstring

delphi - Cómo ver la salida de OutputDebugString?



debugview (5)

CnWizards contiene una herramienta, CnDebugViewer.exe, que puede capturar OutputDebugString (se debe ejecutar como administrador en Windows 7).

No como DbgView, CnDebugViewer puede crear pestañas separadas para diferentes aplicaciones.

CnPack contiene una unidad, CnDebug.pas. Usando esta unidad, puede rastrear objetos tipeados, colecciones, excepciones, memdump, etc. Con CnDebug.pas, también puede configurar si arranca automáticamente CnDebugViewer, si volcar a un archivo mientras envía mensajes de depuración, etc.

Quiero usar OutputDebugString() en mi aplicación y luego tengo la opción de mostrarlo en un visor por separado cuando la aplicación se implementa en el campo.

Es decir, no quiero tener que cambiar una bandera y reconstruir mi .exe para activar y desactivar la depuración.

Buscando en Google, parece que DebugView debería manejar eso, pero ni él ni TraceTool muestran ningún resultado de este código.

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.

He leído la documentación, sin éxito, y veo que otros han tenido problemas similares, pero no han publicado una solución.

¿Hay una solución?


En mi versión de XE5, tuve que habilitar la opción "Mensajes de salida" en:

Herramientas> Opciones> Opciones del depurador> Registro de eventos

No recuerdo haberlo deshabilitado.


La herramienta DebugView funciona bien; solo asegúrese de iniciar su aplicación directamente (sin el Delphi IDE u otro depurador conectado).

De todos modos, la forma natural de ver la salida de OutputDebugString para una aplicación Delphi es usar Delphi IDE y la ventana del Event Log .



GExperts tiene un visor de depuración y una unidad que agregue a su aplicación que hará esto por usted, incluso en XE2 Starter. Consulte la unidad DebugIntf y la aplicación GExpertsDebugWindow.exe que incluye. Estos funcionan bajo XE2 Starter (y prácticamente todas las otras versiones de Delphi).

GExperts también incluye montones de otras mejoras de IDE y editor que son geniales y, por supuesto, han existido por siempre, por lo que son herramientas bastante sólidas.