DEBUG.TXT Copyright (c) 1996 xTech Ltd ---------------------------------------------------------------- 1. Using third-party debuggers XDS produces machine code of high efficiency due to advanced code generation scheme but it makes very difficult to provide adequate debugging information. Now XDS compiler can output in an object file line numbers of the source file and information on program procedures and global variables. When appropriate options switched on, compiler generates object files with debugging information in well known CodeView format. So you can use any debugger accepting this information. We have experience with Watcom's debugger WD and IBM's debugger IPMD. In the first case you have to link executable by Watcom's linker WLINK (don't fogget to include option "debug codeview") and then process EXE-file by CVPACK utility. In the second case you have to use LINK386 with option /CO. Note that lacks in debugging information restricts some features of the debuggers. 2. Obtaining a call chain in the case of a program crash XDS run-time support system includes special subroutine wich generates "errinfo.xds" file in the current directory on any abnormal program termination. This file includes name of EXE-file and a call chain at the moment of crash. HIS utility (C:\XDS\BIN\his.exe) decodes this information using program's map-file and outputs a list of procedure calls in the terms of source file names and line numbers. Related compiler option: +LINENO - to include source file line numbers in the object file +GENDEBUG - to include debuggin information on program procedures and global variables +GENHISTORY - to include in MAIN module of a program call to RTS sub- routine whitch generates "errinfo.xds" on any crash of your program. This file contains a sequence of procedure calls at the program abortation. BTW: Does anybody know of the structure of debugging info in EXE-file produced by LINK386 ? This type of structure does not defined in documents we have. The knowlege of this structure will make our and YOUR life with XDS a bit easier. :) [end of document]