通常、アプリケーションのデバッグにはgdbバックトレースを使用しますが、最近、iPhoneシミュレーターでテストするときにデバッグできなくなりました。青いgdbワードがコンソールに表示されなくなり、「bt」または「backtrace」と入力しても何も起こりません。ただし、デバイス上で適切にビルドおよびデバッグすることはできます。
私のXCodeバージョンは3.2.3です。gdb(より重要なのはバックトレース)を手動でアクティブ化する方法はありますか?
通常、アプリケーションのデバッグにはgdbバックトレースを使用しますが、最近、iPhoneシミュレーターでテストするときにデバッグできなくなりました。青いgdbワードがコンソールに表示されなくなり、「bt」または「backtrace」と入力しても何も起こりません。ただし、デバイス上で適切にビルドおよびデバッグすることはできます。
私のXCodeバージョンは3.2.3です。gdb(より重要なのはバックトレース)を手動でアクティブ化する方法はありますか?
ジャックが指摘しているように、[一時停止]ボタンはgdbとバックトレースを手動でアクティブにします。これはあなたが尋ねたものです。インストールが正しくない可能性があります。場合によっては、/Developerフォルダーを削除して再インストールしてみてください。XCode 3.2.3とデバッガーは問題なく動作し、1日に数回使用します。
特に、CMD-Yは「デバッガーを使用してビルドおよび実行」しますが、CMD-Rは単に「ビルド&実行」(デフォルトではデバッガーなし)であるため、CMD-Yを使用していることを確認してください。
余談ですが、私が遭遇し続ける問題は、アプリが終了した後、赤い一時停止の標識アイコンがアプリの終了を認識しないため、もう一度「停止」する必要があることです。これは、iOS-4がアプリをバックグラウンドで実行し続けているためだと思います。
また、ホーム フォルダーの .gdbinit ファイルが正常な状態であることを確認してください。存在する場合は脇に移動し、問題が解決するかどうかを確認します。
これがまったく同じ状況かどうかはわかりませんが、役立つかもしれません。私の iPhone はファームウェア 4.0.2 でしたが、私の Xcode SDK はファームウェア 4.0.1 用でした。通常、Xcode は 4.0.2 をサポートする新しい Xcode にアップグレードする必要があると警告しますが、今回はそうではありませんでした。
なぜブレークポイントを設定できるのか頭を悩ませていましたが、デバッガーはブレークポイントで停止しませんでした (ブレークポイントはオレンジ色で、シンボルが読み込まれていないことを示しています)。iPhone を再起動することにしましたが、Xcode に警告が表示されました (以前は表示されませんでした)。もちろん、Xcode for 4.0.2 にアップグレードすると、問題は解決しました。Xcode が新しいファームウェアに更新されていないのではないでしょうか?
同様の問題がありましたが、正確な状況を思い出せません。ベースSDK(プロジェクト情報ビルドタブ内)がシミュレーターではなくデバイスに設定されていることが判明しました。暗闇でのショットですが、おそらく検証する価値があります。
プログラムがハングしている場合は、このように聞こえます。デバッガー コンソールまたはデバッガー ウィンドウで [一時停止] ボタンを押すと、アプリを中断して現在実行中の場所を確認できます。