当寄存器== somevalue时,如何在lldb中设置断点 (rdi = 0x0000000000000000)?有可能吗?
答案 0 :(得分:1)
lldb表达式解析器提供$rdi
,$rsi
等作为寄存器值的便利变量。所以:
(lldb) break modify -c "$rdi == 0x0000000000000000" <BKPT_NO>
将完成这项工作。您还可以在设置断点时指定-c(即--condition)选项。
注意,对于在寄存器中传递参数的体系结构,lldb也有“$ arg1”,“$ arg2”等。这些只是ABI指定的参数传递寄存器的别名,所以如果你在某个地方的中间位置一个函数,他们将不再持有参数值。但是为了在函数的开头设置断点,它们可以派上用场。