So erhalten Sie den vollständigen Aufruf-Stack in der Delphi Server-Anwendung

7

Ich habe eine Multi-Tier-Software, die zwei Anwendungen (GUI, DataSnap Server) ist. Meine DataSnap-Server-Anwendung hat einen Fehler Ursache EAccessViolation in einigen Zeiten auftreten. so das:

%Vor%

Ich möchte den vollen Call Stack bekommen und das in der Datei protokollieren. ich benutze auch eurekalog, aber es ist nur für die gui-anwendung effektiv.

    
MajidTaheri 03.05.2012, 05:59
quelle

4 Antworten

9

EurekaLog ist äußerst effektiv für alle Anwendungen. Konfigurieren Sie es einfach so, dass es die Ausnahmen zu einer Datei protokolliert und keine Ausnahmedialoge anzeigt.

    
Harriv 03.05.2012, 06:19
quelle
7

Unsere Open-Source-Protokollierungsklassen haben einen Ausnahme-Interceptor mit Vollständige Aufrufliste, einschließlich Quellcodezeilen.

Die Debugging-Informationen sind stark komprimiert (besser als zip oder andere Formate), optional in die exe.

Open Source, funktioniert mit Delphi 5 bis XE2.

In der neuesten Version (verwenden Sie die Version das Quellcode-Repository - also aktuell 1.16), ist es auch möglich, Ausnahmen zu protokollieren Bibliotheken (dh innerhalb .dll oder .bpl), wie Ihre Anfrage explizit angeben.

Es gibt noch andere Funktionen, wie die Profilierung auf der Kundenseite, die Ihren Kunden helfen kann, und die Anwendungsverbesserungen aus echten Daten (nicht nur in Prüfständen).

    
Arnaud Bouchez 03.05.2012 16:17
quelle
4

Sie können auch MadExcept verwenden, um den Stapel für Ihre Anwendung zu erhalten. Hier haben Sie eine ähnliche Frage madExcept, die Spitze des aktuellen Stapels bekommen

Auch im Zusammenhang mit Ihrer Frage kann Ihnen das helfen

Aufrufliste in einer Delphi Win32-Anwendung anzeigen

    
RBA 03.05.2012 08:01
quelle
0

Ich habe schon MemCheck verwendet, um Callstacks zu rendern, aber ich bin mir nicht sicher Es funktioniert immer noch mit den neuesten Delphi-Versionen.

    
Stijn Sanders 03.05.2012 12:14
quelle