“读取调试信息时出现严重错误” - 抑制?忽视?固定?

时间:2018-02-16 16:46:48

标签: 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。

1 个答案:

答案 0 :(得分:3)

这可能是由于在libstdc ++中启用了压缩调试符号。所以,请参阅相关的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