valgrind - "Serious error when reading debug info"- 抑制?忽略?使固定?

标签 valgrind memcheck debug-information

我正在使用 valgrind 尝试定位 C-cum-C++ 程序中违反内存访问的原因。即使避免了这种访问(即当一切正常时),valgrind 告诉我:

==11436== Memcheck, a memory error detector
==11436== Copyright (C) 2002-2015, and GNU GPL'd, by Julian Seward et al.
==11436== Using Valgrind-3.11.0 and LibVEX; rerun with -h for copyright info
==11436== Command: bin/monetdb-bp-reader /home/eyalroz/dbfarms/monetdb/tpch-sf-1
==11436== 
--11436-- WARNING: Serious error when reading debug info
--11436-- When reading debug info from /usr/lib/x86_64-linux-gnu/libstdc++.so.6.0.24:
--11436-- Ignoring non-Dwarf2/3/4 block in .debug_info
--11436-- WARNING: Serious error when reading debug info
--11436-- When reading debug info from /usr/lib/x86_64-linux-gnu/libstdc++.so.6.0.24:
--11436-- Last block truncated in .debug_info; ignoring
--11436-- WARNING: Serious error when reading debug info
--11436-- When reading debug info from /usr/lib/x86_64-linux-gnu/libstdc++.so.6.0.24:
--11436-- parse_CU_Header: is neither DWARF2 nor DWARF3 nor DWARF4
--11436-- WARNING: Serious error when reading debug info
--11436-- When reading debug info from /lib/x86_64-linux-gnu/libgcc_s.so.1:
--11436-- Ignoring non-Dwarf2/3/4 block in .debug_info
--11436-- WARNING: Serious error when reading debug info
--11436-- When reading debug info from /lib/x86_64-linux-gnu/libgcc_s.so.1:
--11436-- Last block truncated in .debug_info; ignoring
--11436-- WARNING: Serious error when reading debug info
--11436-- When reading debug info from /lib/x86_64-linux-gnu/libgcc_s.so.1:
--11436-- parse_CU_Header: is neither DWARF2 nor DWARF3 nor DWARF4

我应该如何处理这些警告?我是不是该...
  • 以某种方式修复它们?它在系统库中,不在我的代码中;甚至有可能对他们做些什么吗?
  • 以某种方式抑制它们(但不抑制任何真正的错误消息)?
  • 忽略它们——如果我既不能修复也不能压制?

  • 注意:我在 X86_64 机器上使用 GNU/Linux Mint 18.4 和内核 4.13.0-32。

    最佳答案

    这可能是由于在 libstdc++.so 中启用了压缩调试符号,请参阅相关的 debian 错误报告:https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=810295 .

    Valgrind 在 3.11 版本中不支持压缩调试符号,但现在支持它们,见 https://bugs.kde.org/show_bug.cgi?id=303877 .我建议将 Valgrind 更新到最新版本或从来源构建它:http://valgrind.org/downloads/repository.html .

    关于valgrind - "Serious error when reading debug info"- 抑制?忽略?使固定?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48831334/

    相关文章:

    c++ - 如何调试错误代码77 : cudaErrorIllegalAddress when cuda-memcheck finds no issues?

    linux - 在哪里可以找到 ubuntu 12.04 的调试信息内核 rpm?

    c++ - 使用 -g 编译本身会降低性能吗?

    c++ - OOM 时不会崩溃的内存泄漏,或出现在 massif/valgrind 中

    c++ - valgrind memcheck 给出消息 "in a rw- anonymous segment"

    c++ - 向用户显示异常调试信息

    C 编程 - 免费方法给我一个无效的下一个大小(快速)错误

    ios - 是否可以在 iOS 模拟器和设备上运行 valgrind?

    c++ - C++ 中的析构函数和类 [内存泄漏]

    c - 在 C 中用 fgets 逐行读取文件,大小读取无效