In This Book

Image Qualified Names

An image quali￿ed name may be necessary to eliminate ambiguity among module names when an application consists of more than one executable image (loaded object ￿le or shared library). This occurs whenever an application contains a dynamically loaded library. More than one image may contain modules with the same name.

An image quali￿ed name starts with the notation `image (image name), where image name is the shortest unique path name of the object ￿le. Use the list images command to list the names of the known images.

For example, suppose that your application consists of the executable image average that contains the procedures main, sum, and print_average , and the dynamically loaded libraries highlib and lowlib . Since one or more of the libraries may contain a procedure named print_average or sum, you can use the image quali￿ed name

`image(average)\average\sum

where `image(average) contains average , to name the procedure sum.Special Block Qualified Forms

The debugger provides additional block quali￿ed forms that you can use to refer to symbol names that are de￿ned by the programming language or the user, and to refer to symbols that are externally declared.

7

Qualified Names for Predefined, User-Declared, and External Symbols

Symbol names that are de￿ned by the programming language (usually type names such as integer or int) begin with `predefined and reside in outer debugger blocks. Use the list blocks command to view these blocks and names. You can explicitly refer to a language-de￿ned sym bol name by using a block quali￿ed name of the form `predefined( lang type,obj type)nname. For example:

`predefined(lang_c,obj_som)\int

See Appendix B and Appendix D for information on the v alid values for lang type and obj type.

Identifying Program Objects 7-9