valgrind

    4热度

    1回答

    我为Guile开发了一个扩展模块,用C编写。这个扩展模块嵌入了一个Python解释器。 由于此扩展模块调用Python解释器,我需要验证它是否正确管理了Python对象占用的内存。 我发现Python解释器乖巧的在自己的内存处理,使运行的valgrind我能找到的内存泄漏是由于我自己的Python解释器嵌入代码中的错误,如果没有其他的干扰因素。 但是,当我在valgrind下运行Guile时,va

    4热度

    4回答

    在Linux/GCC/C++中,每次调用malloc/free/new/delete时,我都会记录stderr的内容。我试图理解一个库的内存分配,所以我想在运行单元测试时生成这个输出。我使用valgrind进行mem泄漏检测,但是我找不到一个让它只记录分配的选项。 任何想法?我正在寻找最简单的解决方案。重新编译库不是一个选项。

    21热度

    1回答

    我有一个流程x,我想检查与valgrind泄漏。问题是x由y运行,而y又由z运行。我不能运行x独立的,因为y和z设置为x环境,如环境变量,命令行开关,通过x等 所需的文件,有什么办法,我可以告诉valgrind对z运行但要遵循它发现并报告它们的任何分叉? 有什么办法可以告诉valgrind遵循任何分叉,但只报告名为x的进程? 有什么办法可以告诉valgrind附加到已经运行的进程,我可以用gdb做

    3热度

    2回答

    Valgrind是输出如下: ==14446== 2,976 (176 direct, 2,800 indirect) bytes in 2 blocks are definitely lost in loss record 23 of 33 ==14446== at 0x4C2506C: operator new(unsigned long) (in /usr/lib64/valgrind/a

    1热度

    1回答

    我正在完成一个代码模式,并希望通过Valgrind运行我的程序,以确保我已经占用了所有内存,但是我的程序未能在运行时断言失败。从Valgrind运行时可以在调试器中停止吗?我目前正在阅读手册,但认为我可以更快地从你们那里得到我的答案。

    5热度

    3回答

    在valgrind下运行时,太阳JVM吐出大量额外的噪音,这使得跟踪应用程序中的内存问题非常具有挑战性。 我想找到一个压缩文件或虚拟机运行时模式,它将消除虚假内存错误,以便在这种情况下将小麦从谷壳中分离出来。有什么建议么?

    32热度

    2回答

    就在前几天,我开始研究一个名为check的单元测试框架, ,我打算在Linux下对c代码进行测试。 现在检查和一些精心设计的代码和一些测试代码可以帮助我确认 的基本功能是正确的, 我的意思是这是很容易的,只是看看,并响应变量后面再 决定是否一个函数是否正确。 但是,假设我想测试一个动态存储器结构,其中有很多malloc和free, ,事实证明我可以将数据放入并再次获取正确的数据。 但是这并不能证明

    8热度

    4回答

    我有一个应用程序必须计算文件的MD5,我有 使用openssl库,valgrind抱怨一些块仍然 可达。 编译下面的代码: #include <openssl/bio.h> int main(int, char**) { BIO * mem = BIO_new(BIO_s_mem()); BIO_vfree(mem); return 0; } 使用的val

    0热度

    1回答

    我需要检测我的Makefile是否在valgrind下运行(间接地,使用valgrind --trace-children = yes),我知道如何从C中执行它,但我还没有找到一种方法来从脚本执行它, 以前的答案仅适用于Linux。对于Mac OS X,我将在环境中grep for VALGRIND_STARTUP_PWD,除非有人有更好的主意。

    5热度

    2回答

    有没有一种方法可以在运行时识别正在从valgrind运行的可执行文件?我有一组C++单元测试,其中一个预期std::vector::reserve抛出std::bad_alloc。当我在valgrind下运行它时,它完全释放,阻止我测试内存泄漏(使用valgrind)和行为(期待异常被抛出)。 这里的再现成为一个小例子: #include <vector> int main() {