═══ 1. Introduction ═══ Welcome to SeeDump V1.0 from a priori computer solutions GmbH and Wolfgang Neumann. The full package contains: o Postmortem dump analyzer for dumps taken with dumper.dll. o On-Line Help. o A DLL which can be linked with your program to generate a dump file if an exception occurs. o 10 runtime licenses for the dumper.dll. Features o Symbolic and fast dump analyzer just like a symbolic C-debugger. o Complete call hierarchy, from main to failing instruction. o Source code display in convenient notebook pages. o Display of local and global variables. o Context sensitive online-help. o Context sensitive support with popup menus using the right mouse button. o Customizable toolbar. o Integrated REXX as macro language. Supported Compilers o Watcom C/C++ Version 9.5 and above. o CSet/2 2.0 and above. o Borland C++ Version 2.0 (at the moment not completely supported). Quick Start: Switch to subdir containing all the exes. Ensure that the DLLs are in the libpath. Type: set help=seedumpdir;%HELP% SeeDump [dumpfilename] ═══ 1.1. Configuration Variables ═══ Configuration Variables Various paths can be set using the REXX functions set or add in the files bprofile.bag or bstartup.bag. The paths can also be set using the menu item Configuration. It is also possible to use the following environment variables to configure SeeDump: Name Purpose SEEDUMPDUMPDIR Path in which to write the dump files. SEEDUMPEXCEPTIONHANDLER When set, a dump file will be written in the event of a trap/exception. SEEDUMPMAXDUMPS This variable can be used to set the maximum number of dump files which will be written in one particular directory. Whether a new dump file will be written or not can be controlled by the DUMPER_NEWFILE setting in the SEEDUMPREGREC structure. If DUMPER_NEWFILE is set then the environment variable SEEDUMPMAXDUMPS will first be checked to determine the maximum number allowed. A number between 0 and 10 is allowed. If the variable is not set then the default maximum of 10 will be used (DM0-9). ═══ 1.2. Error Reporting ═══ Should an error occur using SeeDump, please report this to a priori computer solutions using one of the possible communication methods given by clicking on the name. We wish to provide the best possible software to help you find critical errors in your software and to do that, we need your input. o If you have a problem which results in a trap/exception in SeeDump itself, set the environment variable described in environment variables and reproduce the error. This will produce a dump file which we can analyze. Send the dump file (packed, which should reduce it to a manageable size) together with the version number information from the about box and a description of how the error occurred. o If you get a popup message which results in the program terminating and this problem persists, then send the following information: 1. build number from the about box. 2. the error log which was written at the time of the error. This file is an ASCII text file containing further information about the error. It will be written to the root directory on the C disk and will have a name of the type DATT_nnn.log where nnn is a number between 000 and 050. Find the file which relates to the error you have and copy it to a diskette or print the information contained in the file. 3. a description of the error situation and your hard- and software configuration. o If SeeDump reports incorrect results or does not function as you expect, please contact a priori with the following: 1. build number from the about box. 2. a description of the error situation and your hard- and software configuration. o If you have suggestions for improvements, please contact a priori, and we will try our best to provide these in a future release. ═══ 1.3. Limitations ═══ The following known limitations exist: o The log file can not be set in the bprofile.bag command file. This leads to unpredictable behavior. It can be set in bstartup.bag or using the menu option. o Array variables with more than 1 dimension can not be displayed directly. Use the Show As menu item to examine this type of variable. o Pointer variables which have a greater nesting level than 2 can not be displayed directly. Use the Show As menu item to examine this type of variable. o An array of typedefs which define a pointer to an anonymous structure can not be displayed directly if examining a CSet dump. Use the Show As menu item to examine this type of variable. o A type which defines an array of another type will display the correct type information but this can not be directly displayed. See above multi-dimensional arrays. o DLLs which are loaded at runtime using DosLoadModule are not supported at the moment. o Source code and other support for Borland has not yet been completed. o The maximum amount of data that can be shown in Hex Format has been limited to 64K bytes in length. o A maximum of 1000 stack variables per function can be displayed. o A maximum of 1000 functions will be shown in the trace history window. ═══ 1.4. Tips ═══ The following tips will help you to use SeeDump efficiently and with minimum errors: o always exit the main function with exit or _exit. Using return can lead to problems because the SeeDump exception handler will not be notified that the program is terminating. o when terminating a thread which was started with _beginthread, always use _endthread. Pass the address of _endthread to the SeeDump exception handler in the SEEDUMPREGREC structure or use the macro SetEndThreadXCPTHandler with the parameter _endthread. o always ensure that the DLLs required by your program are either available in a directory in the libpath setting or in the DLLs directory in the SeeDump Settings Notebook. ═══ 2. Windows ═══ The following information about a dump file can be displayed: o Global Variables o Stack Variables o Stack Trace o Loaded Modules o Slot Dump o Exception Information o Register o Hex Data o Type Data A useful strategy to follow is to first display the stack trace and then the exception information. Further analysis is dependent on the type of exception that occurred. It will however normally involve examining the code and stack variables at the time of the trap. This can be done by selecting the relevant function from the stack trace window and displaying the stack variables and code for this function. ═══ 2.1. Stack Trace Window ═══ The Stack Trace Window displays details about the function call history leading up to the exception. The functions are displayed in the reverse call order, so that the last function called will be displayed at the beginning of the list. The following information is displayed in this window: Function The name of the function. File The name of the file where the function can be found. EIP The last executing address in this function. EBP/ESP The stack frame current at the time of the trap/exception. The user can select an item to analyze from the list presented. A popup menu is available by clicking mouse button 2. The default action performed when the user presses ENTER is equivalent to the Stack Variables menu item below. This action is only possible for user functions. The popup menu offers the following choices: Stack variables Shows the stack variables window and source window for the selected function. Edit EBP This item allows the user to manually edit the value of the EBP for the selected function by displaying a simple dialog which allows the user to enter a new value for the EBP. This is normally not necessary, as the value shown is correct. If, however, the value has been corrupted, then this can lead to spurious results. By changing this value the user can investigate the values of the stack variables which result when the EBP has the value specified. A new dialog is displayed which allows the user to change the value of the EBP. Help Displays this help. Close Window Closes the window. End SeeDump Terminates the analysis-program. Windows This menu choice can be selected to show the current windows which are open in SeeDump. Selecting one of the windows will make it the active window. ═══ 2.2. Global Variables Window ═══ This window shows all the global and/or static variable information for the EXE and loaded DLLs for which symbol information was found in the dump file. The following fields are displayed: Name Description Name Name of variable and line number of definition. Type Type of variable. Address Address of variable. *Address Hexadecimal value of the contents of the variable (4 Byte). Module Name of the module where the variable was defined. The user can select an item to analyze from the list presented. A popup menu is available by clicking mouse button 2. The default action performed when the user presses ENTER is equivalent to the Show Data menu item below. This action is only possible for structures, unions, pointers, and arrays. The popup menu offers the following choices: Show Data The data for the relevant item will be shown in a new window. If the item is a pointer, the pointer will first be de-referenced so that the data element pointed to is displayed. This choice is only valid for structures, unions, typedefs, pointers, and arrays. The contents of the variable will then be displayed. Raw Data A new window will be displayed containing a 4K page of data starting at the address selected in hex format using the default display format. See hex dump for more information about the new window. Each time this choice is selected, a new window will be opened. Show As A new dialog is presented which uses the information from the relevant item to allow the user to type cast the data at the given address. This option is only valid for structures and arrays. The user can change the given information to type cast the data or change the given address. See structure display for more information about the new window. Each time this choice is selected, a new window will be opened. Help Displays this help. Close Window Closes the window. End SeeDump Terminates the analysis-program. Windows This menu choice can be selected to show the current windows which are open in SeeDump. Selecting one of the windows will make it the active window. ═══ 2.3. Stack Variables Window ═══ This window contains information about the automatic variables for the current stack frame/function. The following fields are displayed: Name Description Name Name of variable and line number of definition. Type Type of variable. Address Address of variable. Hex Value Hexadecimal value of variable (up to 16 bytes) Value Formatted value of variable (16 bytes for a string) The user can select an item to analyze form the list presented. A popup menu is available by clicking mouse button 2. The default action performed when the user presses ENTER is equivalent to the Show Data menu item below. This action is only possible for structures, unions, typedefs, pointers and arrays. The popup menu offers the following choices: Show Data The data for the relevant item will be shown in a new window. If the item is a pointer, the pointer will first be de-referenced so that the data element pointed to is displayed. This choice is only valid for structures, unions, typedefs, pointers and arrays. The contents of the variable will then be displayed. Raw Data A new window will be displayed containing a 4K page of data starting at the address selected in hex format using the default display format. See hex dump for more information about the new window. Each time this choice is selected a new window will be opened. Show As A new dialog is presented which uses the information from the relevant item to allow the user to type cast the data at the given address. This option is only valid for structures, unions, pointers and arrays. The user can change the given information to type cast the data or change the given address. See structure display for more information about the new window. Each time this choice is selected a new window will be opened. Help Displays this help. Close Window Closes the window. End SeeDump Terminates the analysis-program. Windows This menu choice can be selected to show the current windows which are open in SeeDump. Selecting one of the windows will make it the active window. ═══ 2.4. Type Data Window ═══ This window contains detailed information about the variable selected. The variable must have previously been selected from the global variables or stack variables window and not be a fundamental type but one of structure, union, typecast, array or pointer. The following fields are displayed: Name Description Name Name of variable and line number of definition. Type Type of variable. Address Address of variable. Hex Value Hexadecimal value of variable (up to 16 bytes) Value Formatted value of variable (16 bytes for a string) A popup menu is available by clicking mouse button 2 when the mouse is positioned above the item of interest. The default action performed when the user presses ENTER is equivalent to the Show Data menu item below. This action is only possible for structures, unions, typedefs, pointers and arrays. The popup menu offers the following choices: Array + By selecting this item a new address will be formed using the address of the first item currently displayed plus the total number of bytes of data currently displayed. The data at the new memory address will be displayed as though it was of the same type as that currently displayed. The memory area can be thought of as an element in an array which is constructed for this purpose. The user must decide whether it is appropriate to use this function. It is very useful when a pointer to an array of structures has been defined. The data in the current window will be overwritten with the new data. Array - By selecting this item a new address will be formed using the address of the first item currently displayed minus the total number of bytes of data currently displayed. The data at the new memory address will be displayed as though it was of the same type as that currently displayed. See Array + above for more information. The data in the current window will be overwritten with the new data. Show Data The data for the relevant item will be shown in a new window. If the item is a pointer, the pointer will first be de-referenced so that the data element pointed to is displayed. This choice is only valid for structures, unions, typedefs, pointers and arrays. Raw Data A new window will be displayed containing a 4K page of data starting at the address selected in hex format using the default display format. See hex dump for more information about the new window. Each time this choice is selected a new window will be opened. Show As A new dialog is presented which uses the information from the relevant item to allow the user to type cast the data at the given address. This option is only valid for structures, unions, pointers and arrays. The user can change the given information to type cast the data or change the given address. See structure display for more information about the new window. Each time this choice is selected a new window will be opened. Help Displays this help. Close Window Closes the window. End SeeDump Terminates the analysis-program. Windows This menu choice can be selected to show the current windows which are open in SeeDump. Selecting one of the windows will make it the active window. ═══ 2.5. Source Notebook ═══ The source notebook shows the source code of the selected function. The source files must be in the path specified by the configuration. The source code is presented as read only. A popup menu with the following choices is available by clicking mouse button 2: Remove Page The active source code page will be removed from the notebook. Stack variables Shows the stack variables window. Goto active line Jumps to the last active line in this function. This will either be the line executing when the exception occurred, or, if this function is higher up in the call hierarchy, the statement calling the function lower in the hierarchy. Show complete module Adds the complete source file containing the current function to the notebook. Help Displays this help. Close Window Closes the window. End SeeDump Terminates the analysis-program. Windows This menu choice can be selected to show the current windows which are open in SeeDump. Selecting one of the windows will make it the active window. ═══ 2.6. Loaded Modules Window ═══ The loaded modules window displays information about the loaded modules in the process scope at the time of the error. The number of the object together with the originating module name is displayed and then for each the following information for each object in this module: Object number The number of the memory object as displayed by exehdr. Object length The length of the memory object. Object flags The flags for this memory object as described in DosQueryMem. Object Type The type of object which can be data, data16, code or code16, where 16 implies a 16-bit memory object and otherwise a 32-bit object. The user can select an item to analyze form the list presented. Only data objects can be displayed. A popup menu is available by clicking mouse button 2. The default action performed when the user presses ENTER is equivalent to the Raw Data menu item below. The popup menu offers the following choices: Raw Data A new window will be displayed containing a 4K page of data starting at the address selected in hex format using the default display format. See hex dump for more information about the new window. Each time this choice is selected, a new window will be opened. Help Displays this help. Close Window Closes the window. End SeeDump Terminates the analysis-program. Windows This menu choice can be selected to show the current windows which are open in SeeDump. Selecting one of the windows will make it the active window. ═══ 2.7. Dump Slot Window ═══ This window displays information about the memory slots to be found in the dump file. The linear address and length of each memory area is shown. The user can select an item to analyze from the list presented. A popup menu is available by clicking mouse button 2. The default action performed when the user presses ENTER is equivalent to the Raw Data menu item below. The popup menu offers the following choices: Raw Data A new window will be displayed containing a 4K page of data starting at the address selected in hex format using the default display format. See hex dump for more information about the new window. Each time this choice is selected, a new window will be opened. Help Displays this help. Close Window Closes the window. End SeeDump Terminates the analysis-program. Windows This menu choice can be selected to show the current windows which are open in SeeDump. Selecting one of the windows will make it the active window. ═══ 2.8. Exception Information Window ═══ This window displays extended information about the exception which occurred. The following information is available: Exception Details The number of the exception as documented in the OS/2 CP Guide and Reference together with a text description and the name of the executable in which the error occurred. Function Details The name of the module (source code file), the function name and the line number in the source file. Process Info This information is taken from the PIB for the failing process. The Process ID, parent process ID, module handle, status and type are shown. Thread Info This information is taken from the TIB for the failing thread. The thread ID, priority, slot, stack base address and stack end address are shown. Note: See the OS/2 CP Guide and Reference for more information about PIB and TIB. ═══ 2.9. Register Window ═══ The contents of the 32-bit registers at the time of the exception are displayed in this window. They are divided into six classes Class Names General EAX EBX ECX EDX ESI EDI EBP ESP Segment CS DS ES SS FS GS Status EIP and EFlags Protection GDTR IDTR LDTR TR Control CR0 CR1 CR2 CR3 Debug and Control DR0-DR7 and TR1-TR7 EFlag Values Meaning AC - Alignment Check VM - Virtual 8086 Mode RF - Resume Flag NT - Nested Task Flag IO - I/O Privilege Level This 2 bit field (values 0 to 3) holds the privilege level to perform I/O operations. OF - Overflow Flag DF - Direction Flag IF - Interrupt Enable Flag TF - Trap Flag SF - Sign Flag ZF - Zero Flag AF - Auxiliary Flag PF - Parity Flag CF - Carry Flag Set when the result of an arithmetic operation is too large or too small for the destination. ═══ 2.10. Hex dump window ═══ This window displays data as raw memory (hex dump) using the format specified in the settings notebook. Note: The characters on the right-hand side of this window are always shown in the byte dump format, independent of the selection in this window's popup menu or the settings notebook. A popup menu with the following choices items is available by clicking mouse button 2. Byte dump Formats the hex dump output as single bytes. However, the bytes are arranged in 4-byte groups to make it easier to read. Do not confuse this dump with the DWord dump where the bytes are swapped according to the Intel (little endian) format. This format is recommended for string output. Word dump Formats the hex dump output with 2 bytes separated by a blank. This is useful when looking at short values. DWord dump Formats the hex dump output using 4 bytes and Intel format. This is useful when looking at addresses or long values. Help Displays this help. Close Window Closes the window. End SeeDump Terminates the analysis-program. Windows This menu choice can be selected to show the current windows which are open in SeeDump. Selecting one of the windows will make it the active window. ═══ 2.11. Settings Notebook ═══ SeeDump can be configured using the SeeDump Settings Notebook activated from the main window menu Configuration Seedump... . This notebook contains pages for the following items: 1. Directory Paths 2. Startup Preferences 3. Hex Format The Settings will be saved when the notebook is closed using ALT-F4 or double-clicking with mouse button 1 on the system icon. ═══ 2.11.1. Directories Setup ═══ The user can specify directory settings for the following items: Note: Use a semicolon as separator to specify more than one directory. Directory Description Symbols The specified directory/directories will be searched for the symbol files. Source The specified directory/directories will be searched for the source code files for the executable in which the error occurred. EXEs The specified directory/directories will be searched for the executable file in which the error occurred. DLLs The specified directory will be searched for the DLLs used by the executable in which the error occurred. Macros The specified directory/directories will be searched for the REXX macro files. Work Temporary files will be written in this directory. Dumps The user can specify one directory which will be used as the default directory when displaying the file dialog to load a dump file. The following push buttons are available on this page: Undo Undo the changes which have been performed on this page since last saving it. Default Sets the settings to the default for SeeDump. Help Displays this help. ═══ 2.11.2. Startup Preferences ═══ When SeeDump is started, it is possible to specify default display panels which the user always requires to have opened on startup and also to specify other options for the User Interface. The possible options are: Option Description Sound on Sound will be turned on. Exception Info The Exception Information panel will automatically be displayed on startup. Stack Trace The Stack Trace panel will automatically be displayed on startup. Progress Messages Progress messages will be displayed in the startup dialog to indicate what the status currently is. Rexx Prompt A window for a REXX prompt will be automatically opened on startup. The following push buttons are available on this page: Undo Undo the changes which have been performed on this page since last saving it. Default Sets the settings to the default for SeeDump. Help Displays this help. ═══ 2.11.3. Hex Data Format ═══ The default hex data format to use when displaying Raw Data can be specified here. Option Description Group Bytes The bytes can be shown grouped together in 2 bytes as Word, in 4 bytes as DWord, or each byte can be shown alone. Note that the characters on the right-hand side of the Hex dump window are always shown in the byte format, independent of this setting. Byte Order The order can be Intel or Big Endian. At the moment only Intel has been implemented. The following push buttons are available on this page: Undo Undo the changes which have been performed on this page since last saving it. Default Sets the settings to the default for SeeDump. Help Displays this help. ═══ 2.12. Dump Files Window ═══ This window lists all the dump files in the directory given as dump file path in Seedump's settings. The following information is displayed: Name Description Dumpfile The name of the dump file. Executable The name of the executable where the error occurred. Timestamp Time when the dumpfile was written. Status Flag which indicates whether the dump file was written without errors. A value of 0 (null) indicates no error. Any other value indicates an incomplete dump. The popup menu offers the following choices: Load file Loads the marked dump file into memory. This only works if no other dump file was yet loaded. Pressing this item is the same as double-clicking on the selected dump file or pressing Enter when the dump file of interest is highlighted. Help Displays this help. Close Window Closes the window. End SeeDump Terminates the analysis-program. Windows This menu choice can be selected to show the current windows which are open in SeeDump. Selecting one of the windows will make it the active window. ═══ 2.13. History Window ═══ The History window shows status and error information as well as the output from the SeeDump REXX macros. ═══ 2.14. Edit EBP ═══ Use this dialog to enter a new value for the EBP. ═══ 3. Menu Items ═══ The following main menu items are available from the SeeDump window: o Control o Display o Configuration o Help ═══ 3.1. Control ═══ The control menu items allow the user to control the execution of SeeDump program. The following items are available: 1. Unpack/Load dump 2. Set log file/Close log file 3. REXX Prompt 4. Show dump files 5. Close child windows 6. Exit 7. Windows ═══ 3.2. Display ═══ Using this menu the user can display different views of the dump file. The possibilities are: 1. Global variables 2. Show Memory 3. Register 4. Loaded Modules 5. Exception Information 6. Stack Trace 7. Dump Slots ═══ 3.3. Configuration ═══ This menu allows the user to configure the SeeDump program and toolbar. 1. SeeDump 2. Toolbar ═══ 4. REXX Functions ═══ The following REXX functions are available: o Fetchaddr o Struct o Globvar o Get o Stacktrace o Bye o Set or Add ═══ 4.1. Fetchaddr ═══ Fetchaddr addr slen The function Fetchaddr fetches the memory of an array element into rc. The parameter addr is the address of the memory and parameter slen is the length of the memory, which is to be fetched. Example ═══ 4.2. Struct ═══ Struct "name" The function Struct gets the struct info of the structure name. The name parameter is case sensitive, so it must have parentheses. The result is copied into the stem variable Struct. Struct.0 is set to the number of elements in the stem variable. Example ═══ 4.3. Globvar ═══ Globvar "name" The function Globvar gets the address of global variable with the name name. The name parameter is case sensitive, so use parenthesis. The result is given in rc. Example ═══ 4.4. Get ═══ Get variables Right now, only register is supported. Supported registers are: reg.eax, reg.ebx, reg.ecx, reg.edx, reg.esi, reg.edi, reg.esp, reg.ebp, reg.eip, reg.cs, reg.ds, reg.es, reg.ss, reg.fs, reg.gs Example ═══ 4.5. Stacktrace ═══ Stacktrace The function Stacktrace reads the stack trace into the stem variable Stacktrace. After the call Stacktrace.0 is set to the number of elements in the stem variable. Example ═══ 4.6. Bye ═══ Bye The function Bye terminates SeeDump. ═══ 4.7. Set or Add ═══ The following table contains a description of the set and add functions: ┌─────────────┬─────────────┬──────────────────────────────┐ │Command │Keyword │Value │ ├─────────────┼─────────────┼──────────────────────────────┤ │Set or Add │SOURCE │directory name(s) separated by│ │ │ │';' Example │ ├─────────────┼─────────────┼──────────────────────────────┤ │ │SYMBOLS │directory name(s) separated by│ │ │ │';' Example │ ├─────────────┼─────────────┼──────────────────────────────┤ │ │EXES │directory name(s) separated by│ │ │ │';' Example │ ├─────────────┼─────────────┼──────────────────────────────┤ │ │DLLS │directory name. Example │ ├─────────────┼─────────────┼──────────────────────────────┤ │ │MACROS │directory name(s) separated by│ │ │ │';' Example │ ├─────────────┼─────────────┼──────────────────────────────┤ │ │WORK │directory name(s) separated by│ │ │ │';' Example │ ├─────────────┼─────────────┼──────────────────────────────┤ │Set │LOG │file name Example │ ├─────────────┼─────────────┼──────────────────────────────┤ │ │DUMPS │Directory name. Example │ └─────────────┴─────────────┴──────────────────────────────┘ ═══ 5. Version History ═══ Change History for SeeDump Version 1.00 The change history is displayed below with the most recent changes displayed first. Build 1.0012 o intermittent error in the demangling routines (C++) fixed. o error in the interpretation of the symbol information for CSet/Visual Age C++ fixed. o length of source code line displayed in the source notebook increased from 255 to 512 characters. o added the environment variable SEEDUMPMAXDUMPS which controls the maximum number of dump files which will be written. For more details see Configuration Variables. Build 1.0011 o fixed error using type definitons across multiple modules in CSet/Visual Age. Build 1.0010 o added support for C-Code compiled using the new Visual Age C++ from IBM. o fixed error in dumper.dll which sometimes caused an error with PCI-bus hardware o added ability to display static global variables using CSet/Visual Age C++. o fixed error displaying the source code when the debug table data spanned several segments. o added demangling support for CSet/Visual Age C++. Build 1.0009 o fixed error displaying list of loaded modules which occurred if using a dll with CodeView symbol tables. Build 1.0008 o fixed error which occurred with forwarders. Build 1.0007 o removed formatting error which appeared in Build 1.0006. o improved interpretation of CSet symbol information. Build 1.0006 o added extra checking for modules without objects (OS/2 Warp). o fixed small problem with SeeDump's settings notebook. o Help for error messages added. o display of hex dump improved. o fixed error which sometimes occurs searching for the correct source line number in the CSet symbol information. Build 1.0005 o fixed problem using multi-segment symbol information with CSet. o allow display of types which define an anonymous structure (CSet). o display types which define an array of another type (CSet). o internal code cleanup for MCLB handling. Build 1.0004 o added extra checking for modules with no data segment. o fixed error in load dump file dialog to stop program ending after user pressed cancel. o fixed error displaying dump file name in trace history. o fixed error saving window position in error cases. o default size of settings notebook corrected. Build 1.0003 o Improved support for displaying CSet typedefs and structures. o Remove display of exception message for valid guard page exceptions. Build 1.0002 o Added listbox to display list of dump files. o Added dump directory to settings notebook. o Improved display of data. o Fixed error in listbox retrieve item function. Build 1.0001 o Initial version. ═══ Toolbar ═══ Selecting this item will display the toolbar customization dialog. ═══ SeeDump ═══ The settings notebook will be displayed which allows the user to set various configuration parameters for SeeDump. ═══ Help ═══ The Help menu allows the user to select from the following items: 1. Help for Help 2. Help for Keys 3. Extended Help 4. Help Index 5. About ═══ Show Memory Dialog ═══ Show Memory allows the user to display a memory area in the format required. The user is presented with a dialog containing a default start address, a default length, and a default type cast. By overtyping these values, the user can display any memory area which is contained in the dump file. It is also possible to display a hex dump of a memory area by specifying a cast of char *. ═══ Set/Close log file ═══ When no log file has been opened, the menu item Set log file can be selected to open a log file. A file dialog will appear and the user can specify the name for the log file. If the file already exists, the user will be prompted with another dialog and can choose to overwrite or append to the log file. If a log file is already open, the menu item Close log file will appear, which allows the user to close the log file in use. Whenever data is read from the dump file and the log file is open, the data will be copied into the log file and can be analyzed using other tools or the REXX interface. ═══ REXX Prompt ═══ The REXX prompt provides the user with an input window where REXX commands can be entered. The output generated by the REXX command is displayed in the History window. Input for REXX using the parse pull command results in a temporary dialog being opened for the user to enter his or her input. A slight delay will occur when starting a new script or before the execution of a command takes place because a new thread is started each time and must be initialized. Only one REXX command is allowed to run at any one time. The following REXX functions are available: o Fetchaddr o Struct o Globvar o Get o Stacktrace o Bye o Set or Add ═══ Close Child Windows ═══ Close Child Windows will close all the child windows which have been opened during this session of SeeDump analysis. This can also be achieved using ALT-c. ═══ Exit ═══ Exit terminates the application. ═══ Windows ═══ Windows displays a list of all child windows which are currently open. By selecting from this list, the window will be selected and activated. ═══ Global Variables ═══ Selecting Global Variables will open the Global Variables window containing all relevant information about the global variables in the dump file. The user can select to display: o all global variables o all non static global variables o all static global variables Note: With the IBM C-Set++ and Visual Age C++ compilers it is not possible to show only the static global variables. Choosing the option all static global variables will display a message but not display the contents of any variables. Static external variables which have file scope will be displayed by the all global variables selection together with other external variables. ═══ Register ═══ Register will display the Register Window. ═══ Loaded Modules ═══ Selecting loaded modules opens the loaded modules window which displays data about the loaded modules in the dump file. ═══ Exception Information ═══ Selecting Exception Information will display the exception information dialog window. ═══ Stack Trace ═══ Selecting Stack Trace will display a window containing the list of functions which were called leading up to the exception. The Stack Trace Window can then be used to examine the stack variables and the source code of the function. ═══ Dump Slots ═══ Selecting Dump Slots causes the Dump Slot Window to be displayed. This window contains information about memory slots which were written to the dump file. ═══ Unpack/Load dump ═══ Unpack/Load dump allows the user to specify the dump file to be analyzed. This item is only available when no dump file has been loaded. Note: Only dump files packed with SAVERAM can be unpacked. Note: It is at the moment not possible to load a new dump file to replace the file already loaded. This will be remedied as soon as possible. ═══ Toolbar customization ═══ Toolbar customization allows the user to configure the toolbar by using its drag and drop features. The top toolbar is the buffet, it contains all the built-in items. The bottom toolbar represents the toolbar you want to modify. You can drag items: o From the buffet to the bottom toolbar to add them. o Inside the bottom toolbar to change their ordering. o From the bottom toolbar to the shredder icon to remove them. You can click on an item to pop up a message box with its description. You can also click on the right mouse button over a bottom toolbar item to display the context menu and do more advanced modifications. ═══ REXX prompt ═══ The REXX prompt provides the user with a input window where REXX commands can be entered. The output generated by the REXX command is displayed in the History window. The following REXX functions are available: o Fetchaddr o Struct o Globvar o Get o Stacktrace o Bye o Set or Add ═══ Show Memory Dialog ═══ This dialog will display the starting address, length and the default typecast. The user can change any of these values by simply typing over them. On pressing ENTER, a new window will be displayed. This will either be a memory area displayed in hex format (hex data window) or a window containing the type data. If a type cast has been performed, the window title will contain the words "Show As" to indicate that the user has requested a type cast. ═══ Keys ═══ The following keys are available: o main window and all listbox windows: F3 Exit ALT-c Close All Windows o data type display: ALT-+ equivalent to array + menu item ALT- - equivalent to array - menu item ═══ example for Fetchaddr ═══ /* example for Fetchaddr */ Fetchaddr addr slen; data = rc; ═══ example for Struct ═══ /* example for Struct */ Struct "dum"; do i=0 to Struct.0 say Struct.i; end; ═══ example for Globvar ═══ /* example for Globvar */ p1 = "aaa10"; Globvar p1; say p1 " at " d2x(rc); ═══ example for Get ═══ /* example for Get */ get register; say "displaying some registers say "register esp="reg.esp; say "register ebp="reg.ebp; ═══ example for Stacktrace ═══ /* example for Stacktrace */ stacktrace; say stacktrace.0; say "stack trace"; do i = 1 to stacktrace.0 say stacktrace.i; end; ═══ example for SOURCE ═══ Set SOURCE ".;c:\SeeDump\Samples" to set the path for looking up source information. The path found in the EXE itself will be searched last. ═══ example for SYMBOLS ═══ Set SYMBOLS ".;c:\Seedump\Exe" to set the path for looking up symbol information. The path found in the EXE itself will be searched last. ═══ example for EXES ═══ Set EXES ".;c:\Myprog\Bin" to set the path to search for the EXE file in which the error occurred. ═══ example for DLLS ═══ Set DLLS "c:\Myprog\Dll;" to set 1 additional directory for loading DLLs required by your program. ═══ example for MACROS ═══ Set MACROS ".;c:\Seedump\Macros" to set the path to search for the REXX command files written for SeeDump. ═══ example for WORK ═══ Set WORK "c:\temp" to set the path for storing temporary information like unpacked dumps. ═══ example for LOG ═══ Set LOG "logfile" Sets logging on. All window contents will be written into file logfile. ═══ General ═══ On this page you can change the title and the bitmap of the item you are editing. An item must have at least one of the two. Use the Title-field to enter the text you want to appear below the bitmap. Select one of the following buttons to change the bitmap: No Bitmap To have no bitmap for this item. Built-in... To select one of the built-in bitmaps for this item. Load file... To load a bitmap file of your choice. Create... To create a new bitmap using the iconeditor that comes with OS/2. Edit... To edit the bitmap with the iconeditor. Note: Editing does not work with the built-in bitmaps. Press the Undo-button to undo your changes. ═══ Position ═══ You can create an item at the End of the toolbar, Before or After the current item. Note: If you did not display the context menu over an item, you can just chose End. If you select the Non selectable item button, the created item will not be selectable and will just be used as a decoration. If you select the Spacer button, the created item will be an item without text, bitmap or frame, which can be used as a separator. Press the Undo-button to undo your changes. ═══ Action ═══ On this page you can select the action associated with the item. For the item you want to create or edit, choose one of the functions from the function list. When you select a function, the description field shows you a short description of what the selected function does. Press the Undo-button to undo your changes. ═══ Style ═══ You can check the following items to change the general style of the Toolbar: Show the text Display the text. Frame the items Draw a 3D frame around each item. Autosize If checked, the items are sized according to the bitmaps. If not checked, use the Width and Height fields to specify the size in pixels you want to give to each item. If the item is smaller, it is centered. If the item is bigger, the bitmap is shrunk. There are three shrink modes: Ignore Ignore the lost lines and columns, works best for bitmaps with lots of colors. And Works best for bitmaps with dark drawings on light backgrounds. Or Works best for bitmaps with light drawings on dark backgrounds. ═══ Direct Manipulation ═══ You can use drag and drop to copy or move items between toolbars. The default operation is move, but you can also do a copy if you press the Control key while dropping. It is possible to do drag and drop between toolbars from different applications. The submenus attached to an item are not kept if you do a copy, or if you do a drag and drop between different applications. If you press the Alt key while dropping over an item, the operation will be a copy to the submenu of this item. If it had no submenu, one will be created. A frame is drawn around the destination item. On an horizontal or matrix toolbar, the dropped item can go either to the left or to the right of the destination item, depending on the drop zone. On a vertical toolbar, it goes to the top or to the bottom of the destination You can drop on the part of the toolbar where there are no items, the dropped item will be added at the end. An item can be rendered as a bitmap file. If its bitmap comes from a file and not from the application, an item can be dropped for example on iconedit to edit its bitmap. If a bitmap file is dropped, a new item using this bitmap is created. An item can also be dropped on the shredder to be deleted. Fonts and colors can be dragged and dropped from the system palettes to change the appearance of the toolbar. ═══ Toolbar buffet dialog ═══ The top toolbar is the buffet, it contains all the built-in items. The bottom toolbar represents the toolbar you want to modify. You can drag items : o From the buffet to the bottom toolbar to add them. o Inside the bottom toolbar to change their ordering. o From the bottom toolbar to the shredder icon to remove them. You can click on an item to pop up a message box with its description. You can also click on the right mouse button over a bottom toolbar item to display the context menu and do more advanced modifications. ═══ Toolbar Menu ═══ You can select an action which will affect either one item or the whole toolbar. Press Edit item... to display a notebook to select the bitmap, text and action associated to the item. Create item... to display a notebook to select the bitmap, text, action and position of the new item. Delete to delete the item on which the context menu was popped up. Change style... to display a dialog to modify the appearance of the toolbar. Load default to switch back to the original toolbar. Import... to restore a toolbar from a file. Export... to save a toolbar to a file. ═══ Item Selection ═══ An item in one of the multi-column listboxes can be selected in one of the following ways: 1. highlight the required item using the mouse or cursor and then press the ENTER key. 2. using mouse button 1 double click on the required item. 3. move the mouse to the required item and press mouse button 2. A box will appear around the item selected to indicate on which data the action will be performed. A popup menu will appear from which various actions can be selected using the mouse or cursor. Note: an exception to this is when displaying variable information. In this case the array + and array - actions will take place using the complete set of data displayed in the window. For other actions, which do not use data from the window, the item will also be surrounded by a box, e. g. Close Window. ═══ About Box ═══ The About Box contains the Build Number of SeeDump. This information is always required when contacting technical support. ═══ a priori computer solutions ═══ a priori computer solutions GmbH can be contacted at: Muenchener Str. 13 D-60329 Frankfurt Germany Fax: +49 69 236426 EMAIL: 100137.2315@compuserve.com About a priori computer solutions. The company specializes in software for client and server computers with particular emphasis on OS/2. It supplies software to some of the leading finance and industrial companies in Germany as well as producing its own products. SeeDump resulted from prototyping work done by Wolfgang Neumann for the software running on the communications switches for the Datex-J service offered by German Telekom. ═══ File Dialog ═══ Use this dialog to select the file you want to work with. ═══ example for DUMPS ═══ Set DUMPS "x:\dumpdir" Sets the directory which will be used for the file dialog when loading a dump file. ═══ Show dump files ═══ Selecting this item will display a list of dump files in the directory given in Seedump's settings. ═══ License Information ═══ In this package you have a license to install the PM-console EXE and developer environment on 1 client machine. Additionally you have the right to distribute 10 copies of the runtime DLL (dumper.dll). Should you wish to use the EXE or developer environment on more than 1 machine, you must purchase additional copies. Should you wish to distribute more than 10 copies of the runtime DLL, you must obtain a license for them. To do this, simply fill in the order form which was delivered with this product. ═══ Message 7000 ═══ Message: is not a dump file Description: is not a dump file readable by SeeDump. Recovery: Select a valid dump file. If you are unsure about this, select the "Show dump files" menu item to see which files in the directory stated in the settings notebook are actually dump files. ═══ Message 7010 ═══ Message: .bag returned REXX error . Description: The REXX error which occurred while processing .bag. Recovery: Correct your REXX program. See also: o REXX prompt ═══ Message 7020 ═══ Message: is not a valid address for the stack. Description: The address you entered is not a valid stack address. Recovery: Enter another address and try again. ═══ Message 7030 ═══ Message: Address is not allocated Description: The requested data is not available because the given address was not found in the dump file. This probably means that the required variable was not allocated at the time of the error. Recovery: Press OK ═══ Message 7040 ═══ Message: Allocating dump buffer Description: SeeDump could not allocate memory for the dump file. There is probably not enough space on your disk. Recovery: Free some space on the disk where the swapper file is located. ═══ Message 7050 ═══ Message: Bye reason . Description: SeeDump terminates with the given return code . Recovery: Press OK. ═══ Message 7060 ═══ Message: Can not show just static globals using CSet/2 or Visual Age C++ compilers. Description: The symbol table information for CSet/2 and Visual Age C++ do not distinguish between static and non-static global variables. No data will be shown. Recovery: This message is for information only. Press OK. ═══ Message 7070 ═══ Message: Cannot read EBP. Description: SeeDump cannot determine the EBP value from the listbox entry. Recovery: If this message occurs again, please contact a priori computer solutions. ═══ Message 7080 ═══ Message: Cannot initialize help, file not found. Description: The help file could not be found in the help path. Recovery: Make sure the file is in the help path and start SeeDump again. ═══ Message 7090 ═══ Message: Cannot recognize '' as a hexadecimal number. Description: The entered number could not be recognized as a hexadecimal number. Recovery: Make sure the number only contains the characters 0 to 9 and a to f , either upper or lower case. A prefix (0x) is not required. ═══ Message 7100 ═══ Message: Coprocessor error. Description: Before main was reached, a coprocessor error occurred. This can happen in C++ code which is executed before main. Recovery: If this message occurs again, please contact a priori computer solutions. ═══ Message 7110 ═══ Message: CSet/2 Line Information incorrect! line number(s) greater than 32768. Description: CSet's line number information is not as expected. Probably CSet optimized and/or rearranged the line information. Recovery: Try recompiling with correct switches. ═══ Message 7120 ═══ Message: DLL not found. Description: The specified DLL could not be found. Recovery: Make sure the DLL is in a directory in your libpath. ═══ Message 7130 ═══ Message: Debug Error Description: SeeDump detected an error during initialization. Recovery: If this error occurs again, please contact a priori computer solutions. ═══ Message 7140 ═══ Message: Error inserting item into listbox. Description: SeeDump could not insert an item into the listbox. There is probably not enough space on your disk, or this is due to an internal PM error. Recovery: If this error occurs again, please contact a priori computer solutions. ═══ Message 7150 ═══ Message: Error allocating memory. Description: SeeDump could not allocate memory. There is probably not enough space on your disk. Recovery: Free some space on the disk where the swapper file is located. ═══ Message 7160 ═══ Message: Error creating notebook. Description: SeeDump could not create the settings notebook due to an internal error in PM. Recovery: If this error occurs again, please contact a priori computer solutions. ═══ Message 7170 ═══ Message: Error processing help request Description: The requested help panel could not be found. Recovery: Please contact a priori computer solutions. ═══ Message 7180 ═══ Message: Error starting process. Description: SeeDump could not start your program. Recovery: Please make sure that the configuration is correct and start SeeDump again. ═══ Message 7190 ═══ Message: Error starting thread. Description: SeeDump could not start a second thread. Recovery: If this error occurs again, please contact a priori computer solutions. ═══ Message 7200 ═══ Message: Exception (...) winerror Description: SeeDump internal error. Recovery: Please contact a priori computer solutions. ═══ Message 7210 ═══ Message: Exception at (...) Description: SeeDump internal error. Recovery: Please contact a priori computer solutions. ═══ Message 7220 ═══ Message: Function not implemented. Description: The requested Rexx function is not implemented. Recovery: Press OK. See also: o REXX prompt ═══ Message 7230 ═══ Message: Invalid address Description: The selected address is not valid, i. e. no data can be displayed for the given address, because the address is not in the user's address space. Recovery: Press OK. ═══ Message 7240 ═══ Message: Invalid selection Description: The selection is not valid. Recovery: Please select a valid item. ═══ Message 7250 ═══ Message: Line not found in Description: The line of interest could not be found in the source file. The source file has probably been changed since the EXE was built. Recovery: Make sure that you have the correct source file which matches your program for which you have received the dump file. ═══ Message 7260 ═══ Message: No contextrecord Description: Severe system error. OS/2 cannot call the exception handler with the contextrecord, in particular there is no register information. Recovery: Press OK. ═══ Message 7270 ═══ Message: No Dump Slots found. Dump probably corrupted. Description: The dump file is probably corrupted. Recovery: Retry with another copy of the dump file. ═══ Message 7280 ═══ Message: No Source/Symbols available for in Description: The source code and the symbol information for the selected function is not available. Recovery: If this is a function that you have written, please recompile with the correct options to generate the symbol information. ═══ Message 7290 ═══ Message: No data available for this address Description: The requested data is not available because the given address was not found in the dump file. This probably means that the required variable was not allocated at the time of the error. Recovery: Press OK. ═══ Message 7300 ═══ Message: No dump file loaded Description: The function needs a dump file to be loaded. Recovery: First load a dump file before you execute this function again. ═══ Message 7310 ═══ Message: No dump files found. Description: SeeDump could not find any dump files in the directory specified in the settings notebook. Recovery: Use the settings notebook to change the dump file directory. ═══ Message 7320 ═══ Message: No information available for Description: No information has been found for the given symbol in the dump file. Probably is a multi-dimensional array of structures, which cannot be displayed directly, or the symbol information contains no elements of , probably because the name is invalid, or because is a forward reference to an undefined structure. Recovery: Try recompiling the object file with correct compiler switches. See also: o Limitations ═══ Message 7330 ═══ Message: No information available for global data. Description: SeeDump could not find any information for global variables. Recovery: Press OK. ═══ Message 7340 ═══ Message: No information available for global functions. Description: SeeDump could not find any information for global functions. Recovery: Press OK. ═══ Message 7350 ═══ Message: No item selected. Description: The requested operation requires an item to be selected. Recovery: Make sure an item is selected before invoking this command again. ═══ Message 7360 ═══ Message: No stack trace information available. Description: There is no stack trace information available. Recovery: If this error occurs again, please contact a priori computer solutions. ═══ Message 7370 ═══ Message: No stack variable data available Description: Probably the stack is corrupted or the symbol information is partially corrupted or missing, or an error occurred while writing the dump file. Recovery: Try recompiling with the correct compiler switches to produce full symbol information, or retry with another copy of the dump file. ═══ Message 7380 ═══ Message: No valid stack frame at Description: The stack frame given by the context record was not dumped. This is probably an internal OS/2 error. Recovery: If this error occurs again, please contact a priori computer solutions. ═══ Message 7390 ═══ Message: Only available for data segments Description: The desired information cannot be displayed because a hex dump is only available for data segments, not for code segments. Recovery: Select a data segment. ═══ Message 7400 ═══ Message: Process terminated Description: The program to be analyzed terminated abnormally. Recovery: If this error occurs again, please contact a priori computer solutions. ═══ Message 7410 ═══ Message: Program not found. Pathes searched: ; Description: The specified program was not found in the specified pathes and . Recovery: Check whether the pathes were correct. Either change the path(es) in the settings notebook, or copy the program into the given path and try again. ═══ Message 7420 ═══ Message: REXX script already running Description: A REXX script is currently running. Recovery: Please wait until the current REXX script has finished before you can start another. ═══ Message 7430 ═══ Message: Stack in dump file corrupted. Trying to continue. Description: The dump file does not contain all the information required for a complete stack analysis. SeeDump will attempt to analyze as much as possible of the dump. Recovery: Try to obtain a complete dump file, indicated by status 0 in the "Show dump files" output, by reproducing the error that caused the dump in your program. ═══ Message 7440 ═══ Message: Start Debug Session failed, rc= Description: It was not possible to start your program with the name . The given return code is the return code from DosStartSession. If this return code is 2, this means that one of the DLLs required by the program could not be found. Recovery: Correct the error and start SeeDump again. ═══ Message 7450 ═══ Message: Unable to open . File may not exist. Description: The file could not be opened. Recovery: Make sure the give file is in the specified directory. ═══ Message 7460 ═══ Message: Unable to register Rexx, rc= Description: SeeDump could not register REXX support. Recovery: Make sure you have REXX support installed. ═══ Message 7470 ═══ Message: not exported by Description: The symbol is not exported by the DLL . Recovery: Press OK. ═══ Message 7480 ═══ Message: returns nil Description: Recovery: Press OK. ═══ Message 7490 ═══ Message: async stop. Description: Before main was reached, the program was asynchronously stopped. This can happen in C++ code which is executed before main. Recovery: Press OK. ═══ Message 7500 ═══ Message: Cannot allocate memory Description: SeeDump could not allocate memory of the given amount. There is probably not enough space on your disk. Recovery: Free some space on the disk where the swapper file is located. ═══ Message 7510 ═══ Message: Cannot display source for Description: SeeDump could not display the source for the file . Currently, SeeDump supports the display of source code compiled with the Watcom or CSet/2 compilers only. Recovery: Press OK. ═══ Message 7520 ═══ Message: Cannot display source for Borland. Description: Currently, SeeDump does not support the display of source code compiled with the Borland compiler. Recovery: Press OK. ═══ Message 7530 ═══ Message: Cannot find source line in for address Description: SeeDump could not find the line in the source file for the address . Recovery: Press OK. ═══ Message 7540 ═══ Message: Cannot find symbols for . Description: SeeDump could not find the symbol information for the function . Either your program was not compiled with the correct options to produce symbol information, or the pathes in SeeDump's settings notebook were not set correctly. Recovery: Make sure the pathes are set accordingly and your program was compiled with symbol information, and try again. ═══ Message 7550 ═══ Message: Cannot open Description: SeeDump could not open the file . Recovery: Make sure the file name is correct. If SeeDump runs in a network environment, make sure you have read/write access for the given file. ═══ Message 7560 ═══ Message: Cannot open for read. Description: SeeDump could not open the file for reading. Recovery: Make sure the file name is correct. If SeeDump runs in a network environment, make sure you have read/write access for the given file. ═══ Message 7570 ═══ Message: Cannot read . Description: SeeDump could not read from the file . Recovery: Make sure the file name is correct. If SeeDump runs in a network environment, make sure you have read/write access for the given file. ═══ Message 7580 ═══ Message: Failed to display help message . Description: SeeDump could not display the help message . Recovery: Please contact a priori computer solutions. ═══ Message 7590 ═══ Message: Fnc exit , Description: REXX returned exitnumber , subfunction . Recovery: See REXX documentation for details. Press OK. ═══ Message 7600 ═══ Message: Hit OK (Enter) Description: The interactive REXX prompt expects you to press OK to continue. Recovery: Press OK. ═══ Message 7610 ═══ Message: insert item, rc= Description: SeeDump could not insert an item into the listbox. Return code was . There is probably not enough space on your disk, or this is due to an internal PM error. Recovery: If this error occurs again, please contact a priori computer solutions. ═══ Message 7620 ═══ Message: IO exit , Description: REXX returned exitnumber , subfunction . Recovery: See REXX documentation for details. Press OK. ═══ Message 7630 ═══ Message: No exception report record in dump Description: SeeDump could not find an exception report record in the dump file. Recovery: Try to obtain a complete dump file, indicated by status 0 in the "Show dump files" output, by reproducing the error that caused the dump in your program. ═══ Message 7640 ═══ Message: No MTEs in dump. Trying to continue. Description: The dump file does not contain all the information required for a complete analysis. SeeDump will attempt to analyze as much as possible of the dump. Recovery: Try to obtain a complete dump file, indicated by status 0 in the "Show dump files" output, by reproducing the error that caused the dump in your program. ═══ Message 7650 ═══ Message: No processname found in . Trying to continue. Description: The dump file does not contain the name of your program, which is required for a complete analysis. SeeDump will attempt to analyze as much as possible of the dump. Recovery: Try to obtain a complete dump file, indicated by status 0 in the "Show dump files" output, by reproducing the error that caused the dump in your program. ═══ Message 7660 ═══ Message: No symbols available for in Description: The symbol information for the function in the source file is not available. Recovery: If this is a function that you have written, please recompile with the correct options to generate the symbol information. ═══ Message 7670 ═══ Message: No valid symbol information for found. Description: SeeDump could not find the symbol information for the file . Either your program was not compiled with the correct options to produce symbol information, or the pathes in SeeDump's settings notebook were not set correctly. Currently, SeeDump supports the Watcom, CSet/2, and Borland compilers. Recovery: Make sure the pathes are set accordingly and your program was compiled with symbol information, and try again. ═══ Message 7680 ═══ Message: routine .bag not found Description: The REXX script could not be found. Recovery: Make sure the script is in the "macro"-directory, as stated in the settings notebook, or specify the full path. ═══ Message 7690 ═══ Message: So far enums are not supported for CSet/2 Description: Currently, SeeDump does not support the display of variables of type enum when the program was compiled with CSet/2. Recovery: Press OK. ═══ Message 7700 ═══ Message: Thread term. Description: Before main was reached, a thread terminated. This can happen in C++ code which is executed before main. Recovery: Press OK. ═══ Message 7710 ═══ Message: Unable to read symbol file . Description: SeeDump could not read the symbol file . Recovery: Make sure the file name is correct. If SeeDump runs in a network environment, make sure you have full access to the given file. ═══ Message 7720 ═══ Message: Unknown debug error Description: The program to be analyzed terminated abnormally with an unknown debug error. Recovery: If this error occurs again, please contact a priori computer solutions. ═══ Message 7730 ═══ Message: Unknown get parameter . Description: The parameter to the Rexx 'get' command is unknown. Recovery: Enter a correct parameter. See also: o REXX prompt o get ═══ Message 7740 ═══ Message: Unknown window name . Description: The window name is unknown. Recovery: Enter another window name. ═══ Message 7750 ═══ Message: Wrong type information. Description: Severe internal error. Parsing symbol information encountered a new or unprocessable type. Recovery: If this error occurs again, please contact a priori computer solutions. ═══ Message 7760 ═══ Message: Address is not writeable. Description: The given address probably points to code (like function pointers), or to free or uncommitted memory, thus no data was written to the dump file. Recovery: Press OK. ═══ Message 7770 ═══ Message: Invalid address , exe386-flag is Description: The address is in the user's address space, but no data was dumped for that address. Probably points to free memory, uncommitted memory, or to code. Recovery: Press OK. ═══ Message 7780 ═══ Message: Type is fundamental. Description: The given type is fundamental, that is, no further information can be shown for the type . Recovery: Press OK. ═══ Message 7790 ═══ Message: Cannot display information for . Description: No information has been found for the given symbol in the dump file. Probably is a multi-dimensional array of structures, which cannot be displayed directly, or the symbol information contains no elements of , probably because the name is invalid, or because is a forward reference to an undefined structure. Recovery: Try recompiling the object file with correct compiler switches. See also: o Limitations ═══ Message 7800 ═══ Message: Cannot display this window, internal error. Description: The requested window could not be shown due to an internal error. Recovery: If this error occurs again, please contact a priori computer solutions.