Error while running hook_stop: value is not available
。由于该错误,没有打印其余的段寄存器,也没有打印堆栈和数据帧。我想知道是否有一种方法可以处理gdb脚本语言中的错误,或者更好的是,仅测试寄存器是否可用,如果有则仅打印它。我已经尝试过:
if $ds
printf " %04X ", $ds
else
printf " ---- "
end
但这仍然给我错误。我通读了几个小时的文档,找不到任何有效的方法。有什么想法吗?
#1 楼
我知道了。您可以通过python进行检查来确定一个值是否可用:将其保存在python文件中并在您的
.gdbinit
中提供它: /> class IsValid (gdb.Function):
def __init__ (self):
super (IsValid, self).__init__("isvalid")
def invoke (self, var):
if var.__str__() == "<unavailable>":
return 0
else:
return 1
IsValid ()