问题标签 [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 投票
3 回答
3562 浏览

memory-management - 在 Solaris 上找到错误的内存访问

在 Linux、FreeBSD 和其他系统上,我使用 valgrind 来检查内存错误,例如无效读取等。我真的很喜欢 valgrind。现在我必须在 Solaris/OpenSolaris 上测试代码,并且无法找到一种方法来以与 valgrind 一样好的方式(或更好的 ;-))获取有关无效读/写的信息。

在网上搜索时,我找到了对libumem的引用,但我只得到关于那里内存泄漏的报告,而不是无效访问。我错过了什么?

0 投票
4 回答
4564 浏览

java - 在 Linux 上测量进程的内存使用情况

我正在尝试测量 linux 上进程(java 程序)的内存使用情况,并有两个与此相关的问题:

  1. 我尝试使用脚本ps_mem.py(对 /proc/$PID/smaps 的值求和),总内存使用量的峰值约为 135MB(私有和共享内存)。共享内存量小于 1MB。尝试将 Valgrind 与 massif 工具一起使用会valgrind --tool=massif --trace-children=yes --stacks=yes java myProgram在内存使用高峰时产生大约 10MB。
    现在据我了解,堆是存储程序变量的地方,这是否意味着两种方法之间的区别在于代码本身(包括jvm)占用的空间?

  2. 如果同一程序具有不同数量的 RAM 或/和使用不同的处理器(ARM 或 x86),相同的程序是否在不同的机器上使用不同数量的内存?

0 投票
4 回答
11345 浏览

c++ - Valgrind 在给字符串赋值时报告内存泄漏

Valgrind 在将值分配给字符串时报告内存泄漏。

我使用下面的简单代码来测试 Valgrind 报告的内存泄漏。

我使用这个命令编译:

当我运行 Valgrind 时,它会在我尝试为字符串赋值时报告内存泄漏。我正在使用这个简单的测试来调查实际程序中的一些内存泄漏,并且似乎使用字符串会导致某种问题。

通过 0x8048A6F: main (t3.c:23) 是行: string test = "XXXXXXXXX"; 有人可以对这种奇怪的行为给出一些提示吗?

0 投票
2 回答
1389 浏览

memory - CUDA边界检查器?

是否有与 CUDA 的边界检查器或 purify 或 valgrind 等效的工具?

我基本上是在寻找可以告诉我是否在分配的内存之外读取或写入的东西。

0 投票
5 回答
244 浏览

c++ - 有没有办法在进程结束时对静态成员做些什么?

我有一个使用 libxml2 的类。它具有静态成员,用于保存模式文件及其解析器的上下文。我正在使用 valgrind,它抱怨内存没有与模式上下文相关联被释放。这是因为您需要自己释放该内存。但是,由于这些上下文变量是静态的,我无法释放对象的销毁。有没有办法调用必要的自由函数,或者我应该忽略 valgrind。

0 投票
2 回答
776 浏览

multithreading - Thread stack backtraces when program running under valgrind is interrupted

I have a server program, which doesn't have a very clean/graceful shutdown (not supposed to terminate in general). When tracing memory leaks, I run it under valgrind, but finally have to kill the process by a signal (^C). Generally I try to terminate the process when the ambiance is quiet but still then some threads might have been busy processing jobs and memory held by them cause false alarms. To assist such analysis, is there any way (tool) in valgrind, so that it can print the backtrace of threads when the program exits (by a signal?).

0 投票
1 回答
16276 浏览

debugging - 调试由 valgrind 生成的内核

Valgrind 生成了一个 vgcore.NNNN 文件——如何使用 GDB 调试内核?我是否需要使用原始可执行文件并提供核心,还是有其他方法可以做到这一点?

使用 valgrind 作为根可执行文件似乎不起作用,并且使用在核心 GDB 中直接在 valgrind 下运行的可执行文件似乎会产生不好的回溯。

0 投票
5 回答
14004 浏览

c++ - 为什么 valgrind 说基本的 SDL 程序正在泄漏内存?

这是 SDL 程序:

使用命令编译:

这是 valgrind 的输出:

为什么这个基本的 SDL 程序会泄漏内存?

0 投票
1 回答
476 浏览

api - 详细的 Valgrind 内部文档

我正在考虑为 Valgrind 的客户端请求 API 创建一个 D 接口。通过研究头文件和反编译的东西,我最终可以弄清楚它在做什么,但我想知道它们是否是关于事情如何工作的权威文档?(顺便说一句,我已经找到了这个文件,但它没有足够的信息)

我正在寻找的将回答以下问题:如何生成宏来包装/调用返回 32 位机器字并采用 64 位浮点数的函数?

0 投票
2 回答
2394 浏览

llvm - 静态和动态仪表的优缺点

有许多静态和动态检测工具。Soot 是 Java 字节码的静态检测工具。Pin 和 Valgrind 是二进制文件的动态检测工具。

静态和动态检测工具的优缺点是什么?我认为静态检测工具在运行时性能方面更好,而动态工具更强大。请比较他们的能力和表现。

另外,使用检测工具与编写 LLVM 通行证有什么区别?