我一直在阅读大量文档和实验,但无法找到答案,希望有人可以帮助我。我想覆盖"休息" gdb命令以这种方式,覆盖函数对参数进行一些处理,然后发出实际的gdb" break"命令(使用新参数)。我还尝试过gdb hook命令,现在我能想到的唯一解决方案就是创建一个新的gdb命令,它可以满足需要,但如果我可以覆盖原来的gdb,它对我的应用程序来说会很棒。打破"命令。
因此,简而言之,我如何进行以下工作(没有它变得递归)?:
class BreakOverride (gdb.Command):
"new break override."
def __init__ (self):
super (BreakOverride, self).__init__ ("break", gdb.COMMAND_BREAKPOINTS, gdb.COMPLETE_NONE, True)
def invoke (self, arg, from_tty):
#Do processing on the arg to create new_args and then call
#gdb.execute("break new_args");
#without the above call becoming recursive back into this same function.
BreakOverride()
非常感谢!
答案 0 :(得分:0)
是的,这会很棒,但我认为目前没有任何方法可以做到这一点。我相信有一个关于它的错误。一旦我有一个补丁但我从未完成提交它的努力,抱歉。