原创 9.3. ELF Header

9.3. ELF Header The first part of any ELF file (including object files like foo.o) is the ELF header. There are several

原创 9.6. Sections and the Section Header Table

9.6. Sections and the Section Header Table The section header table contains information about every part of an ELF fil

原创 Chapter 7. Linux System Crashes and Hangs

Chapter 7. Linux System Crashes and Hangs Introduction Gathering Information Conclusion 7.1. Introduction One of Linux’

原创 6.5. Examining Data, Memory, and Registers

6.5. Examining Data, Memory, and Registers At this point, we’ve covered all of the ways to get a process (or a memory i

原创 Chapter 8. Kernel Debugging with KDB

Chapter 8. Kernel Debugging with KDB Introduction Enabling KDB Using KDB Conclusion 8.1. Introduction Having the abilit

原创 9.10. Symbol Resolution

9.10. Symbol Resolution We know that run time linking occurs, but what if there is more than one symbol with the same n

原创 6.6. Execution

6.6. Execution The GDB execution commands give you full control over a process. Of course, these commands do not work w

原创 Chapter 9. ELF: Executable and Linking Format

Chapter 9. ELF: Executable and Linking Format Introduction Concepts and Definitions ELF Header Overview of Segments and

原创 Chapter 6. The GNU Debugger (GDB)

Chapter 6. The GNU Debugger (GDB) Introduction When To Use a Debugger Command Line Editing Controlling a Process with G

原创 6.7. Source Code

6.7. Source Code When a program is compiled with the -g compile switch, GDB will automatically recognize that there are

原创 6.10. Working with C++

6.10. Working with C++ C++ is a superset of C and includes some new concepts such as classes with constructors and dest

原创 6.9. Tips and Tricks

6.9. Tips and Tricks This next section covers some useful tips and tricks for more advanced debugging. The tips include

原创 9.9. Program Interpreter

9.9. Program Interpreter The term “program interpreter” comes from the ELF standard. On Linux, the program interpreter

原创 9.5. Segments and the Program Header Table

9.5. Segments and the Program Header Table The program header table is only used for executables, shared libraries, and

原创 9.12. Advanced Interception Using Global Offset Table

9.12. Advanced Interception Using Global Offset Table The method of function interception described here (using weak sy