Valgrind is an open source debugging tool that can detect memory leaks, invalid pointer use, and use of uninitialized variables. It works by running the program within its environment. When memory errors are detected, Valgrind will output details on the type of error and location. Wireshark is a packet analyzer that allows inspection of network traffic. It captures packets from selected interfaces and allows analysis of packet information and contents.