web-dev-qa-db-ja.com

信号で停止しないようにLLDB(Xcode 4.3.2)を永続的に構成する

LLDB(OSXアプリケーションを搭載したXcode4.3.2で実行)を特定の信号で停止しないようにしようとしています。入ったら

process handle SIGUSR2 -n true -p true -s false

デバッグコンソールでは正常に動作し、LLDBはSIGUSR2で停止しなくなりました。

でも入れたら

command process handle SIGUSR2 -n true -p true -s false

〜/ .lldbinitにそれは無視されているようです。このファイルの他のコマンド(エイリアスなど)は正常に機能します。

特定のシグナルでLLDBが停止しないようにするにはどうすればよいですか?

39
puzzle

他の誰かがこの質問をしたことがある場合は、NSApplicationMain()にブレークポイントを追加することで最終的に解決しました(プレーンCプログラムの場合、main()ももちろん機能します)。

ブレークポイントアクションをprocess handle SIGUSR2 -n true -p true -s falseに設定し、[評価後に自動的に続行する]オプションを有効にしました。

Xcode 4 Breakpoint Screenshot

誰かがもっとエレガントな解決策を持っているなら、私は聞いてうれしいです。

52
puzzle