Hello

Hello,

I have a question about StackTrace utilities.

Is it possible to catch the stack of an application during an exception, send the raw data by mail to the support and retrieve the execution context from the map file (or anything else) ?

for instance I want to track a "Division by 0" exception that occurs sometime but don't want to put all the debug data in the released application.

Comments

  1. Yes, we use JclDebug for this. Stack traces are not 100% reliable but almost always get the offending line (but might get some rubbish down the chain).

    ReplyDelete
  2. We use EurekaLog. If you are not using one of these tools, you are "driving blindfolded".

    ReplyDelete
  3. ok, I do use madExcept in debug mode, it's wonderfull, but what I had in mind is something very tiny that just report enough information to locate the error from my own PC...I can't find how to add a silent madExcept report without a custom dialog box...

    ReplyDelete
  4. Paul TOTH In madExcept settings -> exception filter -> all other exception classes select don't show anything and in on exception auto actions select either continue, restart or close application .

    ReplyDelete
  5. EurekaLog allows you to filter/ignore specific exception classes or specific exception message strings.

    The stack trace, optional screen shot, assembly language snapshot, running processes list and a long list of system information is created at crash-time and sent back to your development team. You do not need to post process the log to see the trace. The report can be optionally encrypted.

    You can turn on/off the various details of the report at compile time.

    It supports direct access to most major web-based bug tracking systems, as well as traditional Email (several methods) and FTP transfer of the crash log.

    Full disclosure: I work for them. :-)

    eurekalog.com - Welcome to EurekaLog!

    ReplyDelete
  6. Ok, I've found what I needed finaly !

    1) disable madExcept
    2) add a Application.OnException handler
    3) add a uses to madStackTrace unit
    4) send e.Message + madStackTrace.StackTrace() by mail/http or what you want
    5) call Application.ShowException(e)

    you just need to call madExceptPatch.exe to bind the map file to the exe after compilation (that is done through dcc32 in my case anyway)

    ReplyDelete

Post a Comment