web-dev-qa-db-ja.com

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

Qtクリエーターは私のプロジェクトを完璧にビルドして実行できますが、設定したブレークポイントを直接スキップします。これを修正するためのオプションが見つかりません。助けていただければ幸いです。

編集:SDKはデバッグモードでビルドされ、プロジェクトビルド構成はデバッグに設定されます。

20
CoutPotato

Qt Creatorには、アプリの実行に「実行」と「デバッグ」の2つのモードがあります。私はあなたがそれらが何を意味するかについて混乱するかもしれないと思います:

  • 実行:実行可能ファイルをダブルクリックするのとまったく同じように、プログラムを起動します。
  • デバッグ:デバッガーを起動し、実行可能ファイルにアタッチして、デバッガーを介して実行可能ファイルを実行します。これにより、ブレークポイントを含む、プログラムのすべてのステップ(関数呼び出しなど)が記録されます。

つまり、プログラムの実行中に内部値を把握する必要がある場合や、ブレークポイントを設定した場合は、デバッグを使用します。それ以外の場合は、実行するだけです。これははるかに高速です。

8
rubenvb

これがcmakeビルドの場合は、ビルドタイプを設定する必要がありますbeforeプロジェクトを設定します。たとえば、一番上のCMakeList.txtで:

SET(CMAKE_BUILD_TYPE Debug)
project(mybuildtype)

公式には、cmakeを実行するときにプロジェクトセクションのcmakeにもこれを渡すことができます: http://qt-project.org/forums/viewthread/12694 したがって、-DCMAKE_BUILD_TYPE = Debugフラグを使用しますが、これは動作しなくなったようです...フラグを動作させたい場合は、プロジェクトを設定する前にフラグをテストする必要があります。 http://www.cmake.org/pipermail/cmake/2008-September/023808を参照) .html

19
Benn Malengier

次の行に.proファイルを追加する必要があります。

CONFIG     += debug

そして、これを削除する必要があるかもしれません:

CONFIG     += release
5
Viron524

これが同じ問題を抱えている人の助けになることを願っています。デバッグモードに設定しても、出力ファイルはリリースフォルダに置かれていました。proファイルを見ると、この行が見つかりました。

CONFIG += qt warn_on release rtti exceptions

次に、「リリース」を削除すると、機能しました。これがお役に立てば幸いです。

4
Tuan Nguyen