Debugging Applications On Linux

Linux debugging drivers
  • Soujanya
  • 16 (Registered)
  • (3 Reviews)


This course, teaches embedded skills using an embedded environment. Unlike most Linux courses, that use PC’s as the target, this course uses both PC and ARM9 EMULATOR that’s a prevalent way to experiment most the concepts.


1 day or 8 hours

Course objectives:

  • Investing Application
  • Profiling and Code coverage
  • Memory leak and corruption
  • Tracing applications
  • Debugging using GDB
  • The core gdb architecture
  • Host and target binary
  • Online and offline debugging
  • Switches and build essentials
  • The basic of symbol and section management in gdb
  • Basic GDB session walkthrough
  • Debugging live process
  • Debugging for multithreaded application threads
  • Offline debugging using core file and core patterns
  • Time traveling on GDB
  • Settings and features using GDB

Target audience:

Experienced C programmers and developers intending to explore How Linux can be used is real time and embedded environment


  • Should have
  • Good knowledge of C programming
  • Good knowledge of basic UNIX/Linux commands

Lab requirements:

  • An internet ready laptop/workstation with high-end configuration (Intel Core i5 or above with at least 4 GB of RAM) is recommended, with windows or macOS with pdf readers,
  • Latest Virtual Box preferred to be pre-Installed on their respective OS. One can visit and choose their HOST(OS) specific package.
  • Participants must ensure that at least 40 GB of free disk-space is available on their laptops/workstations – as this is required for installing a pre-configured Linux setup as a Virtual Box appliance for hands-on practice session in this training program
  • The speaker/trainer would carry the preinstalled Linux disk image
  • Participants can also choose to work on an existing Linux environment accessible to them with support for root access and ability to fully customize their existing setup and reboot them.
  • Whiteboard, markers and scribble pads + pens for participants.
  • A high-resolution (1024×768 or above) LCD Projector with support to connect to trainer’s laptop (Apple MacBookPro/Win/Linux).
  • Whiteboard + Markers

Detailed Coverage:

  • Investigating and debugging user mode applications
  • Profiling and Code Coverage:
  • Using gprof for profiling C programs
  • Using gcov for code coverage analysis
  • Memory profilers
  • Memory checking and Heap profiling using Valgrind
  • using electic fence for profiling
  • Using dmalloc and libduma for memory debugging
  • traces and hooks for heap with signals
  • tracing for ltrace, mtrace, strace
  • Debugging techniques:
  • The gdb architecture
  • Cross debugging and interface
  • Host GDB binary and gdbserver
  • Gdb symbol fiile management
  • Maintaninece mode
  • Sections
  • Symbol file management
  • GDB must have commands:
  • Running program session with GDB
  • Examining the Stack
  • Examining the source files
  • Examining data
  • Debugging optimized code
  • Analyzing core:
  • Core file
  • Core pattern
  • Offline debugging
  • Investigating halts:
  • Breakpoints
  • Conditional breakpoints
  • Watch points
  • Catch points
  • Tracepoints
  • Stopping and continuing
  • Debugging running processes
  • Debugging multithreaded application:
  • Info
  • Breakpoints
  • Default and inferior
  • Remote debugging:
  • Build applications on ARM Target with symbol
  • The gdb architecture
  • Cross debugging and interface
  • Host GDB binary and gdbserver
  • Attaching remote process on host
  • Connection setting and remote connection
  • Attaching the target pid for a debug session
  • Time traveling and recording
  • Miscellaneous techniques

Enroll Now

Course Content

Time: 4 days

Curriculum is empty



3 rating

5 stars
4 stars
3 stars
2 stars
1 star
  • Navya Murali

    l liked very much. Exercises were awesome.

    Explanation by relevant examples and Demos were helpful to understand the theory. The presentation and mix of Lab exercise and theory was very well planned.
  • Reethu Shah

    I enjoyed the practical elements the best

    He has in depth hands on knowledge about the subject. His presentation skills including time management & Lab exercises were very good. He is very passionate about the work and delivers excellent!!!
  • Gobinath Govindar

    Excellent Training Content

    The trainer is knowledgeable and has a very good understanding on the Linux domain. Very good presentation skills. Good Lab exercises. Has a pretty good knowledge on various related domains as well.

Customized, Immersive, Hands-On Driven


  • Real time virtual classes
  • Pre course reading material
  • Suppliment resources
  • Language: English
  • Certificate of completion

Enroll Now

Your Dream Course Is Only A Step Away

Your Dream Course Is Only A Step Away

Your Dream Course Is Only A Step Away