如何像debug那样观察寄存器的值呢?有这样的工具吗?

系统安装、升级讨论
版面规则
我们都知道新人的确很菜,也喜欢抱怨,并且带有浓厚的Windows习惯,但既然在这里询问,我们就应该有责任帮助他们解决问题,而不是直接泼冷水、简单的否定或发表对解决问题没有任何帮助的帖子。乐于分享,以人为本,这正是Ubuntu的精神所在。
回复
intijk
帖子: 167
注册时间: 2007-09-01 23:52

如何像debug那样观察寄存器的值呢?有这样的工具吗?

#1

帖子 intijk » 2008-02-19 0:25

在win里debug 里,一个-r命令就列出了所有寄存器的值,在linux下要用什么工具输什么命令呢?
intijk
帖子: 167
注册时间: 2007-09-01 23:52

#2

帖子 intijk » 2008-02-19 0:30

给我个带debug的dos的img也行,我在虚拟机上自己跑一下。谢谢大家了。
头像
xhy
帖子: 3916
注册时间: 2005-12-28 1:16
系统: Ubuntu 12.10 X64
来自: 火星

#3

帖子 xhy » 2008-02-19 1:53

gdb里有
目前负债150多万
intijk
帖子: 167
注册时间: 2007-09-01 23:52

#4

帖子 intijk » 2008-02-19 13:40

能详细告诉我一下应该输入什么命令吗 谢谢你了!
头像
xhy
帖子: 3916
注册时间: 2005-12-28 1:16
系统: Ubuntu 12.10 X64
来自: 火星

#5

帖子 xhy » 2008-02-19 14:05

代码: 全选

(gdb) info registers 
eax            0xfffffffc	-4
ecx            0xf	15
edx            0xfa0	4000
ebx            0x830bc88	137411720
esp            0xbfa04558	0xbfa04558
ebp            0xbfa04578	0xbfa04578
esi            0xfa0	4000
edi            0xb6dd6ff4	-1227001868
eip            0xb7f1d410	0xb7f1d410 <error+64>
eflags         0x246	[ PF ZF IF ]
cs             0x73	115
ss             0x7b	123
ds             0x7b	123
es             0x7b	123
fs             0x0	0
gs             0x33	51
(gdb) print $eax
$14 = -4
(gdb) print $ecx
$15 = 15
(gdb) print $edx
$16 = 4000
目前负债150多万
intijk
帖子: 167
注册时间: 2007-09-01 23:52

#6

帖子 intijk » 2008-02-19 16:02

The program has no registers now.

这是什么意思啊? 这个程序现在还没有寄存器?怎么解决呢?
intijk
帖子: 167
注册时间: 2007-09-01 23:52

#7

帖子 intijk » 2008-02-19 16:09

我似乎明白了。。。。。。。谢谢了。
回复