当我运行文件(my-file)命令时,我得到
我文件:Elf 64位LSB可执行文件,ARM AARCH64,版本1(SYSV),动态链接,解释器/lib/ld-linux-aarch64.so.1,用于GNU/Linux 3.7.0,buildId [SHA1] = D0FA19146049B8F8B977701A7FC91284F157403EF,未剥离
当我尝试运行./my-file时: *错误中的错误/lano-campipe':realloc():无效指针:0x0000000000406dc8 * 中止(核心倾倒)
有一个Aarch64端口的Valgrind。如果您在此下运行程序,它可能会准确地告诉您错误发生了什么。
我的猜测是基于地址,是您将(数组或字符串的)地址传递给了realloc
,该地址在.data
(或.rodata
)部分中分配了,而不是在堆中。如果您在GDB下运行程序并输入此命令
info symbol 0x0000000000406dc8
它可能会为地址打印符号信息。可能有必要调用malloc
并将数据复制到堆以修复此错误。