Trace the Library and System Calls a Program Makes
Ltrace is a program that runs the specified command until it exits. It
intercepts and records the dynamic library calls that are called by the
executed process and the signals that are received by that process. It
can also intercept and print the system calls executed by the program.
The program to trace need not be recompiled for this, so you can use
ltrace on binaries for which you do not have access to the source.
This is still a work in progress, so, for example, the tracking to
child processes may fail or some things may not work as expected.
- Developed at Base:System
- Sources inherited from project openSUSE:Factory
-
3
derived packages
- Download package
-
Checkout Package
osc -A https://api.opensuse.org checkout openSUSE:Leap:16.0:FactoryCandidates/ltrace && cd $_
- Create Badge
Refresh
Refresh
Source Files
Filename | Size | Changed |
---|---|---|
baselibs.conf | 0000000056 56 Bytes | |
ltrace-0.7.91-g6c6bcc3.tar.bz2 | 0000267585 261 KB | |
ltrace.changes | 0000018278 17.8 KB | |
ltrace.spec | 0000002973 2.9 KB |
Revision 34 (latest revision is 49)
Stephan Kulow (coolo)
accepted
request 247287
from
Andreas Schwab (AndreasSchwab)
(revision 34)
- Update to git rev 6c6bcc3 ** Prototype libraries - Each DSO can now ship an ltrace config file (called prototype library) that ltrace will open when that DSO is loaded to process image. See ltrace(1) for details. - ltrace.conf is no longer part of installation tarball. Instead, we now ship libc.so.conf, libm.so.conf, libacl.so.conf, and syscalls.conf. Those are now istalled to /usr/share/ltrace by default. /etc/ltrace.conf and $HOME/.ltrace.conf are still loaded if present, and can contain arbitrary user configuration. - The option -F was retrofitted to be a colon-separated list of prototype libraries, and directories to look for prototype libraries in. On Linux, ltrace looks into XDG_CONFIG_HOME, XDG_CONFIG_DIRS, and /usr/share/ltrace as well. - Wide character strings are supported in prototypes. Use "string" lens as usual, but use array of integers as underlying type. libc.so.conf now contains prototypes of wide character functions. - Sole void function parameter such as in the following example, is now considered obsolete: | int fork(void); | This use is still accepted, taken to mean "hide(int)", but produces a warning, and will be removed in future. - Prototypes are now read from DWARF debug info, if available. This complements the data available in config files ** Architectural support - MIPS and MIPSel are now handled by the same backend. - ARMv6, ARMv7 and ARMv8 (AArch64) are supported, including full fetch backend. ARMv8 backend doesn't support tracing of 32-bit binaries, as currently there's no 32-bit userspace available for ARM64 processors. (forwarded request 247286 from AndreasSchwab)
Comments 0