ブレークポイントが機能しないのはなぜですか?


112

ブレークポイントを設定しましたが、Xcodeはそれらを無視しているようです。


2
製品クリーンが助けになりました
Alexander Bekert 2017


コンピュータを完全に再起動して再度動作させる必要がありましたが、今では非常にバグが多くなっています。xcode 10.2.1を使用しています。
ラマコーン

2
Xcode 11、Xcodeが再起動して動作しない、Macが再起動しない。デバイス上のアプリを削除して再構築すると、この問題が修正されます。これが誰かを助けることを願っています
Randall Wang

回答:


148

まず最初に、OFFに すると言っていた以前の人々に100%同意しLoad Symbols Lazilyます。

追加することが2つあります。

(私の最初の提案は明白に聞こえますが、誰かが私に最初に提案したとき、私の反応は次のように進みました:「さあ、お願いします、あなたは本当に私はもっとよく分からないと思います……おお。」)

  1. 誤って「アクティブビルド構成」を「リリース」に設定していないことを確認してください。

  2. プロジェクトのグラフィカルツリー表示の[ターゲット]で、ターゲットを右クリックして[情報を見る]を実行します。"Generate Debug Symbols"(または類似)という名前のプロパティを探し、これがチェックされている(別名ON)ことを確認します。また、「Target >> Get Info」で「デバッグ情報フォ​​ーマット」というプロパティを見つけて、「dsymファイルを含むドワーフ」に設定してみてください。

[ターゲット>>情報を見る]の下には、他にも影響する可能性のあるプロパティがいくつかあります。コードの最適化や圧縮などを探し、それをオフにします(デバッグモードで作業していることを想定しているため、これは悪いアドバイスではありません)。また、シンボルの除去などを探し、それもオフになっていることを確認してください。たとえば、「Strip Linked Product」をデバッグターゲットの「No」に設定する必要があります。


8
XCode 4.5.2でこの問題が発生し、「リンク時の最適化」を有効にしたことが原因であることが判明したので、これは別のチェック
項目です

6
ビルド構成を変更するには、[実行]-[情報]の下の[製品]-> [スキーム]-> [スキームの編集]に移動します。私にとってうまくいったのは、そのメニューの「Debug Executable」をチェックすることでした。
Jeffrey Sun

2
上位の回答をハイジャックして、Bison構文がブレークポイントが機能しない別の(エキゾチックな)原因のように見えることを追加します(以下の私の回答を参照)。うまくいけば、その問題を抱えている次の人の時間を節約できます。
Dave

2
また、breakYを使用してブレークポイントのアクティブ化を誤って切り替えることも非常に簡単です。だから子供達には気をつけて
dsgrnt 14

1
ポイント1を試しましたが、うまくいきました。本当に私を助けました。賛成。
NSPratik 2015年

49

Xcode 7で私にとってうまくいったのは:

1)ターゲット->スキーム->実行-がデバッグモードであることを確認してください(以前はリリースでした)

2)以下の「デバッグ実行可能ファイル」オプションを必ず確認してください。

ここに画像の説明を入力してください


4
これはまさに私に起こったことです、チェックボックスはオフにされました
anoop4real

私にとって同じ問題。そのオプションはデフォルトで有効にすべきではありませんか(XCode 8.3)?私たちはすべて開発者であるはずではなく、とにかくデバッグするつもりですか?
dgmz

Xcode 9.3で私のために働いたので、オプション1に別の画像を提供することは素晴らしいことです
Kazi Abdullah Al Mamun

24

Xcode Debuggingプリファレンスに移動します。「シンボルの遅延読み込み」が選択されていないことを確認してください。


7
残念ながら、Xcode 6には「デバッグ」設定はなく、ドキュメントには「遅延」は表示されません。はぁ。
オスカー

1
XCode 6の 'Load Symbols Lazily'オプションが見つかりません
RNA

14

私はこれと同じ問題を抱えていました(もう一度)。「シンボルの遅延読み込み」をトリプルチェックし、情報生成フラグを取り除いてデバッグした後、次のことを行いました。

  1. Xcodeを終了する
  2. ターミナルウィンドウを開き、プロジェクトディレクトリに移動します。
  3. .xcodeprojディレクトリにcdします
  4. .pbxprojファイル以外のすべてを削除します(frank.mode1v3とfrank.pbxuserがありました)

Finderで同じタスクを実行するには、.xcodeprojバンドルを右/オプションクリックし、[パッケージの内容を表示]を選択します。

Xcodeを再起動すると、すべてのウィンドウがデフォルトの位置などにリセットされましたが、ブレークポイントは機能しました。


2
これは機能しますが、すべての設定が削除されます...これは、他に何も機能しないときに実行する必要があります。
レミDoolaeghe 2013年

おかげで私のために働いた。なぜXcodeはそんなにひどいのかしら。Xcodeは、アップルがこれまでに書いた最悪のソフトウェアです。
ダック

