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