Einzelnen Beitrag anzeigen

mjustin

Registriert seit: 14. Apr 2008
3.006 Beiträge
 
Delphi 2009 Professional
 
#2

AW: Kann man mit JclDebug an Exceptions in Indy-Threads herankommen?

  Alt 30. Aug 2013, 17:42
Kann man JclDebug auch einfach die Exception übergeben um den Stacktrace zu erhalten? Ich mache das in meinem Indy-basierten Web Framework, allerdings mit madExcept.

Man muss nur im OnExecute Handler schreiben:

Delphi-Quellcode:
try

  ... werte Request aus, erzeuge die Response

except

  on E: Exception do

    begin
      Response.ContentText := '<!DOCTYPE html>' + #10
        + '<html>' + #10
        + ' <head>' + #10
        + ' <title>500 Internal Error</title>' + #10
        + ' </head>' + #10
        + ' <body>' + #10
        + ' <h1>' + E.ClassName + '</h1>' + #10
        + ' <h2>Exception message: ' + E.Message + '</h2>' + #10
        + ' <hr />' + #10
        + ' <h2>Stack trace:</h2>' + #10
        + ' <pre>' + #10
        + string(madStackTrace.StackTrace) + #10
        + ' </pre>' + #10
        + ' </body>' + #10
        + '</html>';


      // nicht vergessen!
      raise;
    end;
end;
Die Funktion madStackTrace.StackTrace erzeugt dabei den StackTrace. (Der Code oben ist leicht modifiziert, nicht 100% wie in meinem Framework, nur zur Illustration).
Michael Justin
  Mit Zitat antworten Zitat