Debugging and Profiling tools recommendations

Debugging

Interactive inspection of misbehaving applications

gdb

Defacto standard debugger

rr

Record and Replay non-deterministic bugs

Tracing

Used for finding out what is happening when an application runs.

ftrace

Function tracer for kernel developers

latrace

Dynamic Library call tracer based on LD_AUDIT

ltrace

Dynamic Library call tracer based on ptrace

LTTng

Linux trace toolkit

mutrace

Mutex profiler

oprofile

Sampling profiling tool

perf

performance analysis tools for Linux

strace

System call tracer

systemtap

Instrumentation system

utrace/uproble

Userspace tracing for systemtap

SystemTap people have created a comparision table between SystemTap, Dtrace, LTTng and perf: http://sourceware.org/systemtap/wiki/SystemtapDtraceComparison

Real time viewers

Typically used to answer questions "what is consuming resources right now".

dstat

versatile resource statistics tools

htop

Interactive process viewer

iotop

Interactive IO load monitoring tool

powertop

CPU wakeup events viewer

top

Classic Interactive process viewer

Memory tracing

Tools to find memory misuse and corruption.

AddressSanitizer

memory error detector for C/C++ in llvm and gcc

gperftools

Heap checker and memory/cpu profiler

valgrind

Memory Allocation profiler and debugger

Comparision of memory tools: https://code.google.com/p/address-sanitizer/wiki/ComparisonOfMemoryTools

Network tools

netstat

tcpdump

wireshark

iftop / ntop

Platform/DevPlatform/DebugTools (last modified 2015-03-05 13:17:27)