dbx コマンドによるデバッグ

はじめに

このマニュアルでは、dbx ユーティリティを使用して、コマンド行からデバッグ処理を実行する方法について説明します。

対象読者

このマニュアルは、Fortran、C、または C++ による開発経験を持つプログラマのうち、Solaris(TM) オペレーティング環境と UNIX コマンドの心得が多少あり、アプリケーションのデバッグを Sun(TM) WorkShop(TM) のデバッグ用 GUI (グラフィカルユーザーインタフェース) ではなく、 dbx コマンドで行いたい方を対象として書かれています。デバッグ用 GUI の基本機能を含む Sun WorkShop の主な開発機能については、『Sun WorkShop 入門』を参照してください。

内容の紹介

このマニュアルは次の章から構成されています。

第 1 章「dbx の起動」では、デバッグセッションの開始方法と停止方法、コンパイル時のオプション、およびデバッグ実行の全部または一部を保存して、それを後で再現する方法について説明します。

第 2 章「dbx のカスタマイズ」では、dbx 環境変数を調整してデバッグ環境の特定の属性をカスタマイズする方法と、初期化ファイル .dbxrc を使用してセッションを通じて変更内容と調整内容を保存する方法について説明します。

第 3 章「コードの表示」では、コードの表示、関数の表示、シンボルの検索、および変数、メンバー、型、クラスの参照について説明します。

第 4 章「プログラムの実行制御」では、dbx でプログラムを実行、接続、続行、停止、および再実行する方法と、プログラムコードのステップ実行について説明します。

第 5 章「ブレークポイントとトレースの設定」では、ブレークポイントとトレースの設定、削除、一覧方法、およびウォッチポイントの設定方法などの一般的な操作について説明します。

第 6 章「イベント管理」では、イベントの管理方法について説明します。また、デバッグ中のプログラムで特定のイベントが発生した場合に特定のアクションを実行するための、dbx の一般的な機能についても説明します。

第 7 章「呼び出しスタックの検査」では、呼び出しスタックの検査方法と、where コマンドによるコアファイルのデバッグ方法について説明します。

第 8 章「データの評価と表示」では、データの評価方法、式の値や変数、データ構造などの表示方法、および式への値の割り当て方法について説明します。

第 9 章「実行時検査」では、開発段階のアプリケーションにある実行時エラーを自動的に検出できる機能について説明します。

第 10 章「データの視覚化」では、Sun WorkShop でプログラムをデバッグするときに、データをグラフィック表示させる方法について説明します。

第 11 章「修正継続機能 (fix と continue)」では、dbx を終了せずにソースファイルを修正し、ファイルを再コンパイルして、プログラムの実行を続ける方法について説明します。

第 12 章「マルチスレッドアプリケーションのデバッグ」では、dbxthread コマンドを使用してスレッドに関する情報を検索する方法を説明します。

第 13 章「子プロセスのデバッグ」では、子プロセスを作成するプロセスをデバッグするのに役立ついくつかの dbx 機能について説明します。

第 14 章「シグナルの処理」では、dbx を使用してシグナルを処理する方法を説明します。

第 15 章「データの収集」では、パフォーマンスデータを収集するために使用できる dbxcollector コマンドについて説明します。

第 16 章「C++ のデバッグ」では、dbx による C++ テンプレートのサポートについて説明します。また、C++ 例外を処理するために使用可能なコマンドと、dbx がこれらの例外をどのように処理するかについて説明します。

第 17 章「dbx を使用した Fortran のデバッグ」では、Fortran で使用するいくつかの dbx 機能について説明します。

第 18 章「機械命令レベルでのデバッグ」では、イベント管理およびプロセス制御の各コマンドを機械命令レベルで使用する方法と指定アドレスのメモリーの内容を表示する方法、およびソース行を対応する機械命令とともに表示する方法について説明します。

第 19 章「dbx の Korn シェル機能」では、ksh-88 と dbx コマンド言語の間の違いについて説明します。

第 20 章「dbx と動的リンカー」では、動的にリンクされた共有ライブラリを使用するプログラムに対する dbx のデバッグサポートについて説明します。

付録 A 「プログラム状態の変更」

付録 B 「インクリメンタルリンクエディタ (ild)」

付録 C 「ユーザーへのアドバイス」

マルチプラットフォーム対応


注 -

