7. Identifying Program Objects

 

 

 

Understanding Blocks and Environments . . . . . . . . . . .

7-2

Changing the Environment . . . . . . . . . . . . . . . .

7-3

Overriding the Current Language . . . . . . . . . . . . .

7-4

Applying Scope and Visibility Rules . . . . . . . . . . . . .

7-4

Using Quali￿ed Names . . . . . . . . . . . . . . . . . .

7-6

Block Quali￿ed Names . . . . . . . . . . . . . . . . . .

7-6

Fully Quali￿ed Names . . . . . . . . . . . . . . . . . .

7-7

Image Quali￿ed Names . . . . . . . . . . . . . . . . .

7-9

Special Block Quali￿ed Forms . . . . . . . . . . . . . .

7-9

Quali￿ed Names for Prede￿ned, User-Declared, and External

 

Symbols . . . . . . . . . . . . . . . . . . . . .

7-9

Frame Block Quali￿ed Names . . . . . . . . . . . . .

7-10

8. Debugging in Special Situations

 

 

 

Examining Core Files . . . . . . . . . . . . . . . . . . .

8-2

Attaching to a Core File . . . . . . . . . . . . . . . . .

8-2

Core File Debugging . . . . . . . . . . . . . . . . . .

8-3

Debugging Shared Libraries . . . . . . . . . . . . . . . .

8-4

Debugging Multi-Threaded Applications . . . . . . . . . . .

8-6

Making libdce.sl Writable . . . . . . . . . . . . . . . .

8-7

Stripped and Unstripped Versions of libdce.sl . . . . . . .

8-7

Viewing and Manipulating Threads . . . . . . . . . . . .

8-8

Setting Breakpoints on Threads . . . . . . . . . . . . . .

8-9

Environment in Multi-Threaded Applications . . . . . . . .

8-10

Thread-Speci￿c Debugger Commands . . . . . . . . . . .

8-11

Assembly Level Debugging . . . . . . . . . . . . . . . . .

8-13

Using the Assembly Instructions Dialog Box . . . . . . . .

8-13

Using Debugger Commands . . . . . . . . . . . . . . .

8-14

Saving Assembly Code in a File . . . . . . . . . . . . . .

8-16

Debugging Optimized Code . . . . . . . . . . . . . . . .

8-17

Optimized Code and Unoptimized Code . . . . . . . . . .

8-18

What Optimization Does to Program Logic

. . . . . . .

8-18

What Optimization Do es to Data . . . . . . . . . . . .

8-21

Debugging Parent and Child Processes

. . . . . . . . . . .

8-22

Debugging Applications That Use ioctl or

curses . . . . . . .

8-23

Running the Debugger Remotely . . . . . . . . . . . . . .

8-24

Contents-4