ブレークポイントを設定しましたが、Xcode はそれらを無視しているように見えます。
51 に答える
まず第一に、私はオフ Load Symbols Lazily
にすることを言った以前の人々に100%同意します。
追加するものがあと2つあります。
(私の最初の提案は明白に聞こえますが、誰かが私にそれを最初に提案したとき、私の反応はこれらの線に沿っていました:「さあ、どうぞ、あなたは本当に私がよくわからないと思うでしょう......ああ」)
誤って「アクティブビルド構成」を「リリース」に設定していないことを確認してください。
プロジェクトのグラフィカルツリー表示の[ターゲット]で、ターゲットを右クリックして[情報を見る]を実行します。「GenerateDebugSymbols」(または同様のもの)という名前のプロパティを探し、これがチェックされている(別名ON)ことを確認します。また、([ターゲット] >> [情報を見る]でも)「DebugInformationFormat」というプロパティを見つけて「Dwarfwithdsymfile」に設定してみてください。
[ターゲット]>>[情報を見る]には、影響を与える可能性のある他のプロパティがいくつかあります。コードの最適化や圧縮などを探して、それをオフにします(デバッグモードで作業していると思いますので、これは悪いアドバイスではありません)。また、シンボルの除去などを探し、それもオフになっていることを確認します。たとえば、デバッグターゲットの「StripLinkedProduct」は「No」に設定する必要があります。
Xcode デバッグ設定に移動します。「シンボルを遅延して読み込む」が選択されていないことを確認してください。
Xcode 4.xの場合:[製品]> [デバッグワークフロー]に移動し、[デバッグ時に逆アセンブリを表示する]のチェックを外します。
Xcode 5.xの場合は、[デバッグ]> [ワークフローのデバッグ]に移動し、[デバッグ時に逆アセンブリを表示する]のチェックを外します。
もう一つの理由
BuildSettingsDeploymentPostprocessing
で NO に設定 -詳細はこちら
要するに -
この設定を有効にすると、バイナリが削除され、ファイル モード、所有者、およびグループ情報が標準値に設定されます。[展開_後処理中]
この投稿を参照してください: Xcode でブレークポイントが機能しない? . 「デバッグ」ではなく「実行」を押している可能性があります。この場合、プログラムは gdb の助けを借りて実行されていません。この場合、ブレークポイントが機能することは期待できません!
Xcode 4 の場合:
go Product -> Debug -> Activate Breakpoints
これは、すべての Xcode バージョンに適用されます。ショートカット キー:command key + Y.
このキーの組み合わせを押して、ブレークポイントをアクティブ化/非アクティブ化します。
同じ問題 (Xcode 6 の C コードがブレークポイントで停止しない) でこのページに来ましたが、上記の解決策はどれも機能しませんでした (プロジェクトは実質的に箱から出して設定を変更したため、デバッガー設定のいずれかが間違った値が設定されている可能性があります)...
問題を減らすためにかなりの時間を無駄にした後、私は最終的に原因を突き止めました(私のコードの場合):
#line
Xcode (/LLVM) は、Bison スタイルのプリプロセッサ コマンドを好みません。
それらを削除すると問題が解決しました(デバッガーがブレークポイントで停止しました)。
ブレークポイントが機能しなくなった後、すべてのターゲットのビルド/クリーンアップを実行して、ブレークポイントを再び機能させました。
Xcode(2.4.1)のブレークポイントに多くの問題があります。他のプロジェクト(Visual Studioのソリューションなど)のみを含むプロジェクトを使用しています。開始プロジェクトに少なくとも1つのブレークポイントが設定されていない限り(つまり、コードのエントリポイントを含むブレークポイント)、ブレークポイントがまったく機能しないことがあります。ブレークポイントのみが「下位レベル」のプロジェクトにある場合、それらは無視されます。
また、ブレークポイントが存在するソース行を含むプロジェクトにいるときにブレークポイントを操作した場合、Xcodeはブレークポイント操作のみを正しく処理するように見えます。
別のプロジェクトを介してブレークポイントを削除または無効にしようとすると、デバッガーが有効であると示していても、アクションが有効にならない場合があります。そのため、無効になっているブレークポイント、または以前に削除した(現在は表示されていない)ブレークポイントでブレークすることになります。
問題は、デバイスのバージョンと Xcode の間の非互換性である可能性があると思います。iOS 5.0.1 を実行している iPhone 4S でデバッグしようとすると、この問題が発生します。私はまだ Xcode 3.2.5 を使用しています。オーガナイザーウィンドウで「このデバイスを開発に使用する」を選択して、ハンドセットからシンボルを取得しました。ただし、この電話はブレークポイントを拒否します。私の古い 3GSは、ブレークポイント、同じ Xcode プロジェクト、同じ設定...ちょうど別のデバイスで、iOS 4.0 を実行しています。シンボルがあるので、これは 3.2.5 の Xcode のバグだと思います。これまでにここに投稿されたすべての解決策を試した結果、問題の解決策は XCode 4 にアップグレードすることであると判断しました。おそらく、ベース SDK が少なくともデバッグするシステムと同じ高さでない限り、効果的にデバッグすることはできません。たぶんそれは明らかです-誰かが確認できますか?
編集:これが真実であることを確認できたら更新します。
XCode 6.3.1でも同じことが起こりました。私はそれを修正することができました:
- View- >Navigators->Show Debug Navigatorsに移動します
- プロジェクト ルートを右クリック-> ブレークポイントの移動(ユーザー オプションを選択した場合)
- (必要かどうかはわかりませんが、オプションshare breakpointsも選択しました)。
その変更を行った後、 [ブレークポイントの移動]オプションをプロジェクトに戻し、 [ブレークポイントの共有] オプションの選択を解除しても機能します。
理由は正確にはわかりませんが、これによりブレークポイントが元に戻ります。
Xcode4では
- Product menu > Manage Schemes
- Select the scheme thats having debugging problems (if only one choose that)
- Click Edit button at bottom
- Edit Scheme dialog appears
- in left panel click on Run APPNAME.app
- on Right hand panel make sure youre on INFO tab
- look for drop down DEBUGGER:
- someone had set this to None
- set to LLDB if this is your preferred debugger
- can also change BUILD CONFIGURATION drop down to Debug
- but I have other targets set to AdHoc which debug fine once Debugger is set
ドロップダウンメニューでブレークポイントをアクティブ化/非アクティブ化できます
Xcodeについては少し説明していませんが、「Zerolink」と「LoadSymbolsLazily」を無効にすることをお勧めします。それはほとんどの問題を修正します。とにかくZerolinkは忌まわしいものです。
ブレークポイントに関してもプロジェクトが破損する可能性があると思います。たとえば、前のセッションで記憶しているブレークポイントで中断しないプロジェクトがあります。私は最初にこれについてここに書きました
I've had problems with Xcode losing breakpoints when using the simulator and having the Scheme Launch setting to "wait for executable". Change that to "launch automatically" and breakpoints come back to life.
ブレークポイントが黄色に変わるもう 1 つの理由は、デバッグしているアプリケーション バイナリが最初の実行後に変更されている場合です。私の場合、プログラムを一度デバッグした後、アプリケーションの Contents/Resources フォルダーにフォルダーを追加しました。フォルダーを追加した後のデバッグ実行で、ブレークポイントが黄色に変わり、無視されました。手順を変更しました。クリーン、ビルド、フォルダーの追加、実行を行ったところ、すべて問題ありませんでした。
おそらく、Xcode (または OS X) は、アプリケーションの独自のデジタル署名 (デジタル署名されていないもの) を作成して記憶し、アプリケーションが変更されたことを感知して、ブレークポイントの設定を拒否します。アプリケーションの最初の (デバッグ) 実行の前に自分の mod を作成することで、自分の mod でデジタル署名が作成されました。
これはすべて、Xcode 3.2.2 を使用する OS X 10.6.8 で行われます。
Xcode 3.2.3 SDK 4.1 ブレークポイントがランダムに失敗します。ビルドをクリーンアップし、ビルドの下で touch コマンドを使用すると、再び機能することがわかりました。
ターゲット設定Apple LLVM Compiler 4.1 Code Generation Section Generate Debug Symbol = YESで1つの設定を確認できます
ブレークポイントを設定するときに右クリックすると、ブレークポイントの処理方法に関するいくつかのオプションが表示されます (変数をログに記録して続行、実行を一時停止するなど)。
また、デバッグ設定で [シンボルを遅延して読み込む] が選択されていないことを確認してください。
(Xcode 3.1 に適用されます。過去/将来のバージョンについては不明です)
これは私が遭遇したあいまいなものです: 共有ライブラリ (またはプラグイン) で作業している場合、起動時にブレークポイントが黄色になり、イライラしてキーボードを叩いてデバッグプロセスを強制終了する可能性があります。まあ、それをしないでください !アプリがライブラリを読み込むまでシンボルは読み込まれず、その時点でブレークポイントが有効になります。ブラウザ プラグインでこの問題に遭遇しました...プラグインをインスタンス化したページを参照するまで、BP が無効になっていました。
カスタム実行可能ファイルが Safari 5.1 である Web プラグインをデバッグしようとしたときに、同じ問題に直面していました。Safari を 4.0.5 から 5.1 にアップグレードするまで問題なく動作していました。Safari 4.0.5 を再度インストールすると、Xcode の設定を変更しなくても、すべてのブレークポイントが機能し始めました。
でこれを解決しただけでXCode 4.2
、上記のどれも役に立ちませんでした。事は(実際に何が起こったのかわかりませんが、これは誰かを助けるかもしれません):私のチームメイトが新しいビルド構成を作成し、SVNでプロジェクトを更新しました。Run Scheme設定で古いビルド構成をセットアップしていたので、私の手順は次のとおりです。
- 製品 -> スキームの編集...
- 「%project_name.app% を実行」(または問題の原因となるもの) を選択します。
- ビルド構成コンボで、チームメイトからその新しいビルド構成を選択します
以上で、ブレークポイントが再び復活しました。お役に立てれば。
Subversion を使用している場合は、プロジェクト ファイル (のみ) を、デバッガーが動作していたことを最後に知っていた時点に戻します。
Xcode のブレークポイントには 3 つの状態があるようです。それらをクリックすると、さまざまな設定が行われます。濃い青が有効で、グレー表示が無効になっています。薄い青が表示され、ブレークポイントをもう一度クリックして濃い青にする必要がある場合があります。
これ以外は、run コマンドではなく debug コマンドで起動していることを確認してください。これを行うには、オプション + コマンド + リターンを押すか、実行メニューから Go (デバッグ) オプションを押します。
また、アプリの AppStore ディストリビューションもデバイスにインストールされていないことを確認してください。
これは、少なくとも iOS プロジェクトでは時々発生します。これを修正するには、iOS デバイスを再起動し、Xcode を終了して、プロジェクトを再構築する必要がありました。
Xcode 6.4 では、Mac を再起動する必要がありました。
(ブレークポイントの有効化/無効化、iOS デバイスの再起動、Xcode の再起動、ワークスペース パッケージからのブレークポイント ファイルの削除を試しました...)
私の場合、ブレークポイントが誤って非アクティブ化されていることがわかりました。Debug->Activate Breakpoints [Cmd+Y]で再度有効化できます。通常の青色のマーカーではなく、グレー表示されたブレークポイント マーカーに気付いた場合は、これが原因である可能性があります。
Cmd+Y キーを使用していつでもブレークポイントのアクティブ化を切り替えることができることがわかったので、この組み合わせキーに気づかずにヒットした可能性があります。このレポートは Xcode 7.2 に基づいています。
Xcode バージョン 4.6.3 を使用していますが、含まれているプロジェクトのサブグループでブレークポイントが機能していませんでした。プロジェクトは正常にコンパイルおよび実行されます。デバッガーにアタッチして、NSLog 出力を適切に吐き出します。
この問題は、ヘッダー検索パスに関連していました。デフォルトの「非再帰」ではなく、「再帰」に設定したものもありました。それらをすべて「非再帰」に変更し、関連するすべてのインポートを更新すると、問題が適切に修正されました。
同様の問題がありました。xcodeを再インストールしました。それは私の問題を解決しました