*

Windows-QtCreatorでのデバッグ

公開日: : C++, C言語, Qt, 開発

どもです。
更新の間隔が空いてしまいました。
久しぶりの更新です。

最近、Qtを触り始めました。
まだ「触り始めた」ばかりですので、これから少しずつ理解していきます。

なお、インストールした環境/バージョンは、下記の通りです。

PC:
・CPU:i7-3770K CPU 3.50GHz
・メモリ:16.0GB
・OS:Windows7 Professional SP1(64bit)
Qt:
・Qt 5.10.1(MSVC 2015, 32bit)
・QtCreator 4.6.2

(…あれ?Qtは、32bitにしなかったっけ?)
インストールの方法については、ネット上に様々な手順が記載されているので、そちらを参考にしていただければ、と
考えています。

さて本題。
今回の記事は、Qt/QtCreatorでのデバッグについて、です。

1.問題は何?
Windows上、QtCreatorでコードを書いてデバッグしようとすると、下記のようなダイアログが表示されます。
QtDebugWarning

コレ、タイトルにあるように「警告」なので、アプリケーションの実行自体はできます。
しかし、「デバッグ」ができません。
ブレークポイントを設定しても、有効にはなりません。
今回のエントリでは、このQtCreator上で「デバッグができない」問題の解決方法を記載します。

2.問題の原因は何?
デバッグができない原因ですが、警告メッセージを見てもわかるように、「CDB」が使用するデバッガに設定されていないことです。
そこで、実際に何が設定されているかを確認します。
QtCreatorでは、デバッガは下記の場所から設定します。
QtCreatorOption
QtCreatorOption_build_execute_rect

上記の写真の通り、おそらくインストールした直後は、デバッガは「なし」に設定されていると思います。
即ち、「デバッガが設定されていない」ことになります。
そのためここに使用したい、適切なデバッガを設定すればよいことになります。

3.設定するデバッガはどれ?
では、どのデバッガを選択すればよいの?
一番最初に示したダイアログを見てみると、「CDB」がオススメ、ということが書いてあります。
しかし、「CDB」はインストールされていません。
現に、デバッガの選択のドロップダウンリストには「CDB」が表示されません。
なので、「CDB」をインストールして、使用するデバッガに設定すればよいのです。

4.CDBをインストールする
私が実施したCDBのインストール手順は、下記の通りです。

1.サイトから、「winsdksetup.exe」をダウンロードする。
WinDbg_download_rect

2.ダウンロードした実行ファイル(winsdksetup.exe)を実行する。
3.表示されたダイアログ上で、「Download the Windows Software Development Kit – …」を選択する。
※「Download Path:」は、テキトーに設定します。
WinDbg_setup
WinDbg_setup_002_rect

4.「Windows Kits Privacy」の画面上でのラジオボタンで、「No」を選択します。
「No」を選ぶ理由は特にありません。なんとなく、です。
WinDbg_setup_003
WinDbg_setup_004_rect

5.「Select the features you want to downlaod」画面で、「Debugging Tools for Windows」以外のチェックを全て外して、「Download」を押します。
WinDbg_setup_005

6.実行すると、「3.」で設定したパスに、必要なファイルがダウンロードされます。
ダウンロードしたファイルのうち、「SDK Debuggers-x86_en-us.msi」を実行します。
WinDbg_setup_006

上記ファイルを実行、処理が正常に終了すると、CDBがインストールされます。
※インストール先は、「C:\Program Files (x86)\Windows Kits\10\Debuggers」下の「x86]あるいは「x64」のいずれかです。

7.インストールが正常に完了すると、Qtの設定画面上でもCDBが選択できるようになります。
WinDbg_setup_007_rect
QtCreatorOption_build_execute_debugger_rect

5.完了
上記の手順を実施することで、QtCreatorでのデバッグができるようになります(なりました)。
WinDbg_setup_008

以上、今回はQtCreatorでのデバッガの設定について記載しました。
実際に動かした結果、確かにブレークポイントで一時停止します。
ただ、難点としては、「とっても重い」ということです。
う~む…。

関連記事

Rasp_DHT11

温度(湿度)センサを使ってみた(2)-RaspberryPi/pigpioでDHT11

どもです。 前回は、DHT11をAdrudinoにつないで温度/湿度を測定してみました。 そこで

記事を読む

raspberry-pi

RaspberryPi起動時にpigpiodがスタートしないようにする

どもです。 これまでpigpioを使用してRaspberryPiからLEDをチカらせる方法など、い

記事を読む

think_about_utest

単体テストの効率化を考える(3)-スタブの引数

どもです。 「単体テストの効率化について考える」の3回目です。 1回目、2回目はコチラ:

記事を読む

think_about_utest

VisualStudioで実行した単体テストの結果の出力(2)-出力ファイルの読める化

どもです。 前回の続きです。 前回は、VisualStudio/C#での単体テストの効率

記事を読む

eclipse_oxygen

Eclipse/CrossCompile環境でプロジェクトをクリーンできない

どもです。 今回は、Eclipseでクロスコンパイル環境を作成した場合、を実行すると「指定されたフ

記事を読む

GitHub

Windowsでのカバレッジ測定-OpenCppCoverageを使ってみた(2)

どもです。 前回のエントリーで、OpenCppCoverageというカバレッジを測定する、フリーの

記事を読む

no image

C言語でEV3開発(15)-TOPPERS/HRP2 EV3 で PID制御

どもです。 今回のエントリーは、コレまでのエントリーから内容を変えて、モーターの動作の制御をします

記事を読む

RasPi_Qt

Rasbianの新しいバージョンが出たので、クロス環境を更新してみた。(さらにその後)

どもです。 前回の投稿から、かなり時間が空いてしまいましたが、今回は前回の続きとして、「QtC

記事を読む

no image

C言語でEV3開発(21)-モーター出力の制御

どもです。 前回は、超音波センサから前方障害物との距離を取得し、それを元に安全状態を判断する、とい

記事を読む

DIY_eye_catch

自宅で電子工作(2)-ラズパイのSPIコネクタ自作

どもです。 今回は、電子工作です。 1.何を作った 今回紹介(?)するのは、Raspber

記事を読む

Message

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です

CAPTCHA


次のHTML タグと属性が使えます: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code class="" title="" data-url=""> <del datetime=""> <em> <i> <q cite=""> <strike> <strong> <pre class="" title="" data-url=""> <span class="" title="" data-url="">

think_about_utest
VisualStudioで実行した単体テストの結果の出力(3)-テスト実行からレポート生成までをツールで自動化

どもです。 前々回、前回と、VisualStudio/C#での単

think_about_utest
VisualStudioで実行した単体テストの結果の出力(2)-出力ファイルの読める化

どもです。 前回の続きです。 前回は、VisualStud

think_about_utest
VisualStudioで実行した単体テストの結果の出力(1)-ファイルへの出力

どもです。 最近、VisualStudio/C#でよく開発してい

think_about_utest
単体テストの効率化を考える(6)-スタブの自動生成ツール

どもです。 「単体テストの効率化について考える」の6回目です。

think_about_utest
単体テストの効率化を考える(5)-スタブの自動生成への入力

どもです。 「単体テストの効率化について考える」の5回目です。

→もっと見る

PAGE TOP ↑