Difference between gdb, valgrind, strace, ltrace and apport

Det picture Det · Apr 7, 2013 · Viewed 9.6k times · Source

I'm looking for the difference between the following debugging tools.

What are those?

E: On the off chance that somebody stumbles in here and was wondering about the same thing the "differences" are (shortened from the man pages):

  • GDB

    Allows you to see what's going on "inside" a program while it runs/crashed.

  • Valgrind

    A flexible series of tools for debugging and profiling.

  • Strace

    Records/intercepts system calls which are called/received by a process.

  • Ltrace

    Records/intercepts signals/dynamic library/system calls which are called/received by a process.

  • Apport

    Intercepts crashes/unhandled exceptions, collects OS information, presents a helpful UI, and is able to file non-crash bugs.

Answer