2014-10-10 113 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