JPH04248634A - デバッガ - Google Patents
デバッガInfo
- Publication number
- JPH04248634A JPH04248634A JP3014124A JP1412491A JPH04248634A JP H04248634 A JPH04248634 A JP H04248634A JP 3014124 A JP3014124 A JP 3014124A JP 1412491 A JP1412491 A JP 1412491A JP H04248634 A JPH04248634 A JP H04248634A
- Authority
- JP
- Japan
- Prior art keywords
- data
- data structure
- arrangement information
- label
- debugger
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
- 238000000547 structure data Methods 0.000 claims abstract description 38
- 238000001514 detection method Methods 0.000 claims description 8
- 238000000034 method Methods 0.000 description 14
- 238000010586 diagram Methods 0.000 description 8
- 230000006870 function Effects 0.000 description 1
Landscapes
- Debugging And Monitoring (AREA)
Abstract
(57)【要約】本公報は電子出願前の出願データであるた
め要約のデータは記録されません。
め要約のデータは記録されません。
Description
【0001】
【産業上の利用分野】本発明はデバッガに関し、特にマ
イクロプロセッサ等のコンピュータのプログラムのデバ
ッグ用のデバッガに関する。
イクロプロセッサ等のコンピュータのプログラムのデバ
ッグ用のデバッガに関する。
【0002】
【従来の技術】従来のデバッガは、デバッグの対象であ
るマイクロプロセッサ等のプログラムが、主記憶装置等
のデータをアクセスするときに、そのプログラムに関係
するデータ構造(以下所定データ構造)に属しないデー
タ型のデータをアクセスしたことを効率的に検出する手
段がなかった。
るマイクロプロセッサ等のプログラムが、主記憶装置等
のデータをアクセスするときに、そのプログラムに関係
するデータ構造(以下所定データ構造)に属しないデー
タ型のデータをアクセスしたことを効率的に検出する手
段がなかった。
【0003】図6に、主記憶装置上の配列データの一例
を示す。これは、リンク表現型のデータ型の一例であり
、A〜C等の配列データは、所定データ構造の部分であ
り、L〜N等の配列データは、所定データ構造に属しな
いデータ型のデータ(以下非データ構造データ)の部分
である。
を示す。これは、リンク表現型のデータ型の一例であり
、A〜C等の配列データは、所定データ構造の部分であ
り、L〜N等の配列データは、所定データ構造に属しな
いデータ型のデータ(以下非データ構造データ)の部分
である。
【0004】このようなデータをアクセスするには、プ
ログラムを結合するツールであるリンクエディタ(リン
カ)により、図7のようなテーブルを作成し、それぞれ
の配列データの先頭番地を指すポインタを用いて行なう
のが一般的である。図7の例では、配列データAの先頭
番地は100であり、データのサイズは10バイト、配
列データBの先頭番地は200であり、データのサイズ
は20バイト、また、配列データCの先頭番地は300
であり、データのサイズは30バイト等であることを示
す。
ログラムを結合するツールであるリンクエディタ(リン
カ)により、図7のようなテーブルを作成し、それぞれ
の配列データの先頭番地を指すポインタを用いて行なう
のが一般的である。図7の例では、配列データAの先頭
番地は100であり、データのサイズは10バイト、配
列データBの先頭番地は200であり、データのサイズ
は20バイト、また、配列データCの先頭番地は300
であり、データのサイズは30バイト等であることを示
す。
【0005】従来のデバッガにおいて、非データ構造デ
ータをアクセスしたかどうかの検出は図8に示すような
手作業で行なっていた。
ータをアクセスしたかどうかの検出は図8に示すような
手作業で行なっていた。
【0006】まず、ステップP1で、プログラムの実行
命令をマシン語からアセンブラに逆変換する作業である
逆アセンブルを行なう。
命令をマシン語からアセンブラに逆変換する作業である
逆アセンブルを行なう。
【0007】次に、命令のアクセスするアドレスを点検
する(ステップP2)。
する(ステップP2)。
【0008】次に、アドレスがリンカの作成したテーブ
ルの範囲内であるかどうかを点検する(ステップP3)
。
ルの範囲内であるかどうかを点検する(ステップP3)
。
【0009】次に、アドレスが非データ構造データのア
ドレスであるかどうかの判定をする(ステップP4)。 イエスの場合は、エラーであるのでステップP5に進み
、エラーメッセージを出力するとともにプログラムカウ
ンタ(以下PC)の該当命令名を記録して処理を中断す
る。ノーの場合は、ステップP6に進み、その1つの命
令を実行する。
ドレスであるかどうかの判定をする(ステップP4)。 イエスの場合は、エラーであるのでステップP5に進み
、エラーメッセージを出力するとともにプログラムカウ
ンタ(以下PC)の該当命令名を記録して処理を中断す
る。ノーの場合は、ステップP6に進み、その1つの命
令を実行する。
【0010】次に、プログラムが終了したかどうかを判
定する(ステップP7)。イエスの場合は、終了する。 ノーの場合は、ステップP1に戻り、次の命令について
以上のフローと同様の作業を繰返すというものであった
。
定する(ステップP7)。イエスの場合は、終了する。 ノーの場合は、ステップP1に戻り、次の命令について
以上のフローと同様の作業を繰返すというものであった
。
【0011】
【発明が解決しようとする課題】上述した従来のデバッ
ガは、非データ構造データ型のデータをアクセスしてデ
バッグを実行するためには、デバッグ作業者が所定デー
タ構造とその非データ構造データとの複数のデータ構造
のデータに属するアドレスの配置を把握する必要がある
という欠点があった。また、プログラム実行時の所定デ
ータ構造からのオーバランを効率的に発見することがで
きないので、潜在的なバグの発見が困難であるという欠
点があった。
ガは、非データ構造データ型のデータをアクセスしてデ
バッグを実行するためには、デバッグ作業者が所定デー
タ構造とその非データ構造データとの複数のデータ構造
のデータに属するアドレスの配置を把握する必要がある
という欠点があった。また、プログラム実行時の所定デ
ータ構造からのオーバランを効率的に発見することがで
きないので、潜在的なバグの発見が困難であるという欠
点があった。
【0012】
【課題を解決するための手段】第1の発明のデバッガは
、ソースコード内の予め定めたデータ構造のデータに属
さないデータである非データ構造データの前後をグロー
バル変数のダミーのデータであるラベルではさみ込んだ
ラベル付加非データ構造データを作成するラベル付加非
データ構造データ作成手段と、前記ラベル付加非データ
構造データの配置情報であるデータ配置情報を作成する
データ配置情報作成手段と、前記データ配置情報を照合
し、アクセスするアドレスが前記ラベル付加非データ構
造データの領域の範囲内であることを検出するアクセス
データ検出手段とを備えて構成されている。
、ソースコード内の予め定めたデータ構造のデータに属
さないデータである非データ構造データの前後をグロー
バル変数のダミーのデータであるラベルではさみ込んだ
ラベル付加非データ構造データを作成するラベル付加非
データ構造データ作成手段と、前記ラベル付加非データ
構造データの配置情報であるデータ配置情報を作成する
データ配置情報作成手段と、前記データ配置情報を照合
し、アクセスするアドレスが前記ラベル付加非データ構
造データの領域の範囲内であることを検出するアクセス
データ検出手段とを備えて構成されている。
【0013】
【実施例】次に、本発明の実施例について図面を参照し
て説明する。
て説明する。
【0014】図1は本発明のデバッガの一実施例を示す
ブロック図である。
ブロック図である。
【0015】本実施例のデバッガ1は、図1に示すよう
に、ラベル付加非データ構造データ作成手段11と、デ
ータ配置情報作成手段12と、アクセスデータ検出手段
13とを備えて構成されている。
に、ラベル付加非データ構造データ作成手段11と、デ
ータ配置情報作成手段12と、アクセスデータ検出手段
13とを備えて構成されている。
【0016】ラベル付加非データ構造データ作成手段1
1は、ソースコード2内の所定のデータ構造のデータあ
るデータ構造データに属さないデータ、すなわち、非デ
ータ構造データの前後を、システム共通の変数であるグ
ローバル変数のダミーのデータで構成したラベルではさ
み込みラベル付加非データ構造データを作成するもので
ある。
1は、ソースコード2内の所定のデータ構造のデータあ
るデータ構造データに属さないデータ、すなわち、非デ
ータ構造データの前後を、システム共通の変数であるグ
ローバル変数のダミーのデータで構成したラベルではさ
み込みラベル付加非データ構造データを作成するもので
ある。
【0017】データ配置情報作成手段12は、ラベル付
加非データ構造データの配置情報であるデータ配置情報
を作成するものである。
加非データ構造データの配置情報であるデータ配置情報
を作成するものである。
【0018】アクセスデータ検出手段13は、アクセス
するアドレスがラベル付加非データ構造データの領域の
範囲内であることを検出するものである。
するアドレスがラベル付加非データ構造データの領域の
範囲内であることを検出するものである。
【0019】次に、本実施例の動作について説明する。
【0020】図2は、ラベル付加非データ構造データ作
成手段11により、ソースコード2内の非データ構造デ
ータにラベルを付加したラベル付加非データ構造データ
を含む配列データの一例を示す。これは、従来例の場合
と同様のリンク表現型のデータ型の一例であり、A〜C
等の配列データは、所定データ構造の部分であり、L〜
N等の配列データは、非データ構造データの部分である
。そして、データLの前後にはラベルS1,E1を、デ
ータMの前後にはラベルS2,E2を、また、データN
の前後にはラベルS3,E3をそれぞれ付加している。
成手段11により、ソースコード2内の非データ構造デ
ータにラベルを付加したラベル付加非データ構造データ
を含む配列データの一例を示す。これは、従来例の場合
と同様のリンク表現型のデータ型の一例であり、A〜C
等の配列データは、所定データ構造の部分であり、L〜
N等の配列データは、非データ構造データの部分である
。そして、データLの前後にはラベルS1,E1を、デ
ータMの前後にはラベルS2,E2を、また、データN
の前後にはラベルS3,E3をそれぞれ付加している。
【0021】図3は、リンカにより作成した図2に示す
配列データのテーブルの一例を示す図である。本例では
、従来例と同様に、所定データ構造の配列データAの先
頭番地は100であり、データのサイズは10バイト等
であることを示す。そして、非データ構造データLの前
ラベルS1の先頭番地は110、サイズは1バイト、後
ラベルE1の先頭番地は199、サイズは1バイト等で
あることを示す。
配列データのテーブルの一例を示す図である。本例では
、従来例と同様に、所定データ構造の配列データAの先
頭番地は100であり、データのサイズは10バイト等
であることを示す。そして、非データ構造データLの前
ラベルS1の先頭番地は110、サイズは1バイト、後
ラベルE1の先頭番地は199、サイズは1バイト等で
あることを示す。
【0022】図4は、データ配置情報作成手段12によ
り、図3のテーブルのデータを変換して作成したラベル
付加非データ構造データのデータ配置情報の一例である
。
り、図3のテーブルのデータを変換して作成したラベル
付加非データ構造データのデータ配置情報の一例である
。
【0023】図4において、非データ構造データ領域は
、最初のものがS1〜E1であり、先頭番地が110、
最終番地が199というように示されている。
、最初のものがS1〜E1であり、先頭番地が110、
最終番地が199というように示されている。
【0024】図5は、本実施例のデバッガのアクセスデ
ータ検出手段13の動作フローを示すフローチャートで
ある。
ータ検出手段13の動作フローを示すフローチャートで
ある。
【0025】まず、ステップS1で、プログラムの実行
命令をマシン語からアセンブラに逆変換する作業である
逆アセンブルを行なう。
命令をマシン語からアセンブラに逆変換する作業である
逆アセンブルを行なう。
【0026】次に、命令のアクセスするアドレスを点検
する(ステップS2)。
する(ステップS2)。
【0027】次に、アドレスが図4のデータ配置情報の
テーブルの範囲内であるかどうかを点検する(ステップ
S3)。
テーブルの範囲内であるかどうかを点検する(ステップ
S3)。
【0028】次に、アドレスがデータ配置情報のテーブ
ルの範囲内のアドレスであるかどうかの判定をする(ス
テップS4)。イエスの場合は、エラーであるのでステ
ップS5に進み、エラーメッセージを出力するとともに
プログラムカウンタ(以下PC)の該当命令名を表示し
て処理を中断する。ノーの場合は、ステップS6に進み
、その1つの命令を実行する。
ルの範囲内のアドレスであるかどうかの判定をする(ス
テップS4)。イエスの場合は、エラーであるのでステ
ップS5に進み、エラーメッセージを出力するとともに
プログラムカウンタ(以下PC)の該当命令名を表示し
て処理を中断する。ノーの場合は、ステップS6に進み
、その1つの命令を実行する。
【0029】次に、プログラムが終了したかどうかを判
定する(ステップS7)。イエスの場合は、処理を終了
する。ノーの場合は、ステップS1に戻り、次の命令に
ついて以上のフローと同様の作業を繰返す。
定する(ステップS7)。イエスの場合は、処理を終了
する。ノーの場合は、ステップS1に戻り、次の命令に
ついて以上のフローと同様の作業を繰返す。
【0030】
【発明の効果】以上説明したように、本発明のデバッガ
は、非データ構造データの領域へのアクセスを検出する
機能を設けることにより、所定データ構造とその非デー
タ構造データとの複数のデータ構造のデータに属するア
ドレスの配置を把握する必要がなくなるという効果があ
る。また、プログラム実行時の所定データ構造からのオ
ーバランを効率的に発見することができるので、潜在的
なバグの発見が容易であるという効果がある。
は、非データ構造データの領域へのアクセスを検出する
機能を設けることにより、所定データ構造とその非デー
タ構造データとの複数のデータ構造のデータに属するア
ドレスの配置を把握する必要がなくなるという効果があ
る。また、プログラム実行時の所定データ構造からのオ
ーバランを効率的に発見することができるので、潜在的
なバグの発見が容易であるという効果がある。
【図1】本発明のデバッガの一実施例を示すブロック図
である。
である。
【図2】ラベル付加非データ構造データを含む配列デー
タの一例を示す図である。
タの一例を示す図である。
【図3】リンカが作成する図2で示した配列データのテ
ーブルの一例を示す図である。
ーブルの一例を示す図である。
【図4】図3で示したテーブルから作成したデータ配置
情報のテーブルの一例を示す図である。
情報のテーブルの一例を示す図である。
【図5】本実施例のデバッガにおけるアクセスデータ検
出手段の動作の一例を示す流れ図である。
出手段の動作の一例を示す流れ図である。
【図6】主記憶装置上の配列データの一例を示す図であ
る。
る。
【図7】リンカが作成する図6で示した配列データのテ
ーブルの一例を示す図である。
ーブルの一例を示す図である。
【図8】従来のデバッガの動作の一例を示す流れ図であ
る。
る。
1 デバッガ
2 ソースコード
11 ラベル付加非データ構造データ作成手段1
2 データ配置情報作成手段 13 アクセスデータ検出手段
2 データ配置情報作成手段 13 アクセスデータ検出手段
Claims (1)
- 【請求項1】 ソースコード内の予め定めたデータ構
造のデータに属さないデータである非データ構造データ
の前後をグローバル変数のダミーのデータであるラベル
ではさみ込んだラベル付加非データ構造データを作成す
るラベル付加非データ構造データ作成手段と、前記ラベ
ル付加非データ構造データの配置情報であるデータ配置
情報を作成するデータ配置情報作成手段と、前記データ
配置情報を照合し、アクセスするアドレスが前記ラベル
付加非データ構造データの領域の範囲内であることを検
出するアクセスデータ検出手段とを備えることを特徴と
するデバッガ。
Priority Applications (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP3014124A JPH04248634A (ja) | 1991-02-05 | 1991-02-05 | デバッガ |
Applications Claiming Priority (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP3014124A JPH04248634A (ja) | 1991-02-05 | 1991-02-05 | デバッガ |
Publications (1)
| Publication Number | Publication Date |
|---|---|
| JPH04248634A true JPH04248634A (ja) | 1992-09-04 |
Family
ID=11852379
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| JP3014124A Pending JPH04248634A (ja) | 1991-02-05 | 1991-02-05 | デバッガ |
Country Status (1)
| Country | Link |
|---|---|
| JP (1) | JPH04248634A (ja) |
-
1991
- 1991-02-05 JP JP3014124A patent/JPH04248634A/ja active Pending
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| US5956479A (en) | Demand based generation of symbolic information | |
| US7353427B2 (en) | Method and apparatus for breakpoint analysis of computer programming code using unexpected code path conditions | |
| US20080127113A1 (en) | Method and system for implementing watchpoints | |
| US7178135B2 (en) | Scope-based breakpoint selection and operation | |
| JP2000305809A (ja) | メモリアクセス解析方法、メモリアクセス追跡装置、コンピュータ読取可能な記録媒体 | |
| US7240334B1 (en) | Methods, systems, and computer program products for deferred computer program tracing | |
| CA2418670A1 (en) | Method and system for generating executable code for formatiing and printing complex data structures | |
| US7086033B2 (en) | Software debugger having a monitor for monitoring conditional statements within a software program | |
| JPH03188535A (ja) | プログラム・エラー検出方法 | |
| US6279104B1 (en) | Debugging system for parallel processed program and debugging method thereof | |
| US20020129336A1 (en) | Automatic symbol table selection in a multi-cell environment | |
| US20080010536A1 (en) | Breakpoints with Separate Conditions | |
| US6983454B2 (en) | Extended “run to” function | |
| JPH04248634A (ja) | デバッガ | |
| US20070150866A1 (en) | Displaying parameters associated with call statements | |
| JP2888242B2 (ja) | マイクロプロセッサのプログラム開発システム | |
| JP3461185B2 (ja) | ロードモジュールへのソースコード行番号登録方法および装置 | |
| JPH0510692B2 (ja) | ||
| JPH04358232A (ja) | 情報処理装置の機能試験方法 | |
| JPS6113615B2 (ja) | ||
| JPS60179847A (ja) | 実配列および仮配列間の整合性チエツク方式 | |
| US7627859B2 (en) | Method for configuring non-script language library files to be run as scripts | |
| JPH07168711A (ja) | プログラム管理方法 | |
| Heath et al. | Development of a test environment for pre-and post-synthesis verification of correct VHDL description of core processor systems | |
| JPH0318940A (ja) | プログラムデバッグ方式 |