linux – GDB远程调试错误

linux – GDB远程调试错误,第1张

概述我试图在x86_64 suse linux上远程调试32位应用程序,但得到这个“远程寄存器格式错误”错误. 我启动gdbserver作为侦听端口12345(gdbserver localhost:12345 my_prog) 这是错误: $gdbGNU gdb 6.6Copyright (C) 2006 Free Software Foundation, Inc.GDB is free so 我试图在x86_64 suse linux上远程调试32位应用程序,但得到这个“远程寄存器格式错误”错误.

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

这是错误:

$gdbGNU gdb 6.6copyright (C) 2006 Free Software Foundation,Inc.GDB is free software,covered by the GNU General Public license,and you arewelcome 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 <ip>:12345Remote deBUGging using <ip>:12345Remote 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

解决方法 也许您需要在(gdb)提示符下执行类似set architecture i386的 *** 作?连接到远程目标后,show architecture说了什么? 总结

以上是内存溢出为你收集整理的linux – GDB远程调试错误全部内容,希望文章能够帮你解决linux – GDB远程调试错误所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/yw/1030767.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-05-23
下一篇 2022-05-23

发表评论

登录后才能评论

评论列表(0条)

保存