Advanced Embedded Systems ITRONIX CERTIFIED

Linux Debugging Techniques Industrial Training



Linux & C Debugging Techniques

Course Overview

Most of the software bugs center around memory leaks which invariably results in segmentation violation followed by a core dump. Linux and C debugging course gives an in-depth coverage on various programming errors, a detailed address level breakup of memory map of a process, ways to debug the program as well as core dump analysis. The participant will learn to detect and debug different type of issues in the code with or without gdb debugger. Participant will also get a sound understanding of C development environment along with reading assembly and binary files and stack frames creation.

Course Highlight

Course will be delivered by our Founder/Director who is an Expert with 16+ years of experience in Linux Kernel and SAN software development.
The course flow will be an assignment driven model so that participants can have a hands-on experience of various debugging techniques.
Participants will be writing, reviewing and debugging lots of C programs dealing with segmentation violation, stack overflow, heap overflow, arithmetic overflow, illegal code execution, stack issue, endian-ness issue, c library assertion, data type mismatches, etc.

Course Delivery

Lectures, Classroom Discussions and Lab Exercises
30% Theory, 70% Lab
Location: ITRONIX SOLUTION, Jalandhar, India


Basic understanding of C programming language

Target Audience

IT Professionals who are doing development, maintenance and testing of software products

Course Outline

  1. C program to Process
  2. Compilation Steps
  3. Preprocessor
  4. Compiler
  5. Assembler
  6. Linker / Loader
  7. GCC options
  8. Fixing Warnings in the Code
  9. Include Files
  10. Libraries
  11. Static Vs Dynamic Library
  12. Static Library Generation
  13. Dynamic Library Generation
  14. Linking with Libraries
  15. File Formats
  16. ELF Format
  17. Symbol Tables
  18. Anatomy of a Process
  19. Process Map
  20. Memory Layout
  21. Code Segment
  22. Data Segment
  23. Stack Segment
  24. Heap Segment
  25. Object Dump
  26. Stack Frames
  27. Mapping Assembly to C
  28. Managing Heap
  29. Pmap / Pstack
  30. Strace
  31. Debugging Tools
  32. GDB Debugger
  33. Debugging Running Process
  34. Core dump analysis
  35. Symbols & Optimizations
  36. Default Optimization Levels
  37. Common Failures
  38. Failure Notifications
  39. Common Faults
  40. Segmentation Violation
  41. Stack Overflow
  42. Heap Overflow
  43. Arithmetic Overflow
  44. Illegal code execution
  45. Stack Issue
  46. Endian-ness issue
  47. C library assertion
  48. Data Type mismatch