OK、「LinuxでのVisual Studioの同等物」またはこの質問のバリエーションを求める質問がたくさんあります。(ここ、ここ、ここ、...)
1 つの側面に焦点を当てて、さまざまなシステムでデバッグワークフローがどのように異なる可能性があるかを尋ねたいと思います。具体的には、Visual Studio (のような) システムで使用される完全に統合された IDE アプローチと、おそらくより「分離された」ツールチェーン指向のアプローチです。
この目的のために、「Visual Studio デバッグ ワークフロー」の簡単な説明と考えられるものを提示します。
- 与えられた既存のプロジェクト
- プロジェクトを開きます (ユーザーの観点からの 1 つのステップ)
- デバッグしたいコードに移動します (おそらくプロジェクト ファイルを検索します。これは、 [ファイルから検索] ダイアログ ボックスを開くだけで簡単に実行できます)。
- 行 (a) にブレークポイントを配置します。行にカーソルを置いて、
F9
- 行 (b) に「トレースポイント」を配置します。そこにブレークポイントを追加し、ブレークポイントのプロパティを変更して、デバッガーが停止しないようにしますが、代わりにローカル変数の値をトレースします。
- 実行可能ファイルを自動的にコンパイルし、デバッガーで起動し、prgが
F5
(a) で停止するまで待機します。その間、トレース ウィンドウで (b) の出力を監視します。 - デバッガーが最終的に (a) で停止すると、画面に次の情報が (1 回限りの事前構成されたウィンドウ)同時に並べて自動的に表示されます。
- 現在のコール スタック
- 最近変更されたローカル変数の値
- ロードされたモジュール (DLL)
- すべてのアクティブなブレークポイントとその位置のリスト
- 最後に入力したウォッチ エクスプレッションを含むウォッチ ウィンドウ
- 生のメモリの内容を調べるためのメモリ ウィンドウ
- 現在のレジスタ値を表示する小さなウィンドウ
プラス/マイナスのいくつかの機能、これは Linux の Eclipse/CDT でも期待できるものです。VIM、Emacs、gdb/DDD などで開発する場合、このワークフローと提示された情報はどのように取得されますか?
この質問は、あるツールに 1 つの機能があるかどうかということではなく、開発/デバッグ作業が機能の組み合わせを使用しており、多数のオプションをすぐに利用できることと、ツールを使用していないときにこの情報にアクセスする方法を確認することに関するものです。完全に統合された IDE。