Me gustaría mostrar un seguimiento de pila en un cuadro de diálogo de error en Delphi 2007 (Win32).Mostrar la pila de llamadas en una aplicación Delphi Win32
Idealmente, me gustaría algo como esto:
try
//do something
except on e : exception do
begin
//rollback a transaction or whatever i need to do here
MessageDlg('An error has occurred!' + #13#10 +
e.Message + #13#10 +
'Here is the stack trace:' + #13#10 +
e.StackTrace,mtError,[mbOK],0);
end; //except
end; /try-except
Y para que la salida sea igual que la pila de llamadas en el IDE:
MYPROGRAM.SomeFunction
MYPROGRAM.SomeProcedure
MYPROGRAM.MYPROGRAM
:7c817067 kernel32.RegisterWaitForInputIdle + 0x49
OT: Usaría ['sLineBreak'] (http://docs.embarcadero.com/products/rad_studio/delphiAndcpp2009/HelpUpdate2/EN/html/delphivclwin32/System_sLineBreak.html) en lugar de hardcoded' # 13 # 10'. –