For memory leaks, there are many tools available such as valgrind, which you can use to figure out where the leaks are coming from. For OpenGL leaks, there was glDEBugger, which was very useful for that kind of stuff.
Is there any similar tool for network programming? In particular, for when working with linux sockets and pipes.
Perhaps there’s a for-posix tool that will measure how many posix resources a program is using (how many sockets, how many threads, how many mutexes etc?)
Also, correct me if I’m wrong, but would the higher level languages (java, python etc, as opposed to c++) be able to take care of these resource management as they do with their memory management?
Valgrind has the ability to track a few of the resources you are interested in:
Memory via memcheck
File descriptors via the
--track-fds=yesmemcheck optionThreads and locks via Helgrind and DRD
The generated information is not always detailed, but it can be quite helpful.