Solaris の最新リリースの名前は Solaris 7 ですが、コード名、パス名 (パッケージのパス名など) には Solaris 2.7 または SunOS 5.7 という名前が含まれていることがあります。その場合は、Solaris 2.7 または SunOS 5.7 を含む名前をそのまま使用してください。


Sun WorkShop のマニュアルの内容は、Solaris 2.5.1、Solaris 2.6、Solaris 7 オペレーティングシステムのいずれかを実行する以下のプラットフォームを対象としています。

関連マニュアル

次のマニュアルまたはガイドには、このマニュアルに関連する有益な情報が記載されています。

Sun WorkShop 関連マニュアル

その他のプログラミング関連マニュアル

Solaris 関連マニュアル

次の Solaris 関連のマニュアルにも役立つ情報が記載されています。

サンのオンラインマニュアル

サンのマニュアルは、次の形式でオンラインでご覧いただけます。

Web サイト docs.sun.com

Web サイト docs.sun.com では、サンの技術文書をオンラインでご覧になれます。 docs.sun.com にあるマニュアルの内容を参照したり、特定のタイトルや用語を含む マニュアルを検索することもできます。URL は http://docs.sun.com/ です。

AnswerBook2 コレクション

Sun WorkShop に関するマニュアルは、AnswerBook2 ソフトウェアを使用して参照することもできます。このソフトウェアは、システムの管理者がインストールの時点で AnswerBook2 形式のマニュアルをインストールしていればご利用いただけます (インストールされていない場合は、システム管理者にお問い合わせいただくか、『Sun WorkShop クイックインストール』の第 3 章を参照してインストールしてください)。AnswerBook2 の使用法の詳細については、『Sun WorkShop クイックインストール』の第 6 章または Solaris のインストール関連のマニュアルを参照するか、ご使用の環境のシステム管理者にお問い合わせください。


注 -

Solaris 2.5.1 上で AnswerBook2 形式のマニュアルを参照するには、その前にサンの Web ページから AnswerBook2 文書サーバーソフトウェアをダウンロードする必要があります。詳細については『Sun WorkShop クイックインストール』の第 6 章を参照してください。


HTML 形式のマニュアル

次の Sun WorkShop のマニュアルは、HTML 形式で用意されています。

HTML 形式のマニュアルを表示するには、次の手順に従ってください。

  1. HTML ブラウザで、次のファイルを開きます。

    install-directory/SUNWspro/DOC5.0/lib/locale/ja/html/index.html

    install-directory には、Sun WorkShop がインストールされているディレクトリを入力してください (デフォルトでは /opt です)。

    ブラウザに、インストールされている Sun WorkShop 製品のマニュアル一覧が表示されます。

  2. マニュアル一覧のマニュアル名をクリックします。

    HTML 形式のマニュアルが開きます。

Sun WorkShop のオンラインヘルプとリリースノート

このリリースの WorkShop には、オンラインマニュアル以外に新しい形式のマニュアルが用意されています。詳細は、以下のいずれかを参照してください。

書体と記号について

このマニュアルで使用している書体と記号について説明します。

表 P-1 このマニュアルで使用している書体と記号

書体または記号 

意味 

例 

AaBbCc123

コマンド名、ファイル名、ディレクトリ名、画面上のコンピュータ出力、コーディング例。 

.login ファイルを編集します。

ls -a を使用してすべてのファイルを表示します。

machine_name% You have mail.

AaBbCc123

ユーザーが入力する文字を、画面上のコンピュータ出力と区別して表わします。 

machine_name% su

Password:

AaBbCc123 またはゴシック

コマンド行の可変部分。実際の名前または実際の値と置き換えてください。 

rm filename と入力します。

rm ファイル名 と入力します。

『 』 

参照する書名を示します。 

『SPARCstorage Array ユーザーマニュアル』 

「 」

参照する章、節、または、強調する語を示します。 

第 6 章「データの管理」を参照してください。 

この操作ができるのは、「スーパーユーザー」だけです。 

¥

枠で囲まれたコード例で、テキストがページ行幅を超える場合、バックスラッシュは、継続を示します。 

machinename% grep `^#define ¥  XV_VERSION_STRING'

シェルプロンプトについて

シェルプロンプトの例を以下に示します。

表 P-2 シェルプロンプト

シェル 

プロンプト 

UNIX の C シェル 

machine_name%

UNIX の Bourne シェルと Korn シェル 

machine_name$

スーパーユーザー (シェルの種類を問わない) 

#