web-dev-qa-db-ja.com

プログラミング教育を支援するのに最適なLinux C / C ++デバッガー(またはgdbのフロントエンド)はどれですか?

私はある種の「ライト」C++プログラミングコースを初心者に教えます(「ライト」は、ポインター、クラス、プレーンC、プラス参照、STL文字列およびベクターを意味します)。学生はプログラミングの経験がないので、インタラクティブデバッガーを使用すると、プログラムフロー、変数、再帰を理解するのに役立つと考えています。

このコースはLinuxで教えられます。 gdbを使用するよう指導するのは、やり過ぎです(ほとんどの機能を使用したり理解したりしません)。シンプルで使いやすいものが必要です。プログラムが現在どの行にあるか、スタック内にあるもの(ローカル変数、以前の呼び出しなど)を確認するには。古いTurbo PascalまたはTurbo C++ Borlandのデバッガー、またはVisual Studioデバッガーに似たものに見えます。

ありがとうございました、

106
omer.gimenez

ddd は、gdbのグラフィカルなフロントエンドで、かなりいいです。欠点の1つは古典的なXインターフェースですが、かなり直感的だったことを思い出すようです。

35
jbleners

Red Hatによって書かれたgdbのグラフィカルなフロントエンド Insight を使用するか、GNOMEデスクトップ環境を使用する場合は Nemiver を使用することもできます。

25

Eclipse CDTをチェックアウトすることをお勧めします。複数のプラットフォーム(Windows、Linux、Mac OS Xなど)で実行されるC/C++ IDEを提供します。 Eclipse CDTを使用したデバッグは、Visual Studioなどの他のツールの使用と同等です。

Eclipse CDT Debug tutorial をチェックアウトできます。これには多数のスクリーンショットも含まれています。

16
Jon Ball

Qt Creator は、他の優れた機能とは別に、サポートされているすべてのプラットフォームで、CDB、GDB、およびSymnbianデバッガーの優れたデバッガー統合を備えています。 Qt Creator IDEを使用するためにQtを使用する必要も、QMakeを使用する必要もありません-QMakeは非常に簡単に使用できますが、CMake統合も備えています。

Qt CreatorをIDEとして使用して、プログラミングを教えることができます。いくつかの優れた機能があることを考慮してください。

  • 非常にスマートで高度なC++エディター
  • プロジェクトおよびビルド管理ツール
  • QMakeとCMakeの統合
  • 統合された状況依存ヘルプシステム
  • 優れたビジュアルデバッガー(CDB、GDB、Symbian)
  • GCCおよびVC++をサポート
  • 迅速なコードナビゲーションツール
  • Windows、Linux、およびMac OS Xをサポート
14
CMircea

おそらくそれはgdbへの間接的なもの(IDEであるため)ですが、私の推奨事項は KDevelop です。 Visual Studioのデバッガ(長年仕事で働いている)でかなり甘やかされており、私はこれまでのところ、KDevelopで最も快適なデバッグを感じました(自宅で趣味として、私はVisual Studioが個人使用のために余裕がないため、Express Editionが登場しました)。私が試した他のIDE(Eclipse CDTを含む)と比較して、ステップスルーやステップインなどのデバッグに関しては、「似ている」Visual Studioを実行します(ブレークポイントを配置することは少し厄介ですコーディング時にマウスを使いすぎるのは好きですが、難しくはありません)。

12
HidekiAI

私は TotalView で働いており、商用Linux C++(FortranおよびMPI、およびスレッド)デバッガーの学生向けの無料バージョンがあります。

http://www.roguewave.com/company/academic-programs.aspx

「教室で共有」ライセンスの価格を大幅に割引きしていることにも注目してください。

http://www.roguewave.com/products/totalview/resources/videos.aspx を参照してください。製品の仕組みを示す簡単なビデオがあります。

TotalViewのC++用の特定の機能:

  • STLコレクションクラスから適切なものへの自動変換
  • ポインタを「ダイブ」して、指し示されているものを確認します
  • 配列へのポインターの簡単な「キャスト」
  • オブジェクトの配列内のオブジェクトの各インスタンス内のデータの単一フィールドを調べる機能
  • クラスのすべてのインスタンスにブレークポイントを設定します

Chris Gottbrath TotalViewプロダクトマネージャーRogue Wave Software

4
Chris Gottbrath