Отображение стека вызовов в приложении Delphi Win32

Я хотел бы отобразить трассировку стека в диалоге ошибок в Delphi 2007 (Win32).

В идеале я хотел бы что-то вроде этого:

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

И чтобы вывод был похож на стек вызовов в IDE:

MYPROGRAM.SomeFunction
MYPROGRAM.SomeProcedure
MYPROGRAM.MYPROGRAM
:7c817067 kernel32.RegisterWaitForInputIdle + 0x49

Ответы на вопрос(3)

Ваш ответ на вопрос