我可以让valgrind忽略glibc库吗?
发布时间:2020-12-16 03:34:57 所属栏目:百科 来源:网络整理
导读:有可能告诉valgrind忽略一些图书馆吗? 具体glibc库 实际问题: 我有一些代码在正常执行中运行正常.无泄漏等 当我尝试通过valgrind运行它,我得到核心转储和程序重新启动/停止. 核心通常指向glibc函数(通常是fseek,mutex等). 我明白,与glibc / valgrind不兼容
有可能告诉valgrind忽略一些图书馆吗?
具体glibc库 实际问题: 当我尝试通过valgrind运行它,我得到核心转储和程序重新启动/停止. 核心通常指向glibc函数(通常是fseek,mutex等). 我尝试过各种valgrind版本和glibc版本,但没有运气. 解决方法
这可能不会回答你的问题,但会为您提供如何抑制某些错误的细节(其他人已经提到但没有详细描述):
首先,运行valgrind如下: valgrind --gen-suppressions=all --log-file=valgrind.out ./a.out 现在,输出文件valgrind.out将包含一些自动生成的抑制块,如下所示: { stupid sendmsg bug: http://sourceware.org/bugzilla/show_bug.cgi?id=14687 Memcheck:Param sendmsg(mmsg[0].msg_hdr) fun:sendmmsg obj:/usr/lib/libresolv-2.17.so fun:__libc_res_nquery obj:/usr/lib/libresolv-2.17.so fun:__libc_res_nsearch fun:_nss_dns_gethostbyname4_r fun:gaih_inet fun:getaddrinfo fun:get_socket_fd fun:main } 其中“愚蠢的sendmsg bug”和链接是我添加的名称来引用这个块.现在,将该块保存到sendmsg.supp,并在下一次运行时告诉valgrind该文件: valgrind --log-file=valgrind --suppressions=sendmsg.supp ./a.out valgrind会慷慨地忽视那个愚蠢的上游错误. (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |