读取调试信息时出现严重错误-抑制?忽略?修复?

7

我正在使用valgrind来寻找C / 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

我该怎样处理这些警告?我应该…
  • 以某种方式修复它们吗?这是在系统库中,而不是在我的代码中;是否有可能处理它们?
  • 以某种方式压制它们(但不要压制任何真正的错误消息)?
  • 忽略它们 - 如果我既不能修复也不能压制它们?

注:我使用GNU / Linux Mint 18.4,内核为4.13.0-32,机器为X86_64。

1个回答

8

5
我遇到了与valgrind 3.13.x类似的问题,因此我认为升级不会解决任何问题。 - Ash
2
尝试升级到Valgrind 3.17.0或更高版本: “3.17.0修复了一些错误并添加了一些功能性更改:支持GCC 11、Clang 11、DWARF5 debuginfo...” https://valgrind.org/docs/manual/dist.news.html - Joe M.

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接