在gdb x86_64环境中,就像下面的例子,当我试图提取$eflags的字段值作为断点条件元素时,我得到了一个错误。
(gdb) cond 1 ($eflags & 0x200) != 0
(gdb) continue
Continuing.
Error in testing breakpoint condition:
Invalid cast.
[Switching to Thread 1.1]
当然,当提取$eflags的特定字段(如p $eflags & 0x200
)时,我也得到了Invalid cast
错误。
如何从$eflags中获取特定字段?
我不知道这是否相关,我调试了一个生 rust 的程序。
- 环境**
- uname-a:Linux Ubuntu Mac 5.15.0 - 56-通用#62-Ubuntu SMP 11月22日星期二19:54:14 UTC 2022 x86_64 x86_64 x86_64 GNU/Linux
- Ubuntu版本:22时04分
- CPU:英特尔(R)酷睿(TM)i5 - 5250U CPU(1.60 GHz)
- gdb版本:GNU通用数据库(Ubuntu 12.1 - 0ubuntu1~22.04)12.1
谢谢。
1条答案
按热度按时间s3fp2yjn1#
第一个月
这不起作用,因为:
但是,您可以将
$eflags
转换为int
: