Oracle® Developer Studio 12.5: 概要

印刷ビューの終了

更新: 2016 年 6 月
 
 

アプリケーションのデバッグ用のツール

Oracle Developer Studio には、アプリケーション内のエラーの検出に役立つ dbx デバッガが付属しています。

dbx は、対話型でソースレベルの、コマンド行ベースのデバッグツールです。これを使用して、C、C++、または Fortran プログラムを制御下に置いた状態で実行し、停止したプログラムの状態を調べることができます。dbx により、プログラムの動的な実行をすべて制御でき、パフォーマンスデータとメモリーの使用状況の収集、メモリーアクセスのモニタリング、およびメモリーリークの検出も行えます。

    dbx では次のタスクを実行できます。

  • クラッシュしたプログラムのコアファイルを調べる

  • ブレークポイントを設定する

  • プログラムをステップ実行する

  • 呼び出しスタックを調べる

  • 変数と式を評価する

  • 実行時検査を使用して、メモリーアクセスの問題とメモリーリークを検出する

  • 修正と継続を使用して、ソースファイルを変更して再コンパイルし、プログラム全体を再構築せずに実行を継続する

dbx デバッガは、コマンド行で、Oracle Developer Studio IDE 経由でグラフィカルに、または dbxtool という別個のグラフィカルインタフェース経由で使用できます。

コマンド行での dbx

dbx を起動するための dbx コマンドの基本構文です。

dbx [options] [program-name|-] [process-ID]

dbx セッションを開始して、デバッグするプログラム test をロードするには:

% dbx test

dbx セッションを開始して、プロセス ID 832 ですでに実行されているプログラムに接続するには:

% dbx - 832

dbx セッションが開始されると、dbx がデバッグ対象プログラムのプログラム情報をロードします。dbx は次に、準備状態となって待機し、C または C++ プログラムの main() 関数など、プログラムのメインブロックを表示します。(dbx) コマンドプロンプトが表示されます。

(dbx) プロンプトにコマンドを入力できます。一般に、まず stop in main などのコマンドを入力してブレークポイントを設定してから、run コマンドを入力してプログラムを実行します。

(dbx) stop in main
(4) stop in main
(dbx) run
Running: quote_1 
(process id 5685)
(dbx)

ブレークポイントで実行が停止したとき、stepnext などのコマンドを入力してコードをシングルステップ実行したり、print および display を入力して式と変数を評価したりできます。

dbx ユーティリティーのコマンド行オプションの詳細は、dbx(1) のマニュアルページを参照してください。

コマンドリファレンスセクションを含む dbx の使用方法についての詳細は、Oracle Developer Studio 12.5: dbx コマンドによるデバッグを参照してください。(dbx) コマンド行に help と入力しても、dbx コマンドやその他のトピックについて知ることができます。

新機能と変更された機能のリストについては、Oracle Developer Studio 12.5 リリースの新機能を参照してください。

現在のリリースの dbx の既知の問題、制限事項、および互換性の問題については、Oracle Developer Studio 12.5: リリースノートを参照してください。

IDE での dbx

プロジェクトを開き、ソースにブレークポイントを作成して、「デバッグ」ボタンをクリックすることによって、Oracle Developer Studio IDE で dbx を使用できます。IDE では、プログラムをステップ実行するためのメニューオプションおよびボタンを使用でき、デバッグウィンドウの完全なセットが用意されています。

IDE は、アプリケーションを構築する場合と同様に、アプリケーションをプロジェクトとしてデバッグします。IDE を使用して、IDE プロジェクトに関連付けられていない実行可能ファイルをデバッグすることもできます。

次のスクリーンショットでは、IDE のサンプルプロジェクトの 1 つが dbx で実行されています。「デバッグ」メニューのコマンドまたは IDE ウィンドウの右上にあるボタンを使用して、デバッガを制御できます。「デバッグ」のコマンドおよびボタンを使用すると、IDE が dbx にコマンドを発行し、さまざまなデバッグウィンドウに出力を表示します。

image:dbx デバッガが実行されている Oracle Developer Studio IDE のスクリーンショット

この図では、デバッガがブレークポイントで停止していて、出力ウィンドウにプログラムの相互の関連性が表示されています。「変数」や「ブレークポイント」などの一部のデバッガウィンドウも表示されていますが、選択されていません。「ウィンドウ」->「デバッグ」メニューを選択して、さらにデバッグウィンドウを開くこともできます。デバッグウィンドウの 1 つに、dbx との相互の関連性を示す「デバッガコンソール」ウィンドウがあります。「デバッガコンソール」ウィンドウで (dbx) プロンプトにコマンドを入力することもできます。

IDE での dbx の使用方法についての詳細は、IDE の統合ヘルプおよびOracle Developer Studio 12.5: IDE クイックスタートチュートリアルを参照してください。

dbxtool での dbx

IDE とは別ですが、同様のデバッグウィンドウおよびエディタを備えたグラフィカルツールである dbxtoolを経由して dbx を使用することもできます。IDE と異なり、dbxtool はプロジェクトを使用しないため、C、C++、または Fortran の実行可能ファイルまたはコアファイルのデバッグに使用できます。

dbxtool を起動するには、次を入力します。

% dbxtool executable-name

実行可能ファイル名を省略して、代わりに dbxtool 内から指定することもできます。

IDE の場合と同様、dbxtool のツールバーボタンをクリックするか、「デバッグ」メニューのオプションを使用して、dbx にコマンドを発行できます。「デバッガコンソール」ウィンドウで (dbx) プロンプトにコマンドを入力することもできます。

次の図では、dbxtoolquote_1 プログラムに対して dbx が実行されています。「デバッガコンソール」ウィンドウが選択され、(dbx) プロンプトと、ユーザーの選択に応じて dbxtool によって入力されたコマンドが表示されています。

image:dbx デバッガが実行されている dbxtool のスクリーンショット

dbxtool の使用方法については、dbxtool (1) のマニュアルページまたは dbxtool の統合ヘルプを参照してください。Oracle Developer Studio 12.5: dbxtool チュートリアルは、dbxtool の使用方法を示しています。