Меню:


As software becomes more complex, the number of issues related to work with memory is increasing — memory leaks, writing behind boundaries of memory blocks, etc. I tried to describe some tools and libraries, that could be useful for finding and fixing such bugs.

This article is written mostly for programmers, who are working on Unix-like operating systems (but some of tools also could work under MS Windows). Some of described tools can work on several OSes, and different processors, but others could work only on specific combinations of hardware and OS.

Tools, described in this article, are used to perform analysis of existing programs, and their principles of work are based on analysis of code, executed under control of these tools. I need to mention, that also exists some tools that perform static analysis of source code, but this is theme for other article. In this article I'll describe following tools & libraries:

Valgrind
very powerful tool, that not only helps in finding of memory leaks, but also allow to find synchronisation errors in multi-threading programs, and analyse performance of programs
Google Performance Tools
set of utilities, that allows to perform profiling of program performance, analyse memory consumption, and find memory leaks
Exmap
special utility for Linux, that allow to collect information about program's real memory consumption
Dmalloc
library for finding errors of work with memory

to be continued ....

Last change: 05.03.2013 16:54

blog comments powered by Disqus