17

Mac OS X のターミナル コマンドラインから GDB または LLDB を使用して、iOS シミュレーターで実行されているアプリをデバッグすることはできますか? (たとえば、Xcode の GUI またはコンソール内からではなく、外部のコマンドラインまたはプロセスを使用します)。もしそうなら、どのように?

4

1 に答える 1

30

シミュレーターの Springboard にアプリが既に存在している必要があります。Xcode からシミュレーターでアプリを起動することはできず、gdb のコマンド ライン インスタンスをアプリにアタッチすることはできません。

そう:

  1. アプリをすでにそこに取り込んでいるので、iOS シミュレーターを実行します。
  2. 端末ウィンドウで:
    %gdb
    ...
    (gdb) attach --waitfor 'アプリの名前'
  1. シミュレーターの Springboard からアプリを起動します。
  2. gdb は、実行 main()にプロセスにアタッチする必要があります。したがって、いくつかのブレークポイントなどを設定できます。それで:
    (gdb) 続行

の手順lldbも同様です。

    %lldb
    (lldb) process attach -n 'アプリの名前' --waitfor
    <シミュレーターでアプリを起動>
    (lldb) 続ける

なぜあなたがこれをしたいのか、またはする必要があるのか​​ はわかりませんが、古いコマンドラインgdb(およびdbx)の男として、私はそれを高く評価できます. :-)

于 2012-04-11T19:18:10.050 に答える