ナビゲーションリンクをスキップ | |
印刷ビューの終了 | |
Oracle Solaris Studio 12.3 の概要 Oracle Solaris Studio 12.3 Information Library (日本語) |
Oracle Solaris Studio 12.3 の概要
Oracle Solaris Studio ソフトウェアの概要
Oracle Solaris Studio での開発者ワークフロー
大量の計算を行うプログラムのための Sun Performance Library
er_print ユーティリティーでパフォーマンスデータを調べる
Oracle Solaris Studio には、アプリケーション内のエラーの検出に役立つ dbx デバッガが付属しています。
dbx は、対話型でソースレベルの、コマンド行ベースのデバッグツールです。これを使用して、C、C++、または Fortran プログラムを制御下に置いた状態で実行し、停止したプログラムの状態を調べることができます。dbx により、プログラムの動的な実行をすべて制御でき、パフォーマンスデータとメモリーの使用状況の収集、メモリーアクセスの監視、およびメモリーリークの検出も行えます。
dbx では次のタスクを実行できます。
クラッシュしたプログラムのコアファイルを調べる
ブレークポイントを設定する
プログラムをステップ実行する
呼び出しスタックを調べる
変数と式を評価する
実行時検査を使用して、メモリーアクセスの問題とメモリーリークを検出する
修正と継続を使用して、ソースファイルを変更して再コンパイルし、プログラム全体を再構築せずに実行を継続する
dbx デバッガは、コマンド行で、Oracle Solaris 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)
ブレークポイントで実行が停止したとき、step や next などのコマンドを入力してコードをシングルステップ実行したり、print および display を入力して式と変数を評価したりできます。
dbx ユーティリティーのコマンド行オプションの詳細は、dbx(1) のマニュアルページを参照してください。
コマンドリファレンスセクションを含む dbx の使用方法についての詳細は、『Oracle Solaris Studio 12.3: dbx コマンドによるデバッグ』を参照してください。(dbx) コマンド行に help と入力しても、dbx コマンドやその他のトピックについて知ることができます。dbx の現在のリリースの新機能と変更された機能、ソフトウェアの修正事項、既知の問題、制限事項、および互換性の問題のリストについては、『Oracle Solaris Studio 12.3 リリースの新機能』を参照してください。
プロジェクトを開き、ソースにブレークポイントを作成して、「デバッグ」ボタンをクリックすることによって、Oracle Solaris Studio IDE で dbx を使用できます。IDE では、プログラムをステップ実行するためのメニューオプションおよびボタンを使用でき、デバッグウィンドウの完全なセットが用意されています。
IDE は、アプリケーションを構築する場合と同様に、アプリケーションをプロジェクトとしてデバッグします。次のスクリーンショットでは、IDE のサンプルプロジェクトの 1 つが dbx で実行されています。「デバッグ」メニューのコマンドまたは IDE ウィンドウの右上にあるボタンを使用して、デバッガを制御できます。「デバッグ」のコマンドおよびボタンを使用すると、IDE が dbx にコマンドを発行し、さまざまなデバッグウィンドウに出力を表示します。
この図では、デバッガがブレークポイントで停止していて、出力ウィンドウにプログラムの相互の関連性が表示されています。「変数」や「ブレークポイント」などの一部のデバッガウィンドウも表示されていますが、選択されていません。「ウィンドウ」->「デバッグ」メニューを選択して、さらにデバッグウィンドウを開くこともできます。デバッグウィンドウの 1 つに、dbx との相互の関連性を示す「デバッガコンソール」ウィンドウがあります。「デバッガコンソール」ウィンドウで (dbx) プロンプトにコマンドを入力することもできます。
IDE での dbx の使用方法についての詳細は、IDE の統合ヘルプおよびOracle Solaris Studio 12.3 IDE クイックスタートチュートリアルを参照してください。
Oracle Solaris Studio IDE とは別ですが、同様のデバッグウィンドウおよびエディタを備えたグラフィカルユーザーインタフェースである dbxtoolを経由して dbx を使用することもできます。IDE と異なり、dbxtool はプロジェクトを使用しないため、C、C++、または Fortran の実行可能ファイルまたはコアファイルのデバッグに使用できます。
dbxtool を起動するには、次を入力します。
% dbxtool executable-name
実行可能ファイル名を省略して、代わりに dbxtool 内から指定することもできます。
IDE の場合と同様、dbxtool のツールバーボタンをクリックするか、「デバッグ」メニューのオプションを使用して、dbx にコマンドを発行できます。「デバッガコンソール」ウィンドウで (dbx) プロンプトにコマンドを入力することもできます。
次の図では、dbxtool で quote_1 プログラムに対して dbx が実行されています。「デバッガコンソール」ウィンドウが選択され、(dbx) プロンプトと、ユーザーの選択に応じて dbxtool によって入力されたコマンドが表示されています。
dbxtool の使用方法については、dbxtool (1) のマニュアルページまたは dbxtool の統合ヘルプを参照してください。Oracle Solaris Studio 12.3: dbxtool チュートリアルでは、dbxtool の使用方法を説明しています。