c - 在 Linux 上复制 Visual Studio 的内存违规检测

标签 c linux visual-studio memory-management debugging

我使用 QT Creator 在 Linux 上开发了一个命令行(非 GUI)C 程序,它在内部使用 gdb 作为其调试器。当我在 Windows 上使用 Visual Studio 调试该程序时,它报告说它在分配的内存范围之外写入(尽管它没有报告违规发生的确切时间,因此仍然很难追踪)。我最终设法在代码中找到一个 malloc 调用分配的内存太少的位置并解决了问题。

然而,令我困扰的是,这个问题从未在 Linux 端检测到。是否有任何开关或其他东西可以在 Linux 上启用此检测功能?

最佳答案

有许多同时适用于 Windows 和 Linux 的代码内内存验证器。检查Wikipedia他们的名单。然而,大多数 Linux 用户使用 Valgrind作为内存调试的终极工具。

关于c - 在 Linux 上复制 Visual Studio 的内存违规检测,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3900113/

相关文章:

linux - Linux 上的 Zerobrane 解释器路径(Corona 和 Wine)

java - Hadoop 单节点与多节点

javascript - resharper 9 在 html 元素的 javascript 事件处理程序中添加了空格

c# - LINQ 查询不返回子字段

c# - dbContext.SaveChanges() 不保存也不输出错误

c - 将无符号字符转换为有符号数据类型时,为什么在汇编中使用 movzbl?

linux - 使用 zshrc 别名 sudo - 获取 "aliased to nocorrect sudo"

c - 共享内存程序不同步 - 出现段错误

C思维: float vs.整数和浮点表示

c - 我可以假设 atoi() 出错时的行为是什么?