遇到无法解决的问题。我尝试安装libc6-dbg和libc6-dbg:i386,但没有帮助。(我有64位Ubuntu 19.10)。

valgrind:  Fatal error at startup: a function redirection
    valgrind:  which is mandatory for this platform-tool combination
    valgrind:  cannot be set up.  Details of the redirection are:
    valgrind:
    valgrind:  A must-be-redirected function
    valgrind:  whose name matches the pattern:      strlen
    valgrind:  in an object with soname matching:   ld-linux-x86-64.so.2
    valgrind:  was not found whilst processing
    valgrind:  symbols from the object with soname: ld-linux-x86-64.so.2
    valgrind:
    valgrind:  Possible fixes: (1, short term): install glibc's debuginfo
    valgrind:  package on this machine.  (2, longer term): ask the packagers
    valgrind:  for your Linux distribution to please in future ship a non-
    valgrind:  stripped ld.so (or whatever the dynamic linker .so is called)
    valgrind:  that exports the above-named function using the standard
    valgrind:  calling conventions for this platform.  The package you need
    valgrind:  to install for fix (1) is called
    valgrind:
    valgrind:    On Debian, Ubuntu:                 libc6-dbg
    valgrind:    On SuSE, openSuSE, Fedora, RHEL:   glibc-debuginfo
    valgrind:
    valgrind:  Note that if you are debugging a 32 bit process on a
    valgrind:  64 bit system, you will need a corresponding 32 bit debuginfo
    valgrind:  package (e.g. libc6-dbg:i386).
    valgrind:
    valgrind:  Cannot continue -- exiting now.  Sorry.

因此,请向您显示已安装的软件包。如您所见,所有内容均已正确安装,但无法正常工作。我不知道该怎么做才能使其正常工作。

amd64软件包
Package: libc6-dbg
Status: install ok installed
Priority: optional
Section: debug
Installed-Size: 44570
Maintainer: Ubuntu Developers <[email protected]>
Architecture: amd64
Multi-Arch: same
Source: glibc
Version: 2.30-0ubuntu2
Provides: libc-dbg
Depends: libc6 (= 2.30-0ubuntu2)
Description: GNU C Library: detached debugging symbols
 This package contains the detached debugging symbols for the GNU C
 library.
Homepage: https://www.gnu.org/software/libc/libc.html
Original-Maintainer: GNU Libc Maintainers <[email protected]>

i386程序包
Package: libc6-dbg
Status: install ok installed
Priority: optional
Section: debug
Installed-Size: 35315
Maintainer: Ubuntu Developers <[email protected]>
Architecture: i386
Multi-Arch: same
Source: glibc
Version: 2.30-0ubuntu2
Provides: libc-dbg
Depends: libc6 (= 2.30-0ubuntu2)
Description: GNU C Library: detached debugging symbols
 This package contains the detached debugging symbols for the GNU C
 library.
Homepage: https://www.gnu.org/software/libc/libc.html
Original-Maintainer: GNU Libc Maintainers <[email protected]>

最佳答案

我在Ubuntu 20.04中遇到了同样的问题。正如phd用户在其评论中指出的那样,这是Valgrind错误,已在commit db07db4c8706d17124a621a254bee1b6f08d2e1d中修复

您可以通过运行类似的内容轻松构建valgrind

git clone git://sourceware.org/git/valgrind.git
cd valgrind
./autogen.sh
./configure
make -j
sudo make install

(如果不确定命令的用途,请不要以sudo的身份运行命令)

关于c++ - 如何在valgrind中启动时修复致命错误(与libc6-dbg和libc6-dbg:i386连接),我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/60243778/

10-14 05:27