Oracle® Solaris Modular Debugger Guide

Exit Print View

Updated: September 2014
 
 

Scoping Within User-Level Applications and Shared Libraries

The MDB process target expects object to specify the name of the executable or of a loaded shared library.

Object Identifier

    The object identifier can take any of the following four forms:

  • Exact match (that is, a full path name): /usr/lib/libc.so.1

  • Exact basename match: libc.so.1

  • Initial basename match up to a period or dot character (.) suffix: libc.so or libc

  • Literal string a.out, which is accepted as an alias for the executable

Link Map Identifier

The process target also accepts any of the four forms described above preceded by an optional link-map id (lmid). The lmid prefix is specified by an initial LM followed by the link-map id in hexadecimal followed by an additional back quotation mark (`). For example, the following symbol name evaluates to the value of the _init symbol in the libc.so.1 library that is loaded on link-map 0 (LM_ID_BASE):

LM0`libc.so.1`_init

The link-map specifier might be necessary to resolve symbol naming conflicts if the same library is loaded on more than one link map. For more information on link maps, refer to the Oracle Solaris 11.2 Linkers and Libraries Guide and the dlopen (3C) man page. Link-map identifiers are displayed when symbols are printed according to the setting of the showlmid option, as described in Summary of MDB Command-Line Options.