尝试在 lldb 中继续处理时 Python 脚本卡住

标签 python llvm lldb

我正在尝试对 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/

相关文章:

c++ - 将默认的 llvm Pass 设置为 Opt 和 Clang

python - 如何将连接列表作为参数传递?

Python .drop 没有给出我期望的结果

c++ - 如何使用 clang LibTooling 获取函数指针参数名称?

ios - 如何在 lldb 中创建和使用临时 NSRange?

ios - lldb 'step into' 无法跳转到 Xcode7 上的函数调用?

ios - 如何在 lldb 中使用枚举

python - 在迭代期间在列表中插入元素

python - 如何在 Django 中链接到我的 GCS Bucket JSON 凭证文件?

c++11 - LLVM IR Lambda 函数