Python脚本在lldb中继续进程时卡住

5 投票
1 回答
664 浏览
提问于 2025-04-18 06:40

我正在研究iOS相关的内容,需要把lldb这个调试工具连接到一个进程上。我可以通过lldb的控制台做到这一点,但当我尝试把它转换成一个Python脚本时,第一次执行到“进程继续”这一步就卡住了,后面的命令根本没法执行。有没有人能帮帮我?谢谢!

import lldb
debugger = lldb.SBDebugger.Create()
debugger.SetAsync(False)
debugger.HandleCommand('platform select remote-ios')
debugger.HandleCommand('process connect connect://localhost:1234')
debugger.HandleCommand('process continue')
#other commands

1 个回答

1

你现在是在同步模式下运行,这意味着“继续处理”这个操作不会返回,直到这个过程因为某种原因停止。你没有设置任何断点,所以除非程序崩溃,否则没有什么能让它停下来。

如果你想在程序运行时更好地控制它的处理,可以尝试修改这个事件处理的示例,地址是:

http://llvm.org/svn/llvm-project/lldb/trunk/examples/python/process_events.py

来满足你的需求。

撰写回答