问题标签 [valgrind]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
2 回答
1554 浏览

c++ - c++中的动态二维数组和内存泄漏

我写了这段代码。它运行正常,但是当我在 Valgrind 下检查它时,它发现了 2 个问题。由于我无法解释 valgrind 的消息,如果有人向我解释并告诉我问题出在哪里,我将不胜感激!!!

这是代码:

0 投票
4 回答
762 浏览

c - C 程序在 Cygwin 中运行,但不在 Linux (Malloc) 中运行

我有一个堆分配错误,我无法在我的代码中发现该错误,该错误在 Linux 上的 vanguard/gdb 上被拾取,但在 Windows cygwin 环境中完美运行。我知道 Linux 的堆分配可能比 Windows 更严格,但我真的很想得到一个发现问题/可能修复的回应。我也知道我不应该在 C 中对 malloc 进行类型转换,但这是一种习惯的力量,不会改变我的问题的发生。我的程序实际上在 Linux 和 Windows 上都没有错误地编译,但是当我在 Linux 中运行它时,我得到了一个看起来很吓人的结果:

malloc.c:3074: sSYSMALLOc: 断言`(old_top == (((mbinptr) (((char *) &((av)->bins[((1) - 1) * 2])) - __builtin_offsetof (struct malloc_chunk, fd)))) && old_size == 0) || ((unsigned long) (old_size) >= (unsigned long)((((__builtin_offsetof (struct malloc_chunk, fd_nextsize))+((2 * (sizeof(size_t))) - 1)) & ~((2 * (sizeof (size_t))) - 1))) && ((old_top)->size & 0x1) && ((unsigned long)old_end & pagemask) == 0)' 失败。中止

我的代码中的附加片段被指出为审查错误:

gdb 报告:free():无效指针:0x0000000000603290 *

由于“VALGRIND INTERNAL ERROR”信号 11 (SIGSEGV),valgrind 在退出前 5 次报告以下消息:在 0x401043 处
读取大小为 8
==2727== 的无效:calcPairs (in /home/user/Documents/5-3/ubuntu test/main)
==2727== by 0x400C9A: main (main.c:51)
==2727== Address 0x5a607a0 is not stack'd, malloc'd or (recently) free'd

0 投票
3 回答
782 浏览

c++ - 行为差异(GCC 和 Visual C++)

考虑以下代码。

我无法弄清楚代码在 Linux(使用的 IDE:Code::Blocks)上出现分段错误的原因,而在 Windows(使用的 IDE:Visual C++)上却没有。

当我使用 Valgrind 来检查实际问题时,我得到了这个输出

我去了Invalid write of size 4四个不同的地方。那为什么我使用Visual C++时代码没有崩溃呢?

我错过了什么吗?

0 投票
2 回答
9673 浏览

c++ - 在阅读 callgrind 输出时需要帮助

我已经像这样使用我的应用程序运行 callgrind:

然后调用:

我看到如下输出:

我有几个问题:

  1. 右边的数字是什么意思?这是否意味着它在调用右边的函数时累积了这么长时间?我如何知道该函数被调用了多少次,这是否包括调用该函数调用的函数所花费的时间?

  2. 是什么???意思?例如???:0x0000000000009190 [/usr/lib/libpangocairo-1.0.so.0.2800.0]

0 投票
1 回答
2125 浏览

valgrind - 在理解 kcachedgrind 输出方面需要帮助

我正在使用 valgrind callgrind 来分析 gtk 上的程序。然后我使用 kcachedgrind 读取结果。我在这里捕获了 kcachedgrind 的更新截图:http: //i41.tinypic.com/168spk0.jpg。它说函数 gtk_moz_embed_new() 花费了“15.61%”。但我不明白这怎么可能。函数 gtk_moz_embed_new() 从字面上看有 1 行:它只是调用 g_object_new()。

您能否帮助理解结果或如何使用 kcachedgrind。

谢谢你。

0 投票
3 回答
1222 浏览

c - Valgrind 的“噪音”,是什么意思?

当我使用 valgrind 帮助调试我正在开发的应用程序时,我注意到大量噪音似乎在抱怨标准库。作为测试,我这样做了;

然后我这样做了;

你可以在这里看到完整的结果:http: //pastebin.com/gcTN8xGp

我有两个问题;首先有没有办法抑制所有的噪音?

--show-below-main 默认设置为 no,但似乎没有 --show-after-main 等效项。

0 投票
3 回答
2637 浏览

c++ - valgrind 是疯了还是这是真正的 std map 迭代器内存泄漏?

好吧,总的来说,我对 Valgrind 和内存泄漏分析器非常陌生。而且我必须说,当您开始使用它们时会有些害怕,因为您无法停止想知道以前可能有多少泄漏未解决!

就这一点而言,由于我不是 C++ 程序员的经验丰富,我想检查这是否肯定是内存泄漏,或者 Valgrind 是否在做误报?

这是为什么?clear 命令不应该调用每个对象和每个向量的析构函数吗?

现在在做了一些测试后,我发现了不同的泄漏解决方案:

1) 删除:

2)添加:

3) 删除第二个

使用解决方案 2) 使 Valgring 打印:10 allocs, 11 frees可以吗?

由于我没有使用 new 为什么要删除?

谢谢你的帮助!

0 投票
1 回答
697 浏览

memory-leaks - 根据 Valgrind 的说法,GTK+ 窗口有这么多内存泄漏是怎么回事?

每当我在valgrind中加载任何基于 GTK+ 的应用程序时,它都会报告大量内存泄漏。那是怎么回事?GTK+ 有问题吗?

0 投票
4 回答
7005 浏览

c - 我可以让 valgrind 忽略 glibc 库吗?

是否可以告诉 valgrind 忽略某些库?特别是 glibc 库..

实际问题:我有一些在正常执行中运行良好的代码。无泄漏等。

当我尝试通过 valgrind 运行它时,我得到核心转储和程序重新启动/停止。

Core 通常指向 glibc 函数(通常是 fseek、mutex 等)。我了解不兼容的 glibc / valgrind 版本可能存在一些问题。

我尝试了各种 valgrind 版本和 glibc 版本,但没有运气。有什么建议么?

0 投票
4 回答
3826 浏览

c - 调用 calloc - 内存泄漏 valgrind

以下代码是来自NCURSES菜单库的示例。我不确定代码可能有什么问题,但 valgrind 报告了一些问题。有任何想法吗...

源代码: