使用 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
变量是一个对象)等
我是 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
变量是一个对象)等