【发布时间】:2013-12-29 15:01:13
【问题描述】:
我只能找到异常消息,如何获取程序名称?
procedure Division;
var
i,j : Real;
begin
try
i:=0;
I:=10/i;
except on E: Exception do
begin
AppendtextFile (E.Message,'Exceptions.txt')
end;
end;
end;
提前致谢
【问题讨论】:
标签: delphi
我只能找到异常消息,如何获取程序名称?
procedure Division;
var
i,j : Real;
begin
try
i:=0;
I:=10/i;
except on E: Exception do
begin
AppendtextFile (E.Message,'Exceptions.txt')
end;
end;
end;
提前致谢
【问题讨论】:
标签: delphi
Embarcadero 提供的普通 Delphi 无法让您获得当前正在执行的过程名称。无论如何,这通常不是很有用,因为您的异常处理程序可能位于调用堆栈的某个位置。
更有用的是导致异常的调用堆栈。你可以得到它,但同样不能使用普通的 Delphi。为了获得此类信息,您需要堆栈跟踪代码(很难做好),以及可执行文件的详细映射。有许多工具可以提供这样的服务:madExcept、EurekaLog、JCL debug 是最常用的。我个人可以推荐其中的第一个,尽管他们都做得很好。
【讨论】: