Pantheios is a C/C++ logging API library. It offers an optimal combination of complete type-safety, very high efficiency, genericity, and extensibility. It is simple to use and extend, highly portable (platform and compiler independent), and it upholds the C tradition of only paying for what you use. Pantheios supports logging of message statements of arbitrary complexity, consisting of heterogenous types. Pantheios supports filtering of log messages based on severity level.
Zoom is a low-overhead graphical and command line profiler for Linux. Profiles are system-wide, precise down to the instruction level, and capture complete backtraces of C/C++/ObjC/Fortran/Assembly code. This lets you see exactly where time was spent, what code was running (user or kernel), and how that code was called. Drill down into a specific symbol, and Zoom shows source and assembly annotated with general and processor-specific tuning advice. It saves profiles as a single, self-contained session file that can be emailed or attached to bug reports. This lets you share what you find with colleagues or archive it for later review. Zoom also supports remote network profiling and scripting, making it ideal for embedded or server systems and automated workflows.
FTPL (FakeTime Preload Library, aka libfaketime) intercepts various system library calls and tricks programs of your choice into seeing a faked system time without having to change the time system-wide. This can be used for running legacy software with Y2K bugs, testing software for year-2038 compliance, debugging time-related issues such as expired SSL certificates, and using software that ceases to run outside a certain time frame. The faked time can be specified either absolutely or relative to the real current time, and optionally also affects file timestamps. The faked clock continues to run, but can optionally be frozen, slowed down, or made faster. A wrapper script "faketime" simplifies the usage, similar to tools such as fakechroot.
The libexplain project provides a library that may be used to explain Unix and Linux system call errors. This will make your application's error messages much more informative to your users. The library is not quite a drop-in replacement for strerror, but it comes close: each system call has a dedicated libexplain function.
liboping is a C library for measuring network latency using ICMP echo requests. It can send to and receive packets from multiple hosts in parallel, which is nice for monitoring applications. Both IPv4 and IPv6 are supported transparently for the programmer and user. A program called oping is included to show the simplicity and potential of the library and provide the functionality at the command line.
JSTUN is a STUN (Simple Traversal of UDP (User Datagram Protocol) through NAT (Network Address Translation)) implementation. STUN provides a means for applications to discover the presence and type of firewalls or NATs between them and the public Internet. In the presence of a NAT, STUN can also be used by applications to learn the public Internet Protocol (IP) address assigned to the NAT.