(57)【要約】【課題】  効率よくデバッグを行なうことができるデバッグ装置及びデバッグ方法を提供すること。【解決手段】  本発明にかかるデバッグ装置は、プログラムのデバッグを行なうデバッグ装置であって、メモリ２１に格納されている値をメモリ上のアドレスに応じてマトリクス状に表示するメモリウィンドウをディスプレイ装置４０上に表示させるメモリ表示手段１１と、メモリウィンドウの中のメモリ２１の値が示されている位置にポインタを移動させ、メモリのアドレスを指定する入力手段５０とを備え、入力手段５０によって指定されたアドレスに応じたシンボルのシンボル名をメモリウィンドウ中に表示するものである。【選択図】  図１
2007072568.tif 000002
【特許請求の範囲】
【請求項１】
プログラムのデバッグを行なうデバッグ装置であって、
メモリに格納されている値をメモリ上のアドレスに応じてマトリクス状に表示するメモリウィンドウをディスプレイ上に表示させるメモリ表示手段と、
前記メモリウィンドウの中の前記メモリの値が示されている位置にポインタを移動させ、前記メモリのアドレスを指定するポインティングデバイスとを備え
前記ポインティングデバイスによって指定されたアドレスに応じたシンボルのシンボル名を前記メモリウィンドウ中に表示するデバッグ装置。
【請求項２】
前記ポインタによって指定されたアドレスに前記シンボルが存在しない場合、前記シンボルが存在するアドレスまでアドレスを上方又は下方にずらして、前記シンボル名を表示させる請求項１に記載のデバッグ装置。
【請求項３】
前記シンボルが存在するまでずらしたアドレスの移動量を前記メモリウィンドウに前記シンボル名とともに表示させる請求項２に記載のデバッグ装置。
【請求項４】
前記シンボルが存在するまでずらしたアドレスの移動量が有効範囲内に含まれるか否かを判定し、有効範囲内に含まれない場合はシンボル名が表示されない請求項２又は３に記載のデバッグ装置。
【請求項５】
プログラムのデバッグを行なうデバッグ方法であって、
メモリに格納されている値をメモリ上のアドレスに応じてマトリクス状に表示するメモリウィンドウをディスプレイ上に表示させ、
ポインティングデバイスの操作に応じて移動するポインタを前記メモリウィンドウの中で前記メモリの値が示されている位置に移動させて前記メモリのアドレスを指定し、
前記ポインティングデバイスによって指定されたアドレスに応じたシンボルのシンボル名を前記メモリウィンドウ中に表示するデバッグ方法。
【請求項６】
前記ポインタによって指定されたアドレスに前記シンボルが存在しない場合、前記シンボルが存在するアドレスまでアドレスを上方又は下方にずらして、前記シンボル名を表示させる請求項５に記載のデバッグ方法。
【請求項７】
前記シンボルが存在するまでずらしたアドレスの移動量を前記メモリウィンドウに前記シンボル名とともに表示させる請求項６に記載のデバッグ方法。
【請求項８】
前記シンボルが存在するまでずらしたアドレスの移動量が有効範囲内に含まれるか否かを判定し、前記有効範囲内に含まれない場合はシンボル名が表示されない請求項６又は７に記載のデバッグ方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、デバッグ装置及びデバッグ方法に関し、特に詳しくは、メモリの値を示すメモリウィンドウを表示させてデバッグを行なうデバッグ装置及びデバッグ方法に関する。
【背景技術】
【０００２】
プログラムをデバッグするデバッガには、デバッグを効率よく実行するため、様々な情報をディスプレイ上に表示させる機能を有している。例えば、プログラムのシンボル情報を表示させるデバッガが開示されている。（特許文献１参照）。さらに、デバッガには、一般的に、ターゲットのメモリ内容をディスプレイ上に表示するための機能として、メモリ・ウィンドウが備わっている。従って、メモリ・ウィンドウに表示される内容を確認することにより、特定のアドレス上に格納されている値を確認することができる。
【０００３】
従来のメモリ・ウィンドウの表示機能を有するデバッグ装置の構成について図５を用いて説明する。図５はメモリ内容およびシンボル名の表示する従来のデバッグ装置の構成を示すブロック図である。デバッガ装置は、データ処理部１０と、メモリ２１及びＣＰＵ２２を有するターゲット部２０と、デバッグの対象となるユーザプログラム３０と、ディスプレイ装置４０と、キーボード及びマウスを有する入力手段５０とを備えている。
【０００４】
データ処理部１０には、指定されたアドレスにおけるメモリ２１の値を読み込むメモリ読み込み手段１２と、メモリ読み込み手段１２により読み込まれた値をメモリウィンドウとしてディスプレイ装置４０に表示させるメモリ表示手段１１とが設けられている。このメモリ表示手段１１によって表示されたメモリウィンドウは、図６に示されているように表示される。図６では、００〜６Ｆまでのアドレスに格納されている値がメモリウィンドウ６０内に示されている。
【０００５】
データ処理部１０には、さらに、ユーザプログラム３０内に含まれているシンボル名を読み込むシンボル読み込み手段１５である。シンボル読み込み手段１５によって読み込まれたシンボル名は、シンボルテーブル１４に保持される。
【０００６】
デバッグを行う際にユーザプログラム３０の実行結果としてメモリ２１の内容を確認するには、図６に示すメモリウィンドウ６０をディスプレイ装置４０に表示させる。そして、メモリ上の数値を確認する。また、その数値が格納されているアドレスがどのシンボルに割り当たっているかを調べるためには、図７に示すシンボル変換ウィンドウ７０を別途表示させる。そして、シンボル名を確認したいアドレスをアドレス入力欄７１に入力する。これによって、アドレス入力欄７１に入力されたアドレスに対応するシンボル名がシンボル名表示欄７２に表示される。図７では、アドレス入力欄７１にアドレス"５４"が入力され、その変換結果として、シンボル変換ウィンドウのシンボル表示欄７２にｐ＿ｂｌｋ１というシンボルが表示されている。
【０００７】
また、従来のデバッグ方法について図８を用いて説明する。図８は、従来のデバッグ方法でメモリ内容およびシンボル名の表示する手順を示すフローチャートである。まず、ユーザプログラムの実行結果に基づいて、メモリウィンドウを表示させる（ステップＳ３０１）。これにより、メモリウィンドウ上でメモリ内容（数値）が表示される（ステップＳ３０２）。次に、作業者がアドレスに対するシンボル確認を行う場合（ステップＳ３０３）、作業者が入力手段５０を操作して、シンボル変換ウィンドウ７０を表示させる（ステップＳ３０４）。そして、シンボル変換ウィンドウ７０のアドレス入力欄７１にアドレスを入力する（ステップＳ３０５）。そして、入力アドレスにシンボルが存在するか否かを判定する（ステップＳ３０６）。入力アドレスにシンボルが存在する場合、シンボル変換ウィンドウ上でシンボル名を表示させ（ステップＳ３０７）、存在しない場合、シンボル名を表示せず（ステップＳ３０８）に、終了する（ステップＳ３０９）。
【０００８】
また、メモリのアドレスを入力することにより、そのアドレスに対応するシンボル名とともにそのアドレスに格納されているデータ値を表示するデバッガもある（特許文献２参照）。
【０００９】
【特許文献１】特開平８−１６４２７号公報
【特許文献２】特開２００４−３１８２１０号公報
【発明の開示】
【発明が解決しようとする課題】
【００１０】
しかしながら、従来のデバッグ方法では、シンボル名を確認する場合、シンボル変換ウィンドウにメモリのアドレスを入力して、そのアドレスに対応するシンボル名を表示させる必要があった。すなわち、シンボル名を確認するためには、メモリ変換テーブルを別途表示させ、確認したいアドレスを入力しなければならなかった。従って、従来のデバッグ方法では、効率よくデバッグを行なうことができないという問題点があった。
【課題を解決するための手段】
【００１１】
本発明にかかるデバッグ装置は、プログラムのデバッグを行なうデバッグ装置であって、メモリに格納されている値をメモリ上のアドレスに応じてマトリクス状に表示するメモリウィンドウをディスプレイ上に表示させるメモリ表示手段と、前記メモリウィンドウの中の前記メモリの値が示されている位置にポインタを移動させ、前記メモリのアドレスを指定するポインティングデバイスとを備え、前記ポインティングデバイスによって指定されたアドレスに応じたシンボルのシンボル名を前記メモリウィンドウ中に表示するものである。これにより、メモリウィンドウ上でシンボル名を確認したいアドレスを指定できるともに、メモリウィンドウ上にシンボル名が表示されるため、効率よくデバッグを行なうことができる。
【００１２】
本発明にかかるデバッグ方法は、プログラムのデバッグを行なうデバッグ方法であって、メモリに格納されている値をメモリ上のアドレスに応じてマトリクス状に表示するメモリウィンドウをディスプレイ上に表示させ、ポインティングデバイスの操作に応じて移動するポインタを前記メモリウィンドウの中で前記メモリの値が示されている位置に移動させて前記メモリのアドレスを指定し、前記ポインティングデバイスによって指定されたアドレスに応じたシンボルのシンボル名を前記メモリウィンドウ中に表示するものである。これにより、メモリウィンドウ上でシンボル名を確認したいアドレスを指定できるともに、メモリウィンドウ上にシンボル名が表示されるため、効率よくデバッグを行なうことができる。
【発明の効果】
【００１３】
本発明によれば、効率よくデバッグを行なうことができるデバッグ装置及びデバッグ方法を提供することができる。
【発明を実施するための最良の形態】
【００１４】
以下に、本発明を適用可能な実施の形態が説明される。以下の説明は、本発明の実施形態を説明するものであり、本発明は以下の実施形態に限定されるものではない。説明の明確化のため、以下の記載は、適宜、省略及び簡略化がなされている。又、当業者であれば、以下の実施形態の各要素を、本発明の範囲において容易に変更、追加、変換することが可能であろう。尚、各図において同一の符号を付されたものは同様の要素を示しており、適宜、説明が省略される。
【００１５】
本発明にかかるデバッグ装置の構成について図１を用いて説明する。図１は本発明に係るデバッグ装置の構成を示すブロック図である。デバッグ装置は、データ処理部１０と、ターゲット部２０と、ユーザプログラム３０と、ディスプレイ装置４０と、入力手段５０とを備えている。本実施の形態では、ユーザプログラム３０に対してデバッグを実行する際に、メモリの値とそのメモリに対応するシンボル名を表示させる構成について説明する。具体的には、ソース形式のユーザプログラムをコンパイルして、オブジェクト形式のユーザプログラム３０に変換しする。そして、オブジェクト形式に変換されたユーザプログラム３０を実行して、その実行結果に対してデバッグを行なう際に、メモリウィンドウ内に、メモリに格納された値を表示させる。さらに、メモリウィンドウ内でアドレスを指定して、そのアドレスに対応するシンボル名を表示させる。
【００１６】
ターゲット部２０は、メモリ２１とＣＰＵ（Ｃｅｎｔｒａｌ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔ）２２を備えている。ターゲット部２０は、ソースプログラムをコンパイルして、ターゲットとなるオブジェクトプログラムに変換する。すなわち、ターゲット部２０は、デバッグの対象となるユーザプログラム３０を生成する。また、ターゲット部２０のメモリ２１には、ユーザプログラム３０の実行結果に基づいて、ユーザプログラム３０の各シンボルに対応する値が格納されている。
【００１７】
ディスプレイ装置４０は、液晶ディスプレイなどの表示装置を備えている。そして、デバッガを起動させると、ディスプレイ装置４０の表示画面には、デバッガのウィンドウ、ツール、アイコンなどが表示される。さらに、デバッグ時には、ディスプレイ装置４０の表示画面にメモリ２１の内容を示すメモリウィンドウが表示される。
【００１８】
入力手段５０は、キーボード及びマウスなどを備えている。作業者は、この入力手段５０を操作して、所望の処理を実行する。例えば、デバッグ時にメモリ２１に格納されている値を示すメモリウィンドウを表示させたり、メモリの所定のアドレスに対応するシンボル名を表示させたりするための入力が入力手段５０によって行なわれる。すなわち、作業者は、入力手段５０のマウスやキーボードを操作して、デバッガのメモリウィンドウを表示させることができる。
【００１９】
さらに、入力手段５０のマウスを操作することにより、ディスプレイ装置４０上に表示されたマウスカーソルを移動させることができる。同様に、入力手段５０のキーボードの矢印キーを押下することにより、ディスプレイ装置４０上に表示されたキャレットを移動させることができる。さらに、ディスプレイ装置４０上におけるマウスカーソル及びキャレットの座標は、データ処理部１０に認識されている。このマウスカーソルやキャレットの座標によってメモリウィンドウ上で、アドレスが指定される。このように、入力手段５０は、ディスプレイ装置４０の表示画面上でメモリウィンドウ内の位置を特定するポインティングデバイスとして使用される。
【００２０】
データ処理部１０は、デバッガによるデータ処理を実行する。例えば、データ処理部はメモリウィンドウを表示させることができる。デバッガのデータ処理部１０はメモリ表示手段１１と、メモリ読み込み手段１２と、アドレス変換手段１３と、シンボルテーブル１４と、シンボル読み込み手段１５とを備えている。
【００２１】
メモリ読み込み手段１２は、実行結果に基づいてメモリ２１に記憶されている値を読み込む。メモリ読み込み手段１２は、指定された範囲のアドレスの内容をメモリ２１から取得する。あるいは、メモリ読み込み手段１２は、予め設定されている範囲のアドレスに格納されているメモリの内容を読み込む。
【００２２】
メモリ表示手段１１は、メモリ読み込み手段１２によって読み込まれた値をメモリウィンドウとして、ディスプレイ装置４０に表示させる。すなわち、メモリ読み込み手段１２によって取得された値に基づいて、ディスプレイ装置４０の表示画面にメモリウィンドウが表示される。
【００２３】
シンボル読み込み手段１５は、ユーザプログラム３０のシンボル名を読み込む。そして、シンボル読み込み手段１５に読み込まれたシンボル名は、シンボルテーブル１４として記憶される。すなわち、シンボルテーブル１４は、シンボル読み込み手段１５で取得したシンボル名をそのアドレスとともに保持する。換言すると、シンボルテーブル１４にはメモリのアドレスとそのアドレスに存在するシンボルのシンボル名とがテーブルとして格納されている。
【００２４】
アドレス変換手段１３は、入力手段５０によって入力されたアドレスにシンボルが存在するか否かを判定する。具体的には、作業者が、マウス又はキーボードなどを操作して、メモリウィンドウ上でメモリアドレスを指定する。アドレス変換手段１３は、この指定アドレスにシンボルが存在するか否かを判定して、その指定アドレスあるいは指定アドレスの近傍のアドレスにシンボルが存在している場合、そのシンボルの情報をメモリ表示手段１１に返却する。そして、メモリ表示手段１１がメモリウィンドウ中にシンボル名を含むシンボル情報を表示させる。また、シンボルが存在していない場合、アドレス変換手段１３はシンボルの情報を返却しない。この場合、メモリ表示手段１１はシンボル名を含むシンボル情報を表示させない。
【００２５】
次に、図２を用いてメモリウィンドウ上でアドレスを指定する動作について説明する。図２は、本発明にかかるデバッグ装置のメモリ表示手段１１によって表示されるメモリウィンドウを示す図である。メモリウィンドウ６０には、複数のメモリの内容が、そのアドレスに応じてマトリクス状に配列されている。すなわち、メモリ２１に格納されている値が、メモリ２１上のアドレスに応じてマトリクス状に表示されている。メモリウィンドウ６０の中には、メモリ２１のアドレスを指定するポインタとして、キャレット６１と、マウスカーソル６３とが表示されている。また、メモリウィンドウ６０内には、指定されたアドレスに対応するシンボル名を表示するシンボル名表示領域６２が設けられている。さらに、メモリウィンドウの中には、指定されたアドレスに対応するシンボル名を表示するシンボル名表示ウィンドウが表示されている。
【００２６】
本実施の形態では、キャレット６１によって指定されたアドレスに対応するシンボル名をシンボル名表示領域６２に表示し、マウスカーソル６３によって指定されたアドレスに対応するシンボル名をシンボル名表示ウィンドウ６４に表示させる例について説明する。
【００２７】
メモリウィンドウ６０の中には、メモリに格納されている値がテーブル状に表示されている。図２ではメモリのアドレス"００"〜"６Ｆ"に格納されているメモリ内容が表示されている。すなわち、１１２個のアドレスに対応する値が、図２に示すように、縦７×横１６のマトリクス状に表示されている。例えば、アドレス"００"に対応するメモリ値は２５であり、アドレス"６Ｆ"に対応する値は４９である。なお、メモリウィンドウ６０では、メモリの値が１６進数で表示されている。
【００２８】
まず、マウスの操作によってアドレスを指定して、シンボル名を表示させる例について説明する。ここでは、シンボル"ｐ＿ｂｌｋ２"が存在するアドレス"５８"を指定する例について説明する。作業者は、ディスプレイ装置４０に表示されたメモリウィンドウ６０を見ながら、入力手段５０のマウスを操作する。そして、マウスカーソル６３をメモリウィンドウ６０上のアドレス"５８"に合わせる。すなわち、マウスカーソル６３をマトリクス状に配置されたメモリ値のうち、アドレス"５８"の値が表示されている位置に移動させる。これにより、図２に示されるようにマウスカーソル６３がアドレス"５８"に格納されている値"６７"を指し示す。これにより、メモリウィンドウ６０に含まれる複数のアドレスのうち、アドレス"５８"が指定される。
【００２９】
ここでは、アドレス変換手段１３が、指定されたアドレスにシンボルが存在すると判定する。従って、マウスカーソルがアドレス"５８"の位置に移動すると、シンボル名表示ウィンドウ６４にアドレス"５８"に対応するシンボル名"ｐ＿ｂｌｋ２"が表示される。すなわち、マウスカーソル６３が指し示している値のアドレスに対応するシンボル名"ｐ＿ｂｌｋ２"がシンボル名表示ウィンドウ６４に表示される。これにより、作業者は、アドレス"５８"に対応するシンボル名がｐ＿ｂｌｋ２であることを確認することができる。このシンボル名表示ウィンドウ６４は、例えば、マウスカーソル６３の近傍に表示される。これにより、指定されたアドレスの値と、そのアドレスに対応するシンボル名とを即座に確認することができる。シンボル名表示ウィンドウ６４は、マウスカーソルの移動とともに、メモリウィンドウ６０の中を移動する。すなわち、マウスカーソル６３がメモリウィンドウ６０のメモリ値が表示されている領域中を移動すると、マウスカーソル６３が指し示している値のアドレスが切り替わる。従って、シンボル名表示ウィンドウ６４に表示されるシンボル名がマウスカーソルの移動に応じて変化する。
【００３０】
次に、キーボードの操作によってアドレスを指定して、シンボル名を表示させる例について説明する。ここでは、シンボルが存在しないアドレス"５５"を指定する例について説明する。そして、アドレス"５５"の隣のアドレス"５４"に、シンボル"ｐ＿ｂｌｋ１"が存在しているものとする。作業者は、メモリウィンドウ６０を確認しながらキーボードの矢印キーを押下して、キャレット６１をアドレス"５５"に対応する位置に移動させる。すなわち、キャレット６１を、アドレス"５５"の値が表示されている位置に移動させる。これにより、アドレス"５５"が指定される。ここでは、アドレス変換手段１３が、指定されたアドレスにシンボルが存在していないと判定する。従って、アドレス変換手段１３は、アドレス"５５"の隣のアドレス"５４"にシンボルが存在しているか否かを判定する。ここでは、アドレス"５４"にシンボルが存在していると判定する。
【００３１】
これにより、アドレス"５４"のシンボル名"ｐ＿ｂｌｋ１"がシンボル名表示領域６２に表示される。すなわち、シンボル名表示領域６２にはキャレット６１が指し示すアドレスの隣のアドレスに存在するシンボル名"ｐ＿ｂｌｋ１"が表示される。さらに、シンボル名表示領域の"ｐ＿ｂｌｋ１"の横には、隣のアドレスに存在するシンボル名が表示されていることを示すため"＋０ｘ１"と表示されている。すなわち、シンボル名表示領域６２には、指定したアドレスから移動した移動量を示す情報がシンボル名とともに表示される。このように、シンボル名表示領域６２には、シンボル名とアドレスの移動量とを含むシンボル情報が表示される。従って、指定したアドレスにシンボルが存在しない場合でも、その隣のアドレスに存在するシンボルの情報を確認することができる。よって、効率よくデバッグを行なうことができる。
【００３２】
もちろん、指定したアドレスの隣のアドレスにシンボルが存在しない場合、さらにその隣のアドレスのシンボル名を表示させる。すなわち、指定したアドレスの２つ隣のアドレスのシンボル名を表示させる。この場合、指定したアドレスから２つ移動したことを示す"＋０ｘ２"がシンボル名表示領域に表示される。もちろん、シンボル名がさらに存在しない場合は、シンボルが存在するアドレスまでアドレス値をずらして、シンボル名を表示させる。すなわち、指定アドレスから、２以上ずれたアドレスがシンボル名表示の対象となる対象アドレスとなる。従って、シンボルが存在しないアドレスを指定した場合、シンボルが存在するアドレスのうち、指定アドレスに最も近いアドレスが対象アドレスとなる。この場合、対象アドレスのシンボル名と、指定アドレスから対象アドレスまでの移動量と、からなるシンボル情報が表示される。従って、指定したアドレスにシンボルが存在しない場合でも、その近傍のアドレスに存在するシンボルの情報を確認することができる。よって、効率よくデバッグを行なうことができる。さらに、指定アドレスの近傍のアドレスに、シンボルが存在するアドレスがない場合、シンボル名を表示させないようにしてもよい。
【００３３】
また、キーボードの矢印キーを押下して、指定するアドレスを変えていくと、シンボル名表示領域６２に表示されているシンボル名が変わっていく。すなわち、シンボル名表示領域６２に表示されているシンボル名は、キャレット６１の位置に応じて変化していく。これにより、即座にシンボル名を確認することができる。
【００３４】
このように、本発明では、メモリウィンドウ上の位置を特定するマウスカーソル６３又はキャレット６１等のポインタを用いて、メモリウィンドウの中で、メモリ２１のアドレスを指定するとともに、指定されたアドレスに対応するシンボル名が表示されるため、簡便にシンボル名を確認することができる。よって、シンボル変換ウィンドウを別途表示させる必要がなく、効率よくデバッグを行なうことができる。さらに、指定されたアドレスにシンボルが存在していない場合、その隣のアドレスに存在するシンボル名をアドレスの移動量とともに表示させる。これにより、効率よくデバッグを行なうことができる。
【００３５】
なお、マウスカーソルで指定したアドレスにシンボルが存在しない場合、キャレット６１と同様に、隣のアドレスのシンボル名を表示させるようにしてもよい。この場合、シンボル名及びアドレスの移動量を含むシンボル情報が表示される。もちろん、キャレット６１で指定したアドレスにシンボルが存在する場合、指定されたアドレスのシンボル名を表示させるようにする。また、マウスカーソル６３又はキャレット６１のいずれか一方のみで、アドレスを指定するようにしてもよい。さらに、マウス又はキーボードに限らず、トラックボールなどの他のポインティングデバイスを用いてポインタを移動させ、アドレスを指定してもよい。
【００３６】
次に、図３及び図４を用いて、デバッグにおいてメモリウィンドウ中にシンボル名を表示させる方法について説明する。
【００３７】
まず、ユーザプログラムの実行結果に基づいたメモリウィンドウを表示させる（ステップＳ１０１）。すなわち、ソース形式のユーザプログラムをコンパイルして、オブジェクト形式に変換し、このオブジェクト形式のユーザプログラムの実行結果に基づくメモリの値をメモリウィンドウに表示させる。これにより、メモリウィンドウ上でメモリ内容（数値）が表示される（ステップＳ１０２）。次に、作業者がマウスを操作して、シンボル確認したい数値上にマウスカーソル６３を移動させる（ステップＳ１０３）。すなわち、メモリウィンドウ上に表示されている数値上にカーソルを移動させ、アドレスを指定する。もちろん、キャレット６１によって指定してもよい。そして、数値上のカーソル位置からアドレスを取得する（ステップＳ１０４）。
【００３８】
この次に、取得されたアドレスからシンボル情報を取得する（ステップＳ１０５）。なお、このステップの詳細については後述する。そして、シンボル情報が存在するか否かを判定する（ステップＳ１０６）。シンボル情報が存在する場合、シンボル情報をメモリウィンドウ上に表示して（ステップＳ１０７）、終了する（ステップＳ１０９）。すなわち、指定されたアドレスにシンボルが存在する場合又は指定されたアドレスの近傍にシンボルが存在するアドレスがある場合、そのシンボル名と移動量とを含むシンボル情報を表示させる。シンボル情報が存在しない場合、シンボル情報を表示せず（ステップＳ１０８）に終了する（ステップＳ１０９）。すなわち、指定されたアドレスの近傍にシンボルが存在するアドレスがない場合、シンボル名を表示させないようにする。
【００３９】
次に、取得されたアドレスからシンボル情報を取得するステップ（ステップＳ１０５）について図４を参照して説明する。まず、ステップＳ１０４で取得した指定アドレスにシンボルが存在するか否かを判定する（ステップＳ２０１）。すなわち、アドレス変換手段１３が、指定アドレスと、シンボルテーブルとを参照して、指定アドレスにシンボルが存在するか否かを判定する。指定アドレスにシンボルが存在すると判定された場合、そのアドレスに存在するシンボル名を返却する（ステップＳ２０２）。
【００４０】
指定アドレスにシンボルが存在しない場合、指定アドレス値に１を減算する（ステップＳ２０３）。例えば、アドレス"５５"を指定した場合、その上方のアドレス"５４"が対象となる。なお、下方移動の場合は、アドレスに１を加算する。すなわち、上方移動の場合、アドレスに１を減算し、下方移動の場合、アドレスに１を加算する。
【００４１】
そして、１を減算したアドレスにシンボルが存在するか否かを判定する（ステップＳ２０４）。１減算したアドレスにシンボルが存在しない場合、再度、Ｓ２０３を行なう。すなわち、もう一度アドレスを１減算し（ステップＳ２０３）、アドレスにシンボルが存在するか否かを判定する（ステップＳ２０４）。これを繰り返し行い、シンボルが存在するアドレスまで対象アドレスを移動させる。
【００４２】
１あるいは２以上減算したアドレスにシンボルが存在する場合、指定アドレスと対象アドレスとの差分をオフセット値として保持する（ステップＳ２０５）。すなわち、減算を行なった回数をオフセット値として記憶する。このオフセット値が、シンボル名が表示されたアドレスと指定アドレスとの間の移動量となる。このように、シンボルが存在するアドレスに対象アドレスが移動するまで、アドレス値を変位させていく。
【００４３】
そして、オフセット値が有効範囲内に収まるか否かを判定する（ステップＳ２０６）。すなわち、オフセット値の絶対値が予め定められた有効範囲に含まれるか否かが判定される。オフセット値が有効範囲に収まる場合、対象アドレスのシンボル名とオフセット値を返却する（ステップＳ２０７）。この場合、ステップＳ１０７で示したように、このオフセット値が移動量として、シンボル名とともに表示される。一方、オフセット値が有効範囲に収まらない場合、情報を返却しない(ステップＳ２０８)。この場合、ステップＳ１０８で示したようにメモリウィンドウに、シンボル情報が表示されない。このように、オフセット値が有効範囲内に含まれるか否かを判定して、表示を行なう。これにより、指定アドレスから一定以上離れたアドレスに存在するシンボルの情報が表示されるのを防ぐことができる．これにより、効率よくデバッグを行なうことができる。
【００４４】
有効範囲の判断材料としては、オフセット値がシンボルの定義されている型情報から取得できるサイズ値を超えていないか、アドレスが"００"を超えてマイナスになっていないか、又は、プログラム領域を超えていないか、といった内容を挙げることができる。
【図面の簡単な説明】
【００４５】
【図１】本発明にかかるデバッグ装置の構成を示すブロック図である。
【図２】本発明にかかるデバッグ装置で表示されるメモリウィンドウを示す図である。
【図３】本発明にかかるデバッグ方法を示すフローチャートである。
【図４】本発明にかかるデバッグ方法を示すフローチャートである。
【図５】従来のデバッグ装置の構成を示すブロック図である。
【図６】従来のデバッグ装置で表示されるメモリウィンドウを示す図である。
【図７】従来のデバッグ装置で表示されるシンボル変換ウィンドウを示す図である。
【図８】従来のデバッグ方法でメモリ内容およびシンボル名を表示する手順を示すフローチャートである。を示すフロー・チャートである。
【符号の説明】
【００４６】
１０  データ処理部、１１  メモリ表示手段、１２  メモリ読み込み手段、
１３  アドレス変換手段、１４  シンボルテーブル、１５  シンボル読み込み手段、
１６  シンボル表示手段、２０  ターゲット部、２１  メモリ、２２  ＣＰＵ、
３０  ユーザプログラム、４０  ディスプレイ装置、５０  ポインティングデバイス、
６０  メモリウィンドウ、６１  キャレット、６２  シンボル名表示領域、
６３  マウスカーソル、６４  シンボル名表示ウィンドウ、
７０  シンボル変換ウィンドウ、７１  アドレス入力欄、７２  シンボル表示欄
【図１】
2007072568.tif 000003
【図２】
2007072568.tif 000004
【図３】
2007072568.tif 000005
【図４】
2007072568.tif 000006
【図５】
2007072568.tif 000007
【図６】
2007072568.tif 000008
【図７】
2007072568.tif 000009
【図８】
2007072568.tif 000010