Post mortem call trace
The runtime system can save a procedure call trace on unhandledexceptions. This feature is only available for Win32 and 32-bit DOS extended. Toactivate this feature you need to call the procedure SYSTEM.EnableCallTrace. Whenactivated, exceptions will be handled somewhat slower than otherwise due to the calltrace. The call trace must be done on all raised exceptions. If the exception isnot handled, then the saved call trace is output to disk. The call trace is outputinto a file. The file is in the same location and has the same name as the executablefile but with a DMP file extension instead of EXE. If the DMP file does not existit will be created. If it does exist all existing information in the file is lostand replaced with the new information. The debugger will automatically detect andread this file and display the procedure call trace whenever the program is debugged.With this you can have the users of your program send you the DMP file and you willthen put the DMP file in the directory of the executable file and then debug theprogram to view the call trace at the time of the unhandled exception. Please notethat turning on symbolic debug information alters how the compiler generates codeif the make debuggable option is set to the default value of Yes. Thus to view thecall trace you should only turn on line number debug information and this gives thedebugger enough information to display the source file locations in the procedurecall trace. You may want to enable the compiler Force call frame compiler optionwhen using this call trace feature. If you wish to handle an exception but stilloutput the call trace to disk you can call the procedure SYSTEM.OutputCallTrace fromyour exception handler.