An updated ltrace package that fixes various bugs is now available.
The ltrace utility is a debugging program that runs a specified command until the command exits. While the command is executing, ltrace intercepts and records both the dynamic library calls called by the executed process and the signals received by the executed process. The ltrace utility can also intercept and print system calls executed by the process.
When tracing a process with many threads, the traced process would very likely be killed as the threads ran into breakpoins that wouldn't be handled by ltrace. With this update, ltrace attaches to the newly created threads, and carefully handles the breakpoints so that tracing events are not missed.
Note: when ltrace attached to a running process, that process could have been detached with the instruction pointer pointed mid-instruction, or with pending events, which would kill the process. This update improves the detach logic so that the process is left in a consistent state before detaching.
All users of ltrace are advised to upgrade to this updated package, which resolves these issues.