如何将类型的gdb.value转换为int

Yeh*_*kel 5 python gdb

我想在python代码中使用gdb.value,这是一个复杂的int类型变量(这不是一般类型,而是在我们的代码中定义 - 一种位域).当我在gdb shell中提示时:

"p var"

它将其打印为int,即gdb知道如何将该位域转换为int.

(奇怪的是,另外,当我尝试这个命令时,我得到了:

INT(var.cast(i.type))

当"i"是gdb.value时,它的类型是int.var确实变为int,但其值与i)的值相同.

所以有人知道如何通过使用gdb的知识来转换这个gdb.value.(或通过其他方式..)

谢谢.这是我在StackOverFlow中的第一个问题,遗憾的是混乱和我的英语不强.

Zac*_*gle 5

您想要的是:

int(value.cast(gdb.lookup_type('long')))
Run Code Online (Sandbox Code Playgroud)