Every process in any operating system would use memory to store its code and data. Same is the case with processes in Linux. However, the onus is on the programmer to see if the memory is being properly used or not. This is essential, as memory issues lead to copious bugs and bizarre behaviours. As the program memory store data values, which are associated to the logic and flow of the process, memory corruption may take place. That is, if a memory gets overwritten or a pointer pointing to a memory gets altered.
In this article, we shall discuss memory corruption issues in Linux programming and the various ways to debug and resolve them.
NOTE - Though memory corruption can be directly associated with programming language but its debugging techniques (debugging tools etc) may depend upon the OS you are using. All the examples and commands used in this article are tested on Ubuntu Linux. Continue reading