使用 gdb python api,如何在调试会话期间获取 c 变量的值

using gdb python api, how to fetch the value of a c variable during debug session

我是 gdb 新手 python api。 但是我不确定如何在调试会话期间获取特定变量的值

import gdb

print("Import Sucess")
gdb.execute('b 36')
gdb.execute('r')
gdb.execute('stepi')
#o=gdb.parameter('print check_counter')
print("Check Counter")
print(gdb.value)
print("Done")

使用 gdb.parse_and_eval 得到一个带有变量值的 gdb.Value

例如,如果您的程序中有一个名为“v”的变量,您可以这样做

v = gdb.parse_and_eval("v")

你在gdb的python解释器中得到的v变量是一个gdb.Value对象,你可以打印,得到一个字段的值(如果原来的v变量是一个对象)等