- android - 多次调用 OnPrimaryClipChangedListener
- android - 无法更新 RecyclerView 中的 TextView 字段
- android.database.CursorIndexOutOfBoundsException : Index 0 requested, 光标大小为 0
- android - 使用 AppCompat 时,我们是否需要明确指定其 UI 组件(Spinner、EditText)颜色
我使用 massif、sgcheck 和 memcheck valgrind 的模块来检查 c/c++ 项目。我想知道是否可以让 valgrind 忽略部分代码。当我在我的项目上运行它时,opencv 调用生成了 248 个不同的“假”错误。这是正常的,但目前我无法真正避免这个调用,这就是为什么我想让 valgrind 忽略这部分代码。
我尝试通过将 --gen-suppressions=all --log-file=valgrind.out
添加到我的命令行来生成一个文件来生成一个文件来“抑制”他的错误忽略错误。但是有一些“手动过程”要做,比如删除日志文件中的 248 block ,我想避免它。
所以:你知道是否有办法(可能有点像 ifdef 或 ifndef)让 valgrind 忽略部分代码?
谢谢!
最佳答案
最后我使用 --gen-suppressions=all --log-file=valgrind.out
做到了:
--gen-suppressions=all –log-file=valgrind_tmp.out
到 memcheck 命令sed '/==/d' valgrind_tmp.out > valgrind.out
删除所有无用的行--suppressions=valgrind.out
运行内存检查所以我没有找到让 memcheck 避免特定代码部分的方法,我只是过滤错误输出。
关于c++ - 使用 valgrind 忽略部分代码 - memcheck,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48205408/
valgrind quickstart page提到: Try to make your program so clean that Memcheck reports no errors. Once
cuda-memcheck 正在报告 Release模式 CUDA 内核的此信息: ========= Error: process didn't terminate successfully ===
我正在使用共享内存运行以下代码: __global__ void computeAddShared(int *in , int *out, int sizeInput){ //not
假设我正在使用一个使用 glibc 的库。当我在通过 Valgrind 运行程序时退出程序时,Valgrind 会检测到各种内存泄漏。我 100% 确定没有任何泄漏与我刚刚编写的几行代码明确相关。有没
我用以下 C 代码引入了内存错误: #include #include int main(int argc, char** argv){ int i; int *a = (int *)malloc
所以在我的程序中,我有一个连续的对象数组。我这样做是因为我想要这些对象中的每一个之间的空间局部性。它们非常小,位于一个非常大的数组中,并按顺序迭代。 因此我这样初始化它们 memoryPool = n
运行我的程序,出现此错误: ==3205== Invalid write of size 8 ==3205== at 0x40167C: push (load.c:75) ==3205==
我正在调试一个链接到商业 API 库(在 Linux 下)的程序。我正在使用 valgrind memcheck,因为我遇到了奇怪的行为,这可能是由于写入超出了分配的内存块所致: valgrind -
我成功地使用 cuda-memcheck 获取有关错误内存访问的错误。使用 -g -G 编译 cuda 代码给出了很好的源位置,如下所示: ========= Error: process didn'
我不认为有一种方法可以像使用 callgrind 那样以编程方式启用/禁用 Valgrind memcheck? (开始/停止检测)。 这是痛苦的,慢得无法使用(如果你想测试的代码自动启动并且你只是让
我试图调试我的 CUDA-C 程序,我发现 cuda-memcheck 可能会有所帮助。我的问题是我无法使用该工具,因为每次运行它时,即使在从互联网上获取的“Hello World”程序上,我也会得到
由于 OpenSSL 使用未初始化的内存,因此对使用 openldap2 的 libldap 的程序进行 Valgrind 是一件苦差事。存在一个 --ignore-fn选项,但仅适用于 Valgri
这是我的代码。 #include #include #include char buf1[100]; char buf2[100]; int main() { char **p = (c
我以前没有使用过 valgrind,但我认为它应该可以检测到一些内存错误。 我的代码: #include unsigned int a[2]; int main() { a[-1] = 21
我正在使用 valgrind 检查我的程序是否在类所需的内存范围内。当我运行 massif 时,我得到一个漂亮的图表,上面显示我的最大内存使用量(堆+堆栈)是 21 KB。当我运行 valgrind
我跑到 cuda-memcheck 调试我的代码,输出如下 ========= Program hit cudaErrorCudartUnloading (error 29) due to "driv
我是编程新手,正在学习 http://c.learncodethehardway.org/book/ex4.html 上的教程它向您展示了如何安装 valgrind。我已经编译了应该显示内存泄漏的示例
我正在使用 Valgrind 工具来了解不同类型的内存泄漏:直接丢失,间接丢失仍然可达并且可能丢失。示例 1: #include #include main() { int *p, i;
我正在从头开始用 C 编写一个计算器(家庭作业)并且在某处遇到内存问题..算法运行完美,但我得到了一组 Valgrind 错误/警告,例如: echo -n "1" | valgrind ./a.ou
我使用 massif、sgcheck 和 memcheck valgrind 的模块来检查 c/c++ 项目。我想知道是否可以让 valgrind 忽略部分代码。当我在我的项目上运行它时,opencv
我是一名优秀的程序员,十分优秀!