当前位置:  开发笔记 > 运维 > 正文

GDB远程调试错误

如何解决《GDB远程调试错误》经验,为你挑选了0个好方法。

我试图在x86_64 suse linux上远程调试32位应用程序,但得到这个"远程寄存器格式错误"错误.

我启动gdbserver作为侦听端口12345(gdbserver localhost:12345 my_prog)

这是错误:

$ gdb
GNU gdb 6.6
Copyright (C) 2006 Free Software Foundation, Inc.
GDB is free software, covered by the GNU General Public License, and you are
welcome to change it and/or distribute copies of it under certain conditions.
Type "show copying" to see the conditions.
There is absolutely no warranty for GDB.  Type "show warranty" for details.
This GDB was configured as "x86_64-suse-linux".
(gdb) target remote :12345
Remote debugging using :12345
Remote register badly formatted: T0506:0000000000000000;07:80b8bcff00000000;10:4028f0f700000000;
here: 0000000;07:80b8bcff00000000;10:4028f0f700000000;
(gdb)

这是调试服务器机器(uname -a):

Linux服务器2.6.16.60-0.31-smp#1 SMP Tue 10月7日16:16:29 UTC 2008 x86_64 x86_64 x86_64 GNU/Linux

这是调试客户机(uname -a):

Linux客户端2.6.16.54-0.2.5-default#1 Mon 1月21日13:29:51 UTC 2008 x86_64 x86_64 x86_64 GNU/Linux

两台机器都在虚拟机中运行(VMWare).gdbserver二进制文件从客户端计算机复制到服务器计算机.

(我进行远程调试,因为调试服务器上的运行时环境类似于生产环境,并且不包含任何开发工具,访问源代码等)

欢迎任何建议.

更新:通过在gdb中发出以下命令,这对我有用:

设置架构i386:x86-64

推荐阅读
和谐啄木鸟
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有