strace-ltrace

strace and ltrace skill for system call and library call tracing. Use when a binary behaves incorrectly without crashing, diagnosing file-not-found errors, permission failures, network issues, or unexpected library calls by tracing syscalls and library function calls. Activates on queries about stra

By mohitmishra786 · 462 installs

npx skills add mohitmishra786/low-level-dev-skills --skill strace-ltrace

Source repository · Upstream listing

strace / ltrace Purpose Guide agents through tracing system calls with strace and library calls with ltrace — the most effective tools for diagnosing incorrect binary behaviour without a crash or debugger. Triggers "My program behaves incorrectly — how do I trace what it's doing?" "How do I find what files a binary is opening?" "strace shows ENOENT — how do I interpret it?" "How do I trace network calls with strace?" "What is ltrace and how does it differ from strace?" "How do I trace a running process?" Workflow 1. Basic strace usage 2. Filter by syscall category Category Syscalls included file open, openat, stat, access, unlink, rename, ... network socket, connect, bind, accept, send, recv, ... process fork, exec, wait, clone, exit, ... memory mmap, munmap, mprotect, brk, ... signal kill, sigaction, sigprocmask, ... ipc pipe, socket pair, shmget, ... desc close, dup, poll, select, epoll, ... 3. Interpreting common errors Error Meaning Common cause ENOENT No such file or directory Config file missing, wrong path EACCES Permission denied File permissions, SELinux EPERM Operation not permitted Missing capability, suid needed EADDRINUSE Address already in use Port already bound ETIMEDOUT Connection timed out Network unreachable, firewall ECONNREFUSED Connection refused Server not listening EAGAIN Resource temporarily unavailable Non blocking I/O, try again ENOMEM Out of memory Allocation failed EBADF Bad file descriptor Using closed/invalid fd ENOEXEC Exec format error Wrong binary format for arch 4. Useful strace flags 5. ltrace — library call tracing Typical ltrace output: strace vs ltrace: strace ltrace Traces Kernel syscalls User space library calls Overhead Lower Higher (PLT hooking) Shows open() , read() , write() fopen() , malloc() , printf() Use when Binary interacts with OS/files/network Binary calls library functions you can't see 6. Practical diagnosis workflows 7. seccomp filter debugging If a program is killed by a seccomp policy, strace reveals which syscall triggered it: For strace output patterns and ltrace filtering examples, see [references/strace patterns.md](references/strace patterns.md). Related skills Use skills/debuggers/gdb when strace shows the failing location and you need to inspect internals Use skills/binaries/elf inspection to understand what libraries and symbols a binary uses Use skills/binaries/dynamic linking for diagnosing LD and library loading issues Use skills/profilers/linux perf for performance profiling (strace overhead is too high for perf)