2012-05-03 4 views
33

特定のシグナルで停止しないようにLLDB(OS XアプリケーションでXcode 4.3.2で動作)を取得しようとしています。私は、デバッグコンソールにLLDBを(Xcode 4.3.2で)シグナルで停止しないように常時設定する

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

を入力するとそれが正常に動作していないとLLDBはもはやSIGUSR2に停止します。

私は〜/ .lldbinitに

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

を置く場合は、それを無視しているようです。このファイルの別のコマンド(エイリアスなど)は正常に動作します。

LLDBを特定の信号で停止させない方法を教えてください。

+1

私はあなたがしたいことは、明白なことなしに実行可能だとは思わない。このプロセスは実行時の概念である。あなたが設定できる「設定リスト」の下に便利な設定があるのでしょうか? – blueberryfields

+0

おかげで、〜/ .lldbinitにコマンドを追加してもうまくいかなかった理由がわかりました:) – puzzle

答えて

44

他の人にこの質問があった場合は、NSApplicationMain()(普通のCプログラムの場合はもちろん、main()も同様です)にブレークポイントを追加して解決しました。

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

Xcode 4 Breakpoint Screenshot

誰もがよりエレガントな解決策を持っている場合は、私が聞いて幸せになると思います。

+3

ありがとう、ありがとう。 SIGPIPEでも魅力的に動作します。 – sehugg

+6

ちょうどの場合... iOSのシンボルを 'UIApplicationMain'に変更するのを忘れないでください。 – user500

+0

私のためにItworks。私のアプリケーションがフリーズした後。これは本当の行動でしょうか? – jongbanaag

関連する問題