在GDB中,可以使用一个命令执行多个指令。经过多次搜索,似乎不可能在LLDB中做同样的工作。
例如,在GDB中,如果输入si 5,您将前进5条指令。然而,在LLDB中这样做会导致:
错误:线程索引5超出范围(有效值为0- 1)。
在运行带有整数的si的GDB中,定义了要执行的指令数,但在LLDB中,它定义了前进1条指令的线程。
在LLDB中是否有任何方法可以像在GDB中那样向前迈进多个指令?
发布于 2014-07-08 19:54:21
这是一个在我们的队列中的增强,但不知何故从来没有达到顶峰。我增加了一个-计数选项作为我的午餐时间黑客。它在TOT中,不能说它什么时候会被苹果正式发布。
发布于 2015-12-17 00:58:55
如果您被困在较旧版本的LLDB上,并且没有在这个问题被问到之后实现的特性,或者只是想自动重复任意命令,下面是一种快速而肮脏的方式来编写多个命令的脚本,这些命令可以从交互式LLDB python提示符中轻松地输入:
lldb.debugger.SetAsync(False)
for _ in range(3): lldb.debugger.HandleCommand('si')上面的命令将使API同步,以便每个命令在运行下一个命令之前完成,然后循环执行命令(在本例中执行3次)。
要访问这个提示符,请在LLDB提示符下输入script命令,然后输入Python。
(lldb) scripthttps://stackoverflow.com/questions/24521756
复制相似问题