うわー、それは5歳です。それがまだ機能していること、そしてそれがまだ問題であることを信じるのは難しい!
フランクSzczerba '19

うまくいきませんでした。Xcode 6.01を実行しています。ビルドすると、複数のファイルが見つからないというエラーが表示されます。解決するためにコードを元に戻しています。
Native_Mobile_Arch_Dev 2014年

Xcodeを再起動するだけで済みました。私のケースは、xcodeユーザーインターフェイスの状態データをコミットする際のgitのバージョン管理が原因でした。
Juan Boero

13

Xcode 4.xの場合:[製品]> [デバッグワークフロー]に移動し、[デバッグ時に分解を表示]をオフにします。

Xcode 5.xの場合は、[デバッグ]> [デバッグワークフロー]に移動し、[デバッグ時に逆アセンブリを表示]をオフにします。


11

もう一つの理由

セットDeploymentPostprocessingBuildSettingsでNOへ- 詳細はこちら

要するに -

この設定を有効にすると、バイナリが削除され、ファイルモード、所有者、およびグループの情報が標準値に設定されます。[DEPLOYMENT_POSTPROCESSING]

ここに画像の説明を入力してください


XCode 7に更新した後、この設定はどういうわけかYES私だけにsubprojectあり、ブレークポイントはで機能しませんでしたsubprojects。そしてに設定した後NO、それは完璧でした!
Maheswaran Ravisankar、2016

これは、プロジェクトをクリーンアップした後でのみ機能し、完全な再構築が行われます。

8

この投稿を参照してください:ブレークポイントがXcodeで機能しない?。「デバッグ」ではなく「実行」を押している可能性があります。その場合、プログラムはgdbの助けを借りて実行されません。その場合、ブレークポイントは機能しません。


Xcode 6.4では、「実行」ボタンのみがあり、デバッグ構成を実行するかどうかは、現在選択されているスキーム設定に依存します。
user2067021 2015

6

これに対する考えられる解決策の1つは、...>製品>スキーム>スキームの編集> ..実行>情報>実行可能ファイルに移動して、「デバッグ実行可能ファイル」をチェックします。


これは2日間頭をたたいてからうまくいきました。
Dileep Perla

それが助けてくれてうれしい。
ソロプロモ

5

これはXcode 9で私を苛立たせた1日半過ごしました。これは、単純なデバッグ設定になりました。

