In This Book

Using Qualified Names

You can use quali￿ed names to have the debugger search in a speci￿c block, a top-level procedure or module, an executable image (a loaded object ￿le or shared library), or a frame on the call/return stac k.

Block Qualified Names

The debugger uses block quali￿ed names to refer to variables that are not visible from the current environmen t. A block quali￿ed name explicitly identi￿es the block enclosing the ob ject and the object's name; the format is block \object name. Specifying a block in addition to a name changes the scope by specifying the starting block of the search.

For example, if the current environment is line 16 in Figure 7-1, you can use the block quali￿ed name

myprog\Z

to refer to variable Z on line 3. Use the block quali￿ed name

sort\Z

to refer to variable Z on line 12 in Figure 7-1.

With block quali￿ed names, you can also combine variables from di￿erent blocks in a single expression. For example, use

myprog\Z + sort\Z

to refer to the sum of Z in myprog and Z in sort.

You can use block quali￿ed names to explicitly identify variables that are not visible, including variables in currently inactive modules (￿les) and routines. Note, however, that if the value identi￿ed is a stack allocated variable, the variable is only visible when it is on the call stac k.

7-6 Identifying Program Objects