第 11 章 memstomp


memstomp 是一个命令行工具,可用于在各种标准不允许此类重叠时识别带有重叠内存区域的功能调用。它截获对 表 11.1 “memstomp 检查函数调用” 中列出的库函数调用,以及每个内存重叠,它会显示一个详细的回溯追踪来帮助您调试问题。

Valgrind 类似,memstomp 工具会检查应用程序,而无需重新编译它们。但是,它比这个工具快,因此作为方便的替代工具。

Red Hat Developer Toolset 带有 memstomp 0.1.5

Expand
表 11.1. memstomp 检查函数调用
功能描述

memcpy

n 字节从一个内存区域复制到另一个内存区域,并将指针返回到第二个内存区域。

memccpy

将一个内存区域的最大 n 字节复制到另一个内存区域,并在找到特定字符时停止。如果找不到给定字符,它将指针返回到上次写入字节之后的字节;或者返回 NULL。

mempcpy

n 字节从一个内存区域复制到另一个内存区域,并在上一次写入字节后向字节返回指针。

strcpy

将字符串从一个内存区域复制到另一个内存,并将指针返回到第二个字符串。

stpcpy

将字符串从一个内存区域复制到另一个内存,并将指针返回到第二个字符串的终止 null 字节。

strncpy

将最多 n 个字符从一个字符串复制到另一个字符串,并将指针返回到第二个字符串。

stpncpy

将最多 n 个字符从一个字符串复制到另一个字符串。它会返回一个指针到第二个字符串的终止 null 字节,或者如果字符串不是 null-terminated,则指向上一次写入字节后面的字节的指针。

strcat

将一个字符串附加到另一个字符串,同时覆盖第二个字符串的终止 null 字节,并在其末尾添加一个新字符串。它将指针返回到新字符串。

strncat

将最多 n 个字符从一个字符串附加到另一个字符串,同时覆盖第二个字符串的终止 null 字节,并在其末尾添加一个新字符。它将指针返回到新字符串。

wmemcpy

memcpy()功能等效的、将 n wide 字符从一个数组复制到另一个阵列,并返回指向第二个阵列的指针。

wmempcpy

mempcpy()功能等效的、将 n wide 字符从一个数组复制到另一个阵列的字符,并返回指向上一次写入字符的字节的指针。

wcscpy

strcpy() 函数的广泛字符等效,它将一个数组中的广泛字符串复制到另一个数组,并将指针返回到第二个数组。

wcsncpy

与最广泛字符() 功能等效的功能,它将一个数组中最多 n wide 字符复制到另一个数组,并将指针返回到第二个字符串。

wcscat

strcat()功能等效的、将一个 wide-character 字符串附加到另一个字符的字符,同时覆盖第二个字符串的终止 null 字节,并在其末尾添加一个新字节。它将指针返回到新字符串。

wcsncat

最大型字符等效于一个数组中最多的 n wide 字符,同时覆盖第二个广泛字符串终止的 null 字节,并在其末尾添加一个新字符。它将指针返回到新字符串。

11.1. 安装 memstomp

在 Red Hat Developer Toolset 中,memstomp 工具由 devtoolset-9-memstomp 软件包提供,并自动安装 devtoolset-9-toolchain,如 第 1.5 节 “安装 Red Hat Developer Toolset” 所述。

返回顶部
Red Hat logoGithubredditYoutubeTwitter

学习

尝试、购买和销售

社区

关于红帽文档

通过我们的产品和服务,以及可以信赖的内容,帮助红帽用户创新并实现他们的目标。 了解我们当前的更新.

让开源更具包容性

红帽致力于替换我们的代码、文档和 Web 属性中存在问题的语言。欲了解更多详情,请参阅红帽博客.

關於紅帽

我们提供强化的解决方案,使企业能够更轻松地跨平台和环境(从核心数据中心到网络边缘)工作。

Theme

© 2025 Red Hat