valgrind是适用于Linux,OS X,Android和Solaris系统的动态分析工具。它可用于分析以及查找内存泄漏,竞争条件和线程错误。
有没有像Valgrind Memcheck之类的Windows工具可以在释放错误后调试使用? [已关闭]
在我的工作中,我经常遇到相当常见的编程错误 - 使用一些已经被释放的对象。这会调用 C++ 中的 UB。在linux上,此类问题通常可以通过使用
这里我正在SDL2中制作一个基本程序,我在其中打开一个窗口。 但是当我在程序上执行 valgrind 时,它告诉我有一堆内存泄漏,而且我似乎无法追踪它们。我正在做...
在 Linux 中的 getgrnam 和 getgrnam_r 中观察到内存泄漏
我正在尝试使用一些基本的 C 代码检索 linux 组,但是 getgrnam 和 getgrnam_r 都遇到内存泄漏。仅当 /etc/gro 中缺少 linux 组时才会发生内存泄漏...
Valgrind 使用 getaddrinfo 显示仍然可到达的内存泄漏
以下代码是我连接服务器的C程序的摘录: struct addrinfo 提示,*res,*matchingIP; 字符地址str[99]; 字符端口[20]; snprintf(端口, sizeof(端口), "%d",
std::cos 使用 valgrind 运行时给出不同的结果
我发现了一个影响我工作中的多个单元测试的问题,这种情况仅在使用 valgrind 运行单元测试时才会发生,因为从 std::cos 和 std::sin 返回的值对于
Valgrind Memcheck 模糊 /proc/self/maps 中程序的内存段
我正在用C编写一个线程模拟程序,它需要知道堆栈段的最低地址,以便它可以读取和写入切换上下文所需的元数据。我通过
当尝试多次使用 getopt 时,我在 valgrind 中遇到的错误是 Invalid read of size 1。该错误仅在执行以下操作时发生: ls-a-b ls-a-b 因此我假设...
使用 Librdkafka 向 kafka 服务器发送消息时出现内存泄漏
我正在设置一个 C 应用程序,该应用程序应该将传感器数据发送到 kafka 服务器。该消息仅包含一个 JSON 字符串,其中包含所有传感器名称及其值。 卡夫卡产品...
使用open62541向OPCUA服务器发送读请求时内存泄漏
我正在设置一个 C 应用程序,该应用程序应该从 OPCUA 服务器读取数据并将其转换为 JSON 消息以在其他地方使用。 目前OPCUA客户端设置如下: 无效
条件跳转或移动取决于未初始化的值/未初始化的值是由堆分配(realloc)创建的
我正在尝试转置 C 中的(非方)矩阵(就地)。 ****mats 是一个指向动态分配的 3d 数组的指针 **ll 是一个指向动态分配数组的指针,我在其中保存
我正在调查在具有 ARM CPU 的嵌入式 Linux 系统 (Yocto 1.5) 上运行的 C++ 应用程序中的内存泄漏问题。 Valgrind 3.8.1 已安装在目标上。 C++程序编译完成...
我正在 ARM 机器(ubuntu)上的简单程序上运行 valgrind,但在机器上使用最新的 valgrind(Valgrind-3.13.0)时没有在 valgrind 报告中获得正确的堆栈跟踪。 堆摘要: 出口处使用中:2...
我正在研究一种编译为 C99 的语言,没有 malloc、没有递归、没有循环。所有内存都是预先分配的,并且所有函数都会终止(除非出现除零之类的异常)。 ...
一位同事请求帮助在程序中查找难以重现的 SIGSEGV,因此我通过 valgrind 运行它以查找任何内存问题。 不幸的是,我最终得到的是这样的: $ valgrind --track-
目前我正在用C语言搞乱排序算法。在此过程中我遇到了以下问题: 我定义了一个 int 数组 int 数组[长度]; 哪里...
Valgrind 在运行以下程序时抱怨 inet_pton() : #包括 #包括 int main() { struct in6_addr 地址; if (inet_pton(AF_INET6, "f...
我的代码中存在内存泄漏。堆随着流的触发而不断增加。 在我的代码中,我有一个 while(1) 循环,它基本上等待队列。 当该流程从 Web 服务触发时,
Valgrind 内存错误(释放了大小为 24 的块内的 0 字节)
我从 valgrind 收到 25 个错误。其中 23 个错误来自同一上下文。我没有失忆,但我无法弄清楚确切的问题出在哪里。我得到了我想要的确切输出...
Valgrind 正在报告使用 fexecve 调用发生的不可能的事情
我有一个程序,它使用 memfd_create 将简单的 hello world 二进制文件加载到内存中,然后使用 write 将二进制数据写入文件。然后我分叉一个进程并调用 fexecve。 代码工作...
macOS Ventura 13.0 上的 Valgrind
我在通过 Homebrew 在 macOS Ventura (13.0) 上安装 Valgrind 时遇到问题。在终端中我尝试过以下操作。 $brew安装valgrind Homebrew 自动更新后,我得到了以下...