-
Language:
English
-
Language:
English
Red Hat Training
A Red Hat training course is available for Red Hat Developer Toolset
Chapter 10. memstomp
memstomp is a command line tool that can be used to identify function calls with overlapping memory regions in situations when such an overlap is not permitted by various standards. It intercepts calls to the library functions listed in Table 10.1, “Function Calls Inspected by memstomp” and for each memory overlap, it displays a detailed backtrace to help you debug the problem.
Similarly to Valgrind, the
memstomp
utility inspects applications without the need to recompile them. However, it is much faster than this tool and therefore serves as a convenient alternative to it.
Red Hat Developer Toolset is distributed with memstomp 0.1.5.
Table 10.1. Function Calls Inspected by memstomp
Function | Description |
---|---|
memcpy | Copies n bytes from one memory area to another and returns a pointer to the second memory area. |
memccpy | Copies a maximum of n bytes from one memory area to another and stops when a certain character is found. It either returns a pointer to the byte following the last written byte, or NULL if the given character is not found. |
mempcpy | Copies n bytes from one memory area to another and returns a pointer to the byte following the last written byte. |
strcpy | Copies a string from one memory area to another and returns a pointer to the second string. |
stpcpy | Copies a string from one memory area to another and returns a pointer to the terminating null byte of the second string. |
strncpy | Copies a maximum of n characters from one string to another and returns a pointer to the second string. |
stpncpy | Copies a maximum of n characters from one string to another. It either returns a pointer to the terminating null byte of the second string, or if the string is not null-terminated, a pointer to the byte following the last written byte. |
strcat | Appends one string to another while overwriting the terminating null byte of the second string and adding a new one at its end. It returns a pointer to the new string. |
strncat | Appends a maximum of n characters from one string to another while overwriting the terminating null byte of the second string and adding a new one at its end. It returns a pointer to the new string. |
wmemcpy | The wide-character equivalent of the memcpy () function that copies n wide characters from one array to another and returns a pointer to the second array. |
wmempcpy | The wide-character equivalent of the mempcpy () function that copies n wide characters from one array to another and returns a pointer to the byte following the last written wide character. |
wcscpy | The wide-character equivalent of the strcpy () function that copies a wide-character string from one array to another and returns a pointer to the second array. |
wcsncpy | The wide-character equivalent of the strncpy () function that copies a maximum of n wide characters from one array to another and returns a pointer to the second string. |
wcscat | The wide-character equivalent of the strcat () function that appends one wide-character string to another while overwriting the terminating null byte of the second string and adding a new one at its end. It returns a pointer to the new string. |
wcsncat | The wide-character equivalent of the strncat () function that appends a maximum of n wide characters from one array to another while overwriting the terminating null byte of the second wide-character string and adding a new one at its end. It returns a pointer to the new string. |
10.1. Installing memstomp
In Red Hat Developer Toolset, the
memstomp
utility is provided by the devtoolset-4-memstomp package and is automatically installed with devtoolset-4-toolchain as described in Section 1.5, “Installing Red Hat Developer Toolset”.