是否可以将print语句附加到函数调用上?我想调试带有嵌套循环和逻辑的x64程序,通过在函数调用发生时打印它们(而不是设置断点)来查看函数调用的顺序会更快。
这可以通过gdb中的post钩子或其他技术来完成吗?
答案 0 :(得分:1)
是否可以将打印语句附加到函数调用上?
是:将断点附加到要跟踪的每个函数,并将命令附加到这些断点中的每个:
(gdb) break foo
(gdb) commands $bpnum
continue
end
现在,每次调用foo
时,GDB都会打印通常的“ Breakpoint N ...”消息,然后继续。
很明显,您可以打印其他信息(参数值,调用堆栈,线程ID等)。
您可能想要set height 0
禁用分页。您可能还希望将其记录到文件中(请参见set logging file
,set logging on
等)