EurekaLog公開了幾個事件處理程序,如OnExceptionNotify
。
你可以在你的代碼中實現這些。例如:procedure EurekaLogExceptionNotify( EurekaExceptionRecord: TEurekaExceptionRecord; var Handled: Boolean);
在這裏您可以看到TEurekaExceptionRecord
,它在ExceptionLog.pas
中定義。但是,你可能只是擁有非源碼版本,它可以正常工作。
該記錄有一個EurekaExceptionRecord.CallStack
的列表。該專有列表可以使用CallStackToStrings
方法轉換爲TStrings
,該方法也在ExceptionLog
單位中定義。
這是一個將CallStack寫入StringList的例子。
CallStackList := TStringList.Create;
try
CallStackToStrings(EurekaExceptionRecord.CallStack, CallStackList);
LogMessage := 'An unhandled exception occured. Here is the CallStack.' + #13#10
+ CallStackList.Text;
finally
CallStackList.Free;
end;
從這個出發點至少你應該能夠調查曝光功能,記錄等。所有的信息訪問。
請問D2006具備的'StackTrace'和'StackInfo'屬性'異常類?如果願意的話,EurekaLog會爲您提供您需要的信息。 –
沒有D2006不提供這些屬性。他們[從D2009開始](http://stackoverflow.com/questions/286628/hooking-a-stacktrace-in-delphi-2009)。 –
@DavidHeffernan:你爲什麼刪除標籤eurekalog?問題和答案是指EurekaLog? –