【问题标题】:can Valgrind detect invalid read on stack variableValgrind 可以检测到堆栈变量上的无效读取吗
【发布时间】:2020-04-09 20:10:50
【问题描述】:

我编写了一个小代码来验证 Valgrind 是否能够检测到一些无效读取,看起来它没有检测到它。可以这样做吗?

int a[2];
printf("test %d", a[100]);

如果将数组交换为动态分配,那么 Valgrind 工作正常。 (大小为 4 的无效读取)

【问题讨论】:

    标签: valgrind


    【解决方案1】:

    valgrind --tool=memcheck(默认工具)不会检测到此类问题。

    有一个实验工具 valgrind --tool=exp-sgcheck 以检测此类错误为目标,但从未奏效 正确,并且该工具可能会从 valgrind 发行版中删除。

    据我所知,gcc/clang sanitizer 是用于检测此类错误的技术。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2018-07-07
      • 1970-01-01
      • 1970-01-01
      • 2021-09-10
      • 2023-03-19
      相关资源
      最近更新 更多