【发布时间】:2012-09-19 05:55:14
【问题描述】:
我正在尝试在我的 Linux 桌面上读取 ARM 核心文件,但它似乎无法找出我的核心文件。有什么方法可以告诉 gdb 我的核心文件是什么类型?
$ file ~/daemon
./daemon: ELF 32-bit LSB executable, ARM, version 1, dynamically linked (uses shared libs), for GNU/Linux 2.0.0, not stripped
$ file ~/core
./core: ELF 32-bit LSB core file ARM, version 1 (SYSV), SVR4-style, from './daemon -v -v -v -v -e 10 -t foo'
$ gdb-multiarch ~/daemon ~/core
GNU gdb (GDB) 7.5-ubuntu
Copyright (C) 2012 Free Software Foundation, Inc.
License GPLv3+: GNU GPL version 3 or later <http://gnu.org/licenses/gpl.html>
This is free software: you are free to change and redistribute it.
There is NO WARRANTY, to the extent permitted by law. Type "show copying"
and "show warranty" for details.
This GDB was configured as "x86_64-linux-gnu".
For bug reporting instructions, please see:
<http://www.gnu.org/software/gdb/bugs/>...
Reading symbols from ./daemon...done.
"./core" is not a core dump: File format is ambiguous
(gdb) core-file ~/core
"./core" is not a core dump: File format is ambiguous
根据“集合架构”列表,生成平台是armv4,gdb-multiarch声称支持。
编辑:澄清一下,我运行 gdb 的台式机是“x86_64-linux-gnu”,即 64 位 Intel Ubuntu 机器。
【问题讨论】:
-
gdb 状态读取守护进程没问题,但问题出在核心文件上。在核心文件上尝试 readelf 以查看任何可疑内容。对于此类任务,文件实用程序必须非常肤浅。