2024-04-18 21:07:00 发布
网友
例如,在编写GDB宏时,我可以给出如下内容:
list_iterate $arg0
如果C代码中的list_iterate()函数看起来像
在lldbpythonapi中,我如何做同样的事情,即从C代码调用并执行一个函数?我翻遍了文件,但似乎找不到这样的东西
SBFrame::EvaluateExpression是您想要的函数。比如:
SBFrame::EvaluateExpression
(lldb) script >>> options = lldb.SBExpressionOptions() >>> result = lldb.frame.EvaluateExpression('printf("Hello there.\\n");', options) Hello there. >>> print result (int) $1 = 13
注意,如果您正在编写脚本(或Python命令等),请不要使用lldb.帧,您可以从进程中获取所选帧,或者如果您正在编写命令,请使用传递SBExecutionContext的表单。参见:
http://lldb.llvm.org/python-reference.html
更多细节。在
SBFrame::EvaluateExpression
是您想要的函数。比如:注意,如果您正在编写脚本(或Python命令等),请不要使用lldb.帧,您可以从进程中获取所选帧,或者如果您正在编写命令,请使用传递SBExecutionContext的表单。参见:
http://lldb.llvm.org/python-reference.html
更多细节。在
相关问题 更多 >
编程相关推荐