2014-10-10 110 views
0

我目前正在编写一个脚本来完全自动化Cocoa/Objective-C项目的编译运行调试过程。LLDB - 退出...退出?

我的代码,最后一行是:

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

里面居然打开调试器,十分的过程中,并运行它。

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

任何方式使它关闭以及一旦附加的过程退出?

回答

1

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

如果你运行下面的脚本将在调试模式下午餐的应用程序,如果你关闭应用程序的脚本将完成,以及:

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

其他方式可能应该工作以及:

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

非常感谢! :-) – 2014-10-14 07:14:22

2

如果您计划自动执行更复杂的任务,使用Python界面会给您更多的灵活性,如果您有这个想法,绝对值得学习。

但是,你应该能够说:

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

这不目前工作仅仅是一个错误。几天前,这个问题在TOT lldb中得到了修复。不知道它何时会在Apple发布的Xcode中显示出来,但它应该在太久之前也可以使用。

+0

非常感谢。尝试过,但它不工作 - 所以,很高兴知道! – 2014-10-14 07:14:39