web-dev-qa-db-ja.com

CLionでブレークポイントがヒットしないのはなぜですか?

CMake構成で作成された実行可能ファイルをデバッグしようとしています

SET(CMAKE_BUILD_TYPE Debug)

ただし、CLionはブレークポイントにヒットしません。何が問題でしょうか?

13
mstrap

結局のところ、実行可能ファイルは次のCMakeオプション(スクリプトのさらに下)でコンパイルされています。

SET(CMAKE_C_FLAGS_DEBUG "-D_DEBUG")

これはCLionのデバッグ機能を壊していました(gdbのほとんどのデバッグ機能も壊していました)。

3
mstrap

今日も同じ問題がありました。プロジェクトの構成がDebugに設定されていないことがわかりました。設定をDebugに設定すると、すべてのブレークポイントがヒットします。

次の構成になっていることを確認してください:

  • MenuItemを選択しますRun/EditConfigurations
  • 適切なTargetを選択します
  • DebugConfigurationとして選択します

これでブレークポイントに到達するはずです。

7

これが他の誰かを助ける場合、私の(やや恥ずかしい)問題はRunの代わりにDebugを打つことであることがわかりました。そのため、[実行]メニューで再生アイコンを使用せず、代わりにかわいいバグアイコンを選択してください。 Runを選択すると、非デバッグビルドが自動的にビルドされるため、ブレークポイントは機能しませんでした。バグアイコンの選択を開始すると、ブレークポイントは魅力的なものとして機能しました。

4
Evan Moran

私も同じ問題を抱えていました。 2016.3以降、CLionはCMakeワークフローを変更して、一度に1つの構成のみが許可されるようにしました clion新しいワークフロー

解決策は、ファイル->設定->ビルド、実行、デプロイメント->ビルド構成の変更です。

1
Derza Arsad

2019.3では、CLion/Preference/Build、Execution、Deployment/CMake/Build type/Debugになります。

1
ctc chen

同じ問題がありました。デバッグオプションをクリックするたびに、 "Antimalware Service Executable"プロセスが開始することに気付きました。 Windows DefenderでMinGWフォルダーの除外を作成しましたが、うまくいきました...

0
Syed Umair

Minecrawlerがgithubで言ったように、OSがLinuxの場合、次のように設定する必要があります。

バンドルされたGEBまたはgdbからバンドルされたLLDBへのfile/Settings/Build、Execution、Deployment/Tllochains/Debugger。

試してみました!

0
martin zhang

私の場合(Linux/Ubuntu)、問題はマウントされたディレクトリに何らかの形で関係していました。プロジェクトは当初、/media/username/ssd/repo/git/projectnameからCLionで開かれました。ブレークポイントは常にメッセージNo executable code is associated with this lineで無効になりました。

次に、symlinkedディレクトリ~/git-> /media/username/ssd/repo/gitから同じプロジェクトを開いたところ、ブレークポイントが正常に機能し始めました。