[デバッグ]> [ワークフローのデバッグ]に移動し、[常にアセンブリを表示]がオフになっていることを確認します。そのような単純な。:(


これは私には
有効

5

XCode 9.4.1を使用した私の解決策(ブレークポイントで停止しませんでした):

ビルドターゲットの下->ビルド設定->最適化レベル:「速度の最適化」から切り替え->「最適化なし」(現在は低速ですが動作します)


5

私の場合、それを解決したのは、Xcode-Product-Clean Build Folderに続いてProduct-Run(Play Xcodeボタンではない)で、非常に簡単でした。

(Xcode再生ボタンを長押しして単体テストに切り替えた後、Xcode 11 -beta 4で問題が発生しました)


4

同じ問題(Xcode 6のCコードがブレークポイントで停止しない)でこのページに移動し、上記の解決策が機能しなかった(プロジェクトは実際には箱から出して、設定ごとに行われたため、デバッガー設定の可能性はほとんどない間違った値に設定される)...

問題を軽減するためにかなりの時間を費やした後、最終的に原因を突き止めました(私のコードの場合):

Xcode(/ LLVM)は、Bisonスタイルの#lineプリプロセッサコマンドを好みません。

それらを削除すると問題が修正されました(デバッガーがブレークポイントで停止しました)。


4

Xcode 4の場合:

go Product -> Debug ->  Activate Breakpoints

ありがとう!これは役に立ちました。私はこれを自分で投稿するつもりでしたが、どうやら誤って⌘Yをプッシュしたようです。
Ovi 2015

2

Xcode(2.4.1)のブレークポイントに多くの問題があります。他のプロジェクト(Visual Studioのソリューションなど)のみを含むプロジェクトを使用しています。開始プロジェクト(つまり、私のコードのエントリポイントを含むもの)に少なくとも1つのブレークポイントが設定されていないと、ブレークポイントがまったく機能しないことがあります。ブレークポイントが「下位レベル」のプロジェクトにのみある場合、それらは無視されます。

また、ブレークポイントがオンになっているソース行を含むプロジェクトにいるときにブレークポイントを操作すると、Xcodeはブレークポイント操作のみを正しく処理するようにも見えます。

別のプロジェクトを介してブレークポイントを削除または無効にしようとすると、デバッガーでブレークポイントが有効になっていると示されていても、アクションが有効にならないことがあります。したがって、無効なブレークポイント、または以前に削除した(現在は非表示の)ブレークポイントでブレークすることに気づくでしょう。


2

ブレークポイントが機能しないので、すべてのターゲットのビルド/クリーンを実行して、それらを再び機能させました。


2

問題は、デバイスのバージョンとXcodeの間の非互換性である可能性があると思います。iOS 5.0.1を実行しているiPhone 4Sでデバッグしようとすると、この問題が発生します。まだXcode 3.2.5を使用しています。オーガナイザウィンドウで[このデバイスを開発に使用]を選択して、ハンドセットからシンボルを取得しました。ただし、この電話はブレークポイントを拒否します。私の古い3GS は、ブレークポイント、同じXcodeプロジェクト、同じ設定...異なるデバイスで、iOS 4.0を実行しています。私はシンボルを持っているので、これは3.2.5のXcodeバグだと思います。これまでに投稿したすべての解決策を試した結果、問題の解決策はXCode 4にアップグレードすることだと判断しました。おそらく、ベースSDKが少なくともデバッグ対象のシステムと同じ高さでない限り、効果的にデバッグすることはできません。多分それは明白です-誰でも確認できますか?

編集:これが正しいことを確認できたら更新します。



2

これとXcode 6以降では、ブレークポイントの状態ボタンがアクティブになっていることを確認してください(青い矢印のようなボタン)。

ここに画像の説明を入力してください


1

Xcode 4の場合

- 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

1

問題が見つかりました。どういうわけか " デバッグ時に逆アセンブリを表示その問題を作成する私のXCodeで「」が有効になりました。無効にすると、すべてのデバッガーがソースコードで停止しました。

Product->Debug Workflow->Show Disassemblyデバッグ時:


1

ドロップダウンメニューでブレークポイントをアクティブ化/非アクティブ化できます ここに画像の説明を入力してください


1

他のすべてが失敗した場合、ブレークポイントの代わりに、次の関数を呼び出すことができます。

void BreakPoint(void) {
    int i=1;
    #if !__OPTIMIZE__
    printf("Code is waiting; hit pause to see.\n");
    while(i);
    #endif
}

再開するには、手動でiをゼロに設定してから、再開ボタンを押します。


1

XCode 6.3.1でも同じことが起こりました。私はそれをなんとか修正しました:

  • 行く[表示] - > Navigators->ショーデバッグナビゲーター
  • プロジェクトルートを右クリック-> [ブレークポイントを移動 ] ([ユーザー]オプションを選択した場合)
  • (必要かどうかはわかりませんが、[ ブレークポイントを共有する]オプションも選択しました)。

その変更を行った後、ブレークポイント移動オプションをプロジェクトに戻し、ブレークポイント共有の選択を解除します [ ]オプションのも、引き続き機能します。

理由は正確にはわかりませんが、これによりブレークポイントが元に戻ります。


1

私は上記のことをすべて試しましたが、私にとってはデバッグブレークポイントを一度無効にしてから有効にするとうまくいきました。


@IshantMrinalなぜこれが関係ないのですか?ユーザーは、自分のシナリオで機能する答えを提供しました。
Noel Widmer 2017

0

ブレークポイントを設定するときに右クリックすると、ブレークポイントの処理方法に関するいくつかのオプションが表示されます(変数をログに記録して続行、実行を一時停止するなど)。

また、デバッグ設定で「シンボルの遅延読み込み」が選択されていないことを確認してください。

(Xcode 3.1に適用、過去/将来のバージョンは不明)


0

また、アプリのAppStoreディストリビューションもデバイスにインストールされていないことを確認してください。


0

チェックするもう1つのことは、デバッグモードの「資格」plistファイルがある場合(おそらくキーチェーンで何かをしているため)、plistファイルに「get-task-allow」= YES行があることを確認します。これがないと、デバッグとロギングが機能しなくなります。


0

Xcodeのブレークポイントには3つの状態があるようです。それらをクリックすると、さまざまな設定が行われます。濃い青が有効になり、グレー表示が無効になり、淡い青が表示されることがあります。そのため、ブレークポイントをもう一度クリックして濃い青に移動する必要があります。

これ以外に、runコマンドではなくdebugコマンドで起動していることを確認してください。これを行うには、オプション+コマンド+リターン、または実行メニューの[実行(デバッグ)]オプションを押します。


0

Xcode 3.2.3 SDK 4.1を持っていますが、ブレークポイントがランダムに失敗します。ビルドをクリーンアップし、ビルドでtouchコマンドを使用すると、それらが再び機能することを発見しました。


0

ここで私が遭遇したあいまいなものがあります:共有ライブラリ(またはプラグイン)で作業している場合、起動時にブレークポイントが黄色になり、キーボードがフラストレーションに陥り、デバッグプロセスが終了する可能性があります。まあ、それをしないでください!シンボルは、アプリがライブラリを読み込むまで読み込まれません。読み込まれると、ブレークポイントが有効になります。ブラウザプラグインでこの問題に遭遇しました...プラグインをインスタンス化したページを閲覧するまで、BPは無効になりました。

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.