9

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ボックスです。

4

2 に答える 2

19

これは役立つかもしれません:

$ gdb-multiarch
...
This GDB was configured as "x86_64-linux-gnu".
For bug reporting instructions, please see:
<http://www.gnu.org/software/gdb/bugs/>.
(gdb) set gnutarget elf32-littlearm
(gdb) file daemon
...
(gdb) target core core
...
(gdb)
于 2013-02-08T13:01:20.273 に答える
-4

以下は、デスクトップ (gdb-multiarch を実行しようとしている場所) が x86 の場合にのみ関連します。

Gdb はデバッガーです。x86 プロセッサではアーム コードを実行できないため、x86 デスクトップ マシンで外部アーキテクチャの実行可能ファイルをデバッグすることはできません。ただし、arm マシンで実行される gdb-server を使用してリモートでデバッグできます。

デスクトップ アームですか、それとも x86 ですか。

于 2012-09-27T14:42:55.253 に答える