Valgrind 分段错误

Valgrind 分段错误

我以前从未使用过 Valgrind,想用它来检查用 C 编写的程序中的内存泄漏。我使用的是运行 Linux Debian 的 BeagleBone AI。

debian@beaglebone:~$ cat /proc/version
Linux version 4.14.108-ti-r127 (root@x2-am57xx-beagle-x15-2gb) (gcc version 6.3.0 20170516 (Debian 6.3.0-18+deb9u1)) #1 SMP PREEMPT Wed Jan 29 04:10:14 UTC 2020

我已经安装了 Valgrind。

debian@beaglebone:~$ sudo apt-get install valgrind

我已经使用 gcc 编译了我的代码。我有两个文件 main.c 和 main.h。

debian@beaglebone:/var/lib/cloud9/ETS/ELE216/Lab2/mini-shell$ gcc -o main main.c

代码按预期运行。

debian@beaglebone:/var/lib/cloud9/ETS/ELE216/Lab2/mini-shell$ ./main

但是,当我尝试运行 Valgrind 时出现错误。无论 Valgrind 运行什么程序,我都会遇到同样的错误。我尝试过lsps,得到了相同的结果。

debian@beaglebone:/var/lib/cloud9/ETS/ELE216/Lab2/mini-shell$ valgrind --tool=memcheck ./main
==30416== Memcheck, a memory error detector
==30416== Copyright (C) 2002-2015, and GNU GPL'd, by Julian Seward et al.
==30416== Using Valgrind-3.12.0.SVN and LibVEX; rerun with -h for copyright info
==30416== Command: ./main
==30416==

valgrind: m_transtab.c:2459 (vgPlain_init_tt_tc): Assertion 'sizeof(TTEntryC) <= 88' failed.
Segmentation fault

我已经做了一些谷歌搜索,但没有发现任何有用的东西。任何帮助,将不胜感激。

相关内容