valgrind相关内容
我正在尝试找出是什么原因导致Valgrind警告某些“仍可到达”的阻塞。我已经检查了我的代码,没有发现任何Free()遗漏。我尝试使用--leak-check=yes--show-reacable=yes选项运行,以下是输出示例: ==2999== 616 bytes in 7 blocks are still reachable in loss record 8 of 9 ==2999==
..
main.cpp #include int main() { int* x = new int; std::cout
..
..
我在 Linux 环境中开发 C++ 应用程序.我每天使用的工具包括带有 CDT 插件的 Eclipse、gdb 和 valgrind. 其他人使用什么工具?Linux 上是否有任何东西可以与 Microsoft Visual Studio 的流畅性相媲美? 解决方案 我用了一堆终端窗口.我在有趣的源文件上运行 vim,在另一个文件上运行 make 和 g++ 以用于编译器错误或用于运行
..
我有一个剥离的二进制文件和符号文件.是否可以将符号添加回二进制文件并创建一个未剥离的二进制文件. 我的用例是使用这个带有 valgrind 的二进制文件. 解决方案 Valgrind 支持 单独的调试文件,所以你应该使用 在此处回答,valgrind应该可以与外部调试文件正常工作.
..
我正在使用 CentOS 存储库中的标准 gcc 4.4 软件包在 64 位 CentOS 5.8 上开发一个静态链接的 64 位 C++ 应用程序.它使用的内存似乎比我预期的要多,所以我尝试使用 massif 来分析内存使用情况.我已经用调试信息编译,然后运行 valgrind --tool=massif ./MyProg 来自 MyProg 所在的目录.除了以下 massif
..
在我之前的帖子中,我需要在 10 台计算机之间分发 pgm 文件的数据.在 Jonathan Dursi 和 Shawn Chin 的帮助下,我已经集成了代码.我可以编译我的程序,但它出现了分段错误.我跑了,但什么也没发生 mpirun -np 10 ./exmpi_2 balloons.pgm output.pgm 结果是 [ubuntu:04803] *** 处理接收到的信号 *
..
我的程序出现分段错误,我找不到原因.最糟糕的是,有问题的函数并不总是导致段错误. GDB 确认错误并产生此回溯: 程序收到信号SIGSEGV,分段错误.0xb7da6d6e in malloc_consolidate (av=) at malloc.c:51695169 malloc.c:没有这样的文件或目录.在 malloc.c 中(gdb
..
我一直在尝试调试我的应用程序崩溃(即断言* 检测到 glibc * free(): invalid pointer: 0x000000000070f0c0 ***) 而我正在尝试对字符串进行简单的分配.请注意,我正在使用 gcc 4.2.4 的 linux 系统上编译,优化级别设置为 -O2.使用 -O0,应用程序不再崩溃. 例如 std::string abc;abc = "testSt
..
您好,我正在尝试为 android-arm 构建 valgrind.在 Linux Mint 13 上失败: $ 制作echo "# 这是一个生成的文件,由以下抑制规则组成:" >默认.suppecho "#" exp-sgcheck.supp xfree-3.supp xfree-4.supp glibc-2.X-drd.supp glibc-2.34567-NPTL-helgrind.sup
..
上周我一直在寻找这个问题的答案. 如何使用 valgrind 启动 Android 应用程序?我知道我可以使用“am"命令启动应用程序,但它会启动应用程序并退出. 我正在编写一个将 NDK 用于本机 C 代码的应用,我需要检查它是否存在可疑的内存错误. 编辑: 我学到了更多.您可以使用 shell 脚本“包装"应用程序. 这是我正在使用的 shell 脚本: #!/
..
我的应用程序中有一个非常简单的 CUDA 组件.Valgrind 报告了很多泄漏和仍然可访问的问题,所有这些都与 cudaMalloc 调用有关. 这些泄漏是真的吗?我为每个 cudaMalloc 调用 cudaFree.这是 valgrind 无法解释 GPU 内存分配吗?如果这些泄漏不是真实的,我可以抑制它们并让 valgrind 只分析应用程序的非 gpu 部分吗? 外部“C"无符号
..
我的链接列表和 valgrind 输出有问题.不用多说了,这里是我的链表: typedef struct Map map;结构映射{无效 *地址;双空闲时间;地图*下一个;}*地图列表; 列表是使用虚拟头节点创建的.如您所见,该结构体包含一个地址和一个空闲时间,我尝试将它们关联起来. 在find_and_free 函数中,我使用时间搜索此列表,如果此时间小于列表中存储的时间,则取消分配保
..
我根据教程实现了加密程序: http://www.openssl.org/docs/crypto/EVP_EncryptInit.html# 当我通过 valgring 运行它并得到以下报告时: ==2371== 1 个块中的 176 个字节在丢失记录 3 of 6 中仍然可达==2371== 在 0x4C2B6CD:malloc(在/usr/lib/valgrind/vgprelo
..
虽然在 valgrind 中搜索仍然可达,但有人说这不是问题.我们不需要修复它.有人说它需要修复.如果有人能明确解释我这背后的逻辑是什么,我会更好.是否必须修复此问题? [编辑] 我的 C 程序有以下 valgrind 输出.我需要修复它吗? 泄漏摘要:==27333== 肯定丢失了:0 个块中的 0 个字节.==27333== 可能丢失:0 个块中的 0 个字节.==27333=
..
今天我正在编写一些代码,完成后,我使用 valgrind 进行了检查 我得到了一个惊喜. 如果我在我的 Ubuntu (15.04 64BIT) 上用 gcc-4.9.2 编译我的程序,如下: gcc -Wextra -Werror -Wstrict-prototypes -Wconversion --std=c11 -O2 -g program.c -o program 然后运行val
..
我通常用 C++ 编写我的类,并在 Linux 平台上使用 valgrind 检查它们是否泄漏内存.直到所有堆内存都被释放,我才满意. 开始用 Qt 编写,我发现 valgrind 检测到多少泄漏,也是在一个简单的项目中.它们太多了,很难检测到我的相同泄漏. 我在某处读到可以使用 valgrind 的抑制文件,这有助于过滤掉不需要的泄漏,但我找不到它. 我使用的是 Ubuntu
..
考虑这个代码: #include int* alloc(){返回 malloc(250 * sizeof(int));}int main(){国际我;int *vars[3];for(i = 0; i Valgrind 输出: $ valgrind --leak-check=full ./lala==16775== Memcheck,内存错误检测器==16775== 版权所有 (C) 20
..
我正在编写一些使用 MPI 的代码,并且在使用 valgrind 运行它时我一直注意到一些内存泄漏.在试图确定问题出在哪里时,我最终得到了这个简单(而且完全没用)的 main: #include "/usr/include/mpi/mpi.h";int main(int argc,char** argv){MPI_Init(&argc, &argv);MPI_Finalize();返回0;}
..
假设我有以下程序 #include #include int main(void){国际*我;if ((i = malloc(sizeof(int) * 100)) == NULL) {printf("EROOR: 无法分配内存\n");返回-1;}/* 内存分配成功 *//* 内存未释放但程序终止 *///免费(i);返回0;} 上面的程序调用malloc来分配一些内存,并没有调用free来
..