I work on PowerPC based Embedded Systems. Programming language is C. Cross compiler is Diab 4.2b. FYI, Windriver has purchased Diab. Along with the compiler comes a utility called ddump. This utility has the following syntax.
ddump [command] file
I invoke this utility as follows:
ddump -D filename.elf
I believe .elf stands for executable linking format. Anyways, this command means to dump the DWARF debugging information in each object file. I think when this utitliy is run it generates bunch of paths to the source code. These source paths are loaded into the debugger. Then, we type some command in debugger to load symbols. Then, somehow source code that matches the binary image in our target hardware appears in the debugger. How does all this work? What is DWARF?