LLDB - 退出...退出?

时间:2014-10-10 06:55:09

标签: macos bash cocoa debugging lldb

我正在编写一个脚本来完全自动化我的编译运行调试过程,用于Cocoa / Objective-C项目。

我的最后一行代码是:

lldb -f Build/MyApp.app -o "run"

实际打开调试器,附加进程并运行它。

但是,当应用程序退出时,调试器将保持打开状态,等待命令。

一旦附加的流程退出,有什么办法让它关闭?

2 个答案:

答案 0 :(得分:2)

使用Python界面将为您提供更多灵活性和优势;如果你计划自动执行更复杂的任务,那就绝对值得学习,如果考虑到这一点,绝对值得学习。

但是,您应该可以说:

lldb -f <Whatever> -o run -o quit

目前无效的只是一个错误。几天前在TOT lldb中修复了这个问题。不知道它什么时候会出现在Apple发布的Xcode中,但它也应该在那之前工作太长时间。

答案 1 :(得分:1)

这样做的一种方法是使用python绑定,并监听来自lldb的事件。

如果您运行以下脚本,它将在调试模式下午餐应用程序,如果您关闭应用程序脚本也将完成:

http://www.opensource.apple.com/source/lldb/lldb-179.1/examples/python/process_events.py

其他方式可能也应该起作用:

  • 运行应用
  • 获取正在运行的应用程序的pid,
  • 启动lldb并附加到pid
  • 监控应用程序是否正在运行,如果没有杀死lldb。