32 ビットの Intel ノートブックからリモートの Intel 64 ビット マシンで (テスト用のバグのない単純な Hello World アプリケーション) をデバッグしようとしています。
走る
gcc -g -o cexecute cexecute.c
gdbserver localhost:2345 cexecute
リモートマシン上。
ノートブックのローカル ポート2345
を同じリモート ポートに転送した後、実行gdb
して入力します
target remote localhost:2345
私は得る:
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 "i686-linux-gnu".
For bug reporting instructions, please see:
<http://www.gnu.org/software/gdb/bugs/>.
(gdb) target remote localhost:2345
Remote debugging using localhost:2345
warning: A handler for the OS ABI "GNU/Linux" is not built into this configuration
of GDB. Attempting to continue with the default i386:x86-64 settings.
warning: Architecture rejected target-supplied description
Remote register badly formatted: T0506:0000000000000000;07:e0dbffffff7f0000;10:c0b6ddf7ff7f0000;thread:p64bc.64bc;core:6;
here: 00000000;07:e0dbffffff7f0000;10:c0b6ddf7ff7f0000;thread:p64bc.64bc;core:6;
以前はこれが機能していたので、混乱しています。実行するようにアドバイスする逆の問題 (64 ビット マシンからの 32 ビット アプリケーション) についても同様の質問がありますset architecture
:
GDB でのリモート デバッグ エラー
私はさまざまな議論でこれを試みましたが、成功しませんでした。また、ターゲット プラットフォームのタイプi386:x86-64
も正しいようです。両方のマシンで ubuntu Linux を実行します。前回 gdb を正常に実行したので、両方のマシンにバージョン更新をインストールしました。欠陥はどこにありますか?