Coretrace is a lightweight tool for debugging embedded Linux applications. It works by analyzing core files from crashed applications and outputs a short plain-text backtrace, suitable for putting into logfiles. The basic idea is to let the failing unit do self analysis of core files and report those back home during device maintenance lifetime. Non-interactive small-sized embedded systems are the primary targets, so small footprint is of major concern, since it will be stored on flash. Currently the compiled size is approximately 20 kb.
kongcurrent provides an easy-to use helper to assist debugging issues which cause exceptions under concurrent access. It was inspired by a problem in which a non-thread-safe Map object held by a third party framework was accidentally shared between threads, causing a ConcurrentModificationException. The helper (a "monitor") creates a proxied version of an object implementing some interface. The proxy can track invocations of the objects' methods and can report on potential concurrent access on the object. This can be used to help find code paths which concurrently access the object through its interface methods. By design, the helper is extensible, and can be adapted to more specific needs.
SystemTap is a tracing and probing tool that allows users to study and monitor the activities of the computer system in fine detail. It provides information similar to the output of tools like netstat, ps, top, and iostat; however, SystemTap is designed to provide more filtering and analysis options for collected information. It can be used as a performance monitoring tool, and is most useful when other tools cannot precisely pinpoint a bottleneck in the system, requiring a deep analysis of kernel activity. Application developers can also use it to monitor, in finer detail, how their application behaves within the Linux system.