Strace: visualizzare stack trace per syscalls nei binari in debug

Strace mostra origine delle syscalls in binari compilati con debug info.

Uno dei grandi punti di forza di strace come strumento di debug è che mostra ciò che un programma sta facendo indipendentemente dal fatto che sia stato compilato con informazioni di debug. Tuttavia, un limite è che mostra solo le syscall del programma. La buona notizia è che se il programma è stato compilato con informazioni di debug, strace può mostrare uno stack trace per ogni syscall. Ad esempio, compilando un semplice programma C con il comando gcc -g -o hello hello.c e poi eseguendolo con strace –stack-trace ./hello, si ottiene un output che mostra lo stack trace per ogni syscall, illustrando chiaramente il flusso di esecuzione che ha portato alla chiamata della syscall.