HP (Hewlett-Packard) IA-64 Computer Accessories User Manual


 
8-8 Debugging Copyright © 2000 Hewlett-Packard Co.
Ski IA-64 Simulator Reference Manual 1.0L
8.5 Dumping Registers and Memory to a File
You can dump the registers to a file with the “rd command, described in Section 5.1, “Register Window Commands”.
You can dump a block of memory into a file in two forms: in hexadecimal or in symbolic disassembled form, correspond-
ing (roughly) to the formats in the Data Window and the Program Window, respectively. The commands to do this are
dd” and “pd” and are described in Section 5.3.1, “Summary of Data Window Commands” and Section 5.2.1, “Summary
of Program Window Commands”, respectively.
8.6 Saving and Restoring the Simulator State
You may need to interrupt a simulation session and continue it later. For example, you might be tracking down a difficult
bug and want to save the state of the simulator just before the bug occurs so you can replay the problem and try different
strategies. The save command saves the state of the currently executing program to a named disk file. Later, you restore
the saved file with the rest command or the -rest command line flag (described in Section 2.5.1, “Command Line
Flags”).
The save command saves the state of the simulated IA-64 processor, including the overlaid IA-32 registers, the symbol
table for program-defined symbols, and memory. Certain simulator state information, in particular the values of internal
variables and window-related information, is not saved. Linux and MS-DOS state information such as open file handles
and fseek pointers is not currently saved; this will probably change, so you should check the release notes.
8.6.1 Summary of Save and Restore Commands
save filename
Saves an image of the machine state (IA-64 and IA-32) in the specified file.
rest filename
Restores an image of the machine state (IA-64 and IA-32) from the specified file.
8.7 Symbol Table Commands
Ski supports two kinds of symbols: program-defined symbols, which are identifiers provided by a compiler, linker, or
human programmer (see Section 4.4.2.1, “Program-Defined Symbols”), and internal symbols, which include register
names and internal variables (see Section 4.4.2.2, “Registers” and Section 4.4.2.3, “Internal Variables”). Ski places pro-
gram-defined symbols in one symbol table; you can see the contents with the symlist command. For IA-64 programs,
the ELF executable file always contains symbols, regardless of whether you used your compiler’s debug symbols flag
(typically -g), unless you stripped the symbols. Internal symbols are stored in a second symbol table along with the regis-
ter names Ski recognizes, listed in Appendix B, “Register Names”. The isyms command displays the contents of this
table.
8.7.1 Summary of Symbol Commands
symlist [filename]
Shows the list of program-defined symbols sorted by ascending address, as seen in Figure 8-5. If filename is given,
the list is written to the named file, otherwise the list is written to the screen.