포함 된 CodeSite 익스프레스에서 런타임에 예외 스택 추적을 얻을 수 있습니까? 그렇다면 누구나 이와 관련된 경험이 있거나 사례가 있습니까?포함 된 CodeSite Express를 사용하여 어떻게 Delphi XE 5에서 스택 추적을 얻을 수 있습니까?
오픈 소스 라이브러리에서이를 달성 할 수있는 방법이 있습니까?
로깅을 10 년 이상 된 Delphi 응용 프로그램에 도입 했으므로 로깅하지 않고도 상당한 비율의 응용 프로그램이 남아 있습니다. 따라서 아직 재 작성되지 않은 영역에는 Application.OnException 훅이 있습니다. 프로덕션 환경에서 발생하는 산발적 인 액세스 위반에 대해 의미있는 스택 추적을 갖는 것이 매우 유용합니다. 아래는 내가 이미 가지고있는 것이며, 나는 StackTrace 속성이 비어 있음을 알게되어 실망했다.
class procedure Log.Error(const err: Exception; const method: string);
begin
FileLog(err, method);
end;
class procedure Log.FileLog(const err: Exception; const method: string);
var
_msg: TStringList;
begin
//_msg := Format('%s Failed:%3:s%1:s%3:s %2:s%3:s', [PreparedEntry(method), err.Message, err.StackTrace, sLineBreak]);
_msg := PreparedEntry(Format('%s Failed:', [method]));
_msg.Add(err.Message);
_msg.Add(err.StackTrace);
WriteLog(_msg, _logFileName);
end;
우리는 여전히 델파이 클라이언트 응용 프로그램을 제공하는 다중 계층 .NET의 WCF 서버 응용 프로그램에 델파이 Win32 응용 프로그램에서 마이그레이션의 고급 단계에 있습니다. Delphi XE5를 구매하도록 경영진을 설득 한 후에 (또 다른 개선 된 json 지원 및 라이브 바인딩을 얻으려는) 다른 델파이 구매를 요구하는 것은 매우 어려운 일입니다.
감사
CodeSite Express는 스택 추적 기록을 지원하지 않습니다 ('SendStackTrace' 메소드는 Express Edition에서 지원되지 않습니다). – TLama
나는 그것을 두려워했다. 감사. – reckface
madExcept이 승인을 받았습니다. –