第 11 章 memstomp
memstomp 是一个命令行工具,可用于识别当各种标准不允许重叠时具有重叠内存区域的函数调用。它截获对 表 11.1 “由memstomp 表示的函数调用” 中列出的库功能以及每个内存重叠的调用,它会显示详细的回溯追踪以帮助您调试问题。
与 Valgrind 类似,memstomp
程序会检查应用程序,而无需重新编译它们。但是,这个工具比这个工具快得多,因此作为一种方便的替代方案。
Red Hat Developer Toolset 带有 memstomp 0.1.5。
功能 | 描述 |
---|---|
| 将一个内存区域中的 n 字节复制到另一个内存区域,并返回指向第二个内存区域的指针。 |
| 将最多 n 字节从一个内存区域复制到另一个内存区域,并在找到特定字符时停止。它将指针返回到最后写入字节的字节,如果找不到给定字符,则返回 NULL。 |
| 将一个内存区的 n 字节复制到另一个内存区域,并在最后写入字节后返回指针到字节。 |
| 将字符串从一个内存区域复制到另一个内存区域,并返回指向第二个字符串的指针。 |
| 将字符串从一个内存区域复制到另一个内存区域,并将指针返回到第二个字符串的终止空字节。 |
| 将一个字符串最多 n 个字符复制到另一个字符串,并将指针返回到第二个字符串。 |
| 将一个字符串最多 n 个字符复制到另一个字符串。它将指针返回到第二个字符串的终止空字节,或者如果字符串没有 nullterminated,则会在最后写的字节后面指向指向字节的指针。 |
| 在覆盖第二个字符串的终止 null 字节并在其末尾添加新字符串时,将一个字符串附加到另一个字符串。它将一个指向新字符串的指针。 |
| 在覆盖第二个字符串的终止 null 字节并在其末尾添加新字符串时,把最多 n 个字符附加到另一个字符串。它将一个指向新字符串的指针。 |
|
与 |
|
等效于 |
|
类似于 |
|
类似于 |
|
类似于 |
|
等效于 |
11.1. 安装 memstomp
在 Red Hat Developer Toolset 中,memstomp
工具由 devtoolset-11-memstomp 软件包提供,并会自动安装 devtoolset-11-toolchain,如 第 1.5 节 “安装 Red Hat Developer Toolset” 所述。