我正在尝试对 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
最佳答案
您正在以同步模式运行,因此“进程继续”不会返回,直到进程因某种原因停止。你没有设置任何断点,所以没有崩溃,没有什么可以让它停止。
如果你想在进程运行时更好地控制它的处理,你可能想尝试修改事件处理示例:
http://llvm.org/svn/llvm-project/lldb/trunk/examples/python/process_events.py
为了您的目的。
关于尝试在 lldb 中继续处理时 Python 脚本卡住,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23683001/