问题标签 [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.
c - 了解 valgrind 输出
我之前发了一个帖子询问检查内存泄漏等问题,我确实说我不熟悉 linux 中的终端,但有人对我说使用 valgrind 很容易
我已经设法让它运行等,但不确定输出的含义。扫了一眼,对我来说一切都很好,但如果可能的话,我想通过你的经验来确认。输出如下
这里一切都好吗?唯一与我有关的是仍然可以到达的部分。那样行吗?
感谢大家
valgrind - 服务器进程上的 valgrind
嗨,我是 valgrind 的新手。我知道如何从命令行对可执行文件运行 valgrind。但是如何在 apache/myqld/traffic server 等服务器进程上运行 valgrind ..
我想在流量服务器(http://incubator.apache.org/projects/trafficserver.html)上运行 valgrind 来检测我编写的插件中发生的一些内存泄漏。
有什么建议么 ?
谢谢,猪
c - gethostbyname() 和 valgrind
每当我在 C 代码中调用 gethostbyname() 时,我都会收到此错误。
有任何想法吗 ?谢谢,
c++ - valgrind 抱怨在 c 中做了一个非常简单的 strtok
嗨,我正在尝试通过将整个文件加载到char[]
using中来标记字符串fread
。由于某些奇怪的原因,它并不总是有效,并且 valgrind 在这个非常小的示例程序中抱怨。
给定一个像这样的输入test.txt
以及以下程序
像这样编译
像跑步一样
谢谢
c++ - 使用 Valgrind 工具如何检测哪个对象试图访问 0x0 地址?
我在尝试调试时有这个输出
程序收到信号 SIGSEGV,分段错误 0x43989029 在
std::string::compare (this=0x88fd430, __str=@0xbfff9060) at
/home/devsw/tmp/objdir/i686-pc-linux-gnu/libstdc++-v3/include/位/char_traits.h:253253 {返回memcmp(__s1,__s2,__n);}
当前语言:自动;目前c++
使用 valgrind 我得到这个输出
==12485== 进程以信号 11 (SIGSEGV) 的默认操作终止
==12485== 地址 0x0 的映射区域的权限错误
==12485== 0x1: (在 path_to_my_executable_file/executable_file 内)
c++ - 精确定位“条件跳转或移动取决于未初始化的值”valgrind 消息
因此,我从 valgrind 收到了一些神秘的未初始化值消息,而关于坏值的来源一直是个谜。
似乎 valgrind 显示了最终使用未初始化值的位置,而不是未初始化值的来源。
可以看出,它变得非常神秘..特别是因为当它通过 Class::MethodX 说时,它有时直接指向 ostream 等。也许这是由于优化?
就这样。有什么我想念的吗?在不必求助于超长 printf 侦探工作的情况下捕获错误值的最佳方法是什么?
更新:
我发现了问题所在,但奇怪的是,第一次使用 bad value 时 valgrind 没有报告。它用于乘法函数:
speedfac 是一个统一的浮点数。但是,当时没有报告它,直到要打印该值时我才收到错误.. valgrind 是否有设置来更改此行为?
c - 多个 valgrind 错误:条件跳转或移动取决于未初始化的值
我正在运行 Valgrind,但出现以下错误(这不是唯一的错误):
我的tunnelURL()
函数如下所示(C 代码):
第 336 行对应于带有函数调用的if
语句。getaddrinfo()
我不确定我没有初始化什么。我传入的字符串“应该”已经设置好了。我打印出来就好了。我还收到与同一行代码相对应的另一个错误:
关于可能是什么原因的任何想法?
qt - Qt 4.6.2 和 RHEL 5 的 Valgrind 抑制文件
我正在尝试使用 Qt 4.6.2 在 RHEL 5.5 上运行 Valgrind 3.5.0。它会产生大量虚假错误,我想知道是否有人可以共享他们构建的抑制文件?使用 --leak-check=full 时,即使我只是运行 AddressBook 示例的第 7 部分,输出也会报告 glib、gtk、pango 等中的泄漏。超过 25000 行,真正的内存泄漏在噪音中消失了。
c++ - 如何使用 Valgrind 检测分段错误细节?
我有一个 std::map< std::string, std::string> ,它通过一些 API 调用进行了初始化。当我尝试使用此地图时,我遇到了分段错误。如何检测无效代码或无效代码或任何可以帮助我解决问题的细节?代码如下所示:
c - Valgrind 说“堆栈分配”,我说“堆分配”
我正在尝试使用 valgrind 跟踪段错误。我从 valgrind 收到以下消息:
但是,这是有问题的行:
是什么赋予了?我认为任何对 malloc 或 calloc 的调用都会分配堆空间;这里没有分配其他变量,对吧?是否有可能正在进行另一个我没有看到的分配(有问题的堆栈分配)?
编辑:我目前的怀疑是堆栈分配的数组:我声明了一个指向双精度(堆栈)的指针,然后将返回双精度 * 的函数的结果分配给它。然后我将它移动到先前分配的位置。
我不能 memmove、memcpy 或分配一个堆栈变量然后希望它会持续存在,可以吗?