Linux Applications Debugging Techniques


A collection of notes about debugging applications under Linux and related topics. Probably useful for debugging dogs. Partly applicable to other Unices. Work in progress.


Aurelian Melinte

Table of ContentsEdit

  1. The debugger  
  2. The dynamic linker  
  3. Core files  
  4. The call stack  
  5. The interposition library  
  6. Memory issues  
    1. Leaks  
    2. Heap corruption  
    3. Stack corruption  
  7. Deadlocks  
  8. Race conditions  
  9. Resource leaks  
  10. Transactional memory  
  11. The compiler  
  12. Aiming for and measuring performance  
  13. Hardware emulators  
  14. Building the toolkit  
  15. Appendices  
  16. References and further reading