JP3085309B2 - デバッグシステム - Google Patents

デバッグシステム

Info

Publication number
JP3085309B2
JP3085309B2 JP01301539A JP30153989A JP3085309B2 JP 3085309 B2 JP3085309 B2 JP 3085309B2 JP 01301539 A JP01301539 A JP 01301539A JP 30153989 A JP30153989 A JP 30153989A JP 3085309 B2 JP3085309 B2 JP 3085309B2
Authority
JP
Japan
Prior art keywords
variable
register
debugging
information
allocated
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.)
Expired - Fee Related
Application number
JP01301539A
Other languages
English (en)
Other versions
JPH03161842A (ja
Inventor
浩司 松下
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Fujitsu Ltd
Original Assignee
Fujitsu Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Fujitsu Ltd filed Critical Fujitsu Ltd
Priority to JP01301539A priority Critical patent/JP3085309B2/ja
Publication of JPH03161842A publication Critical patent/JPH03161842A/ja
Application granted granted Critical
Publication of JP3085309B2 publication Critical patent/JP3085309B2/ja
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Landscapes

  • Debugging And Monitoring (AREA)
  • Devices For Executing Special Programs (AREA)

Description

【発明の詳細な説明】 〔概要〕 レジスタ/領域割付けされた変数のデバッグを行うデ
バッグシステムに関し、 変数および変数の実体に割付けたレジスタ/領域をデ
バッグ情報として予め生成して保存しておき、デバッグ
時に中断点でこれを参照して該当するレジスタ/領域の
値を変更などし、利用者が最適化による変数の実体の場
所を意識することなく正しいデバッグを行い得るように
することを目的とし、 最適化によって変数に固定的に割付けたレジスタ/領
域および特定の時期だけ変数の実体に割付けたレジスタ
/領域の情報をデバッグ情報として予め生成して保存
し、デバッグ時にソースプログラムを展開した命令列の
中断した位置で、上記デバッグ情報を参照して変数およ
び変数の実体に割付けられているレジスタ/領域をアク
セスし、デバッグするように構成する。
〔産業上の利用分野〕
本発明は、レジスタ/領域割付けされた変数のデバッ
グを行うデバッグシステムに関するものである。
〔従来の技術と発明が解決しようとする課題〕
従来、最適化によってある特定の時期だけ領域の他に
レジスタを割付ける変数についてデバッグする場合、固
定的な領域あるいはレジスタだけを意識していたため、
局所的にレジスタを割り付けた変数について正しくデバ
ッグし得ないという問題があった。例えば第4図に示す
ように、文3の矢印の位置でプログラムの実行を中断し
ている時に、変数Aをデバッガの機能によってその値を
変更しようとする場合、変数Aに割りつけられた領域の
みの値を変更しても、このときに変数Aの結果に対して
最適化により一時的に図示のようにレジスタreg1も割付
けられているため、文の結果に反映させることができ
ず、正しくデバッグできないという問題があった。
本発明は、変数および変数の実体に割付けたレジスタ
/領域をデバッグ情報として予め生成して保存してお
き、デバッグ時に中断点でこれを参照して該当するレジ
スタ/領域の値を変更などし、利用者が最適化による変
数の実体の場所を意識することなく正しいデバッグを行
い得るようにすることを目的としている。
〔課題を解決する手段〕
第1図は、本発明の原理構成図を示す。
第1図において、ソースプログラム1は、デバッグを
行おうとする展開前のプログラムである。
展開された命令列2は、ソースプログラム1を展開し
た命令列であって、デバッグを行おうとする機械語のプ
ログラムである。
デバッグ情報3は、最適化によって変数に固定的に割
付けたレジスタ/領域および特定の時期だけ変数の実体
に割付けたレジスタ/領域の情報を予め生成して保存し
たものである。ここでは、特定の時期(例えば文2から
文3までの時期)だけ変数の実体に割り付けたレジスタ
のみを示す。
〔作用〕
本発明は、第1図に示すように、予めデバッグ情報3
を保存しておき、デバッグ時にソースプログラム1を展
開した命令列2の中断した位置で、デバッグ情報3を参
照して変数および変数の実体に割付けられているレジス
タ/領域を見つけ出してこれらをアクセスし、デバッグ
するようにしている。
従って、デバッガを用いてプログラムの実行を中断さ
せて変数の値を変更などしようとするときに、保存して
おいたデバッグ情報3を参照して該当するレジスタ/領
域の値を変更などすることにより、利用者が最適化によ
る変数の実体の場所を意識することなく、正しいデバッ
グを行うことが可能となる。
〔実施例〕 次に、第1図から第3図を用いて本発明の1実施例の
構成および動作を順次詳細に説明する。
第1図において、ソースプログラム1は、デバッグを
行おうとする展開前のプログラムであって、文1(A=
1)、文2(B=2)、文3(C=A+B)から構成さ
れている。
展開された命令列2は、ソースプログラム1を展開し
た命令列であって、ソースプログラム1の文1、文2、
文3を図示のように展開した機械語の命令列である。例
えば文1(A=1、1を変数Aに代入するというソース
プログラム)を、 LOAD reg1,1 ・・・・・・・・・・・・・(1) STORE reg1,A ・・・・・・・・・・・・・(2) に展開する。ここで、(1)は1をレジスタreg1にロー
ド、(2)はレジスタreg1の内容を変数Aに割り付けら
れた領域にストアするという命令列である。以下同様に
文2、文3を展開する。
デバッグ情報3は、翻訳時の最適化によって変数に固
定的に割付けたレジスタ/領域および特定の時期だけ変
数の実体に割付けたレジスタ/領域の情報を予め生成し
て保存したものである。ここでは、図示のようにAを文
2〜3までreg1に割り付けたという情報、および図示し
ないがA、Bを領域にそれぞれ割り付けたという情報を
生成して保存している。従って、デバッガによって文3
で矢印を用いて示した位置で中断したとき、変数Aの値
を変更しようとするとき、デバッグ情報3を参照してA
の領域の内容および変数Aの実体が存在するレジスタre
g1の内容の両者を変更などすることにより、正しくデバ
ッグすることができる。
第2図は、本発明に係るデバッグ情報例を示す。
第2図(イ)は、ソースプログラム1およびこのソー
スプログラム1の展開された命令列2を示す。
第2図(ロ)は、デバッグ情報3を示す。
データの情報は、第2図(イ)文1、文2、文3を
、、に対応づけた変数名、変数の属性、レジスタ
/領域の割付け情報などを持っている。
文の情報は、第2図(イ)文1、文2、文3の順番に
、、としてソースプログラム1上の行番号、展開
された命令列2のオフセットアドレスの情報などを持っ
ている。
レジスタ割付け情報は、局所的に変数の割付け先が変
わる旨の情報を持っている。ここで“Aがレジスタreg1
に2〜3まで”は、変数Aの実体がレジスタreg1に文2
から文3まで割り付けられているという情報である。
尚、変数Aの領域への固定的な割付けは、データの情報
が持っている。
次に、第3図フローチャートに示す順序に従い、第2
図を参照して本発明の1実施例の構成の動作を具体的に
説明する。
第3図において、は、文の情報より、現在どの文に
中断しているかを調べる。例えば第2図(イ)中断と記
載した位置で中断している場合、第2図(ロ)デバッグ
情報3のうちの文の情報のから文の先頭で中断してい
ることが判明する(具体的には中断点のオフセットアド
レスが含まれる文をの文3として見つけ出す)。
は、レジスタ割付け情報より、変数の実体がレジス
タ上にあるか調べる。例えば第2図(ロ)レジスタ割付
け情報を参照し、変数A、変数Bについてレジスタに割
りつけられているか調べると、変数Aが現在中断してい
る文3でレジスタreg1に割付けられていることが判明す
る。従って、変数Aについてでレジスタに割付けられ
ていると判明したので、レジスタ(レジスタreg1)の内
容を変更すると共にで領域の内容を変更する。一方、
変数Bについてでレジスタに割付けられていないと判
明したので、で領域の内容のみを変更する。
以上のように、デバッグ時に中断点で、デバッグ情報
3を参照して変数の実体が一時的にレジスタに割付けら
れていると判明したときに、この判明したレジスタの内
容および固定的に割付けられている領域の両者を変更す
ることにより、正しく変数の内容を変更してデバッグす
ることが可能となる。
〔発明の効果〕
以上説明したように、本発明によれば、デバッガを用
いてプログラムの実行を中断させて変数の値を変更など
しようとするときに、保存しておいたデバッグ情報3を
参照して変数に固定的に割付けられたレジスタ/領域お
よび一時的に変数の実体に割付けられたレジスタ/領域
の両者をアクセスする構成を採用しているため、利用者
が最適化による変数の実体の場所を意識することなく、
正しいデバッグを容易に行うことができる。
【図面の簡単な説明】
第1図は本発明の原理構成図、第2図は本発明に係るデ
バッグ情報例、第3図は本発明の動作説明フローチャー
ト、第4図は従来技術の説明図を示す。 図中、1はソースプログラム、2は展開された命令列、
3はデバッグ情報を表す。
───────────────────────────────────────────────────── フロントページの続き (58)調査した分野(Int.Cl.7,DB名) G06F 11/28,9/44

Claims (1)

    (57)【特許請求の範囲】
  1. 【請求項1】プログラムのデバッグを行うデバッグシス
    テムにおいて、 プログラム内の各変数がどのレジスタにどの範囲で割付
    られるかのレジスタ割付情報を含むデバッグ情報を記憶
    する記憶手段と、 デバッグ時に、プログラム内のどの位置で中断されてい
    るかを検出する検出手段と、 デバッグにより変数領域の内容を変更する場合、前記レ
    ジスタ割付情報に基づいて当該中断位置で当該変数レジ
    スタに割り付けられていると判定されるときは、当該レ
    ジスタの内容と共に、当該変数の領域の内容を変更する
    デバッグ手段とを有することを特徴とするデバッグシス
    テム。
JP01301539A 1989-11-20 1989-11-20 デバッグシステム Expired - Fee Related JP3085309B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP01301539A JP3085309B2 (ja) 1989-11-20 1989-11-20 デバッグシステム

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP01301539A JP3085309B2 (ja) 1989-11-20 1989-11-20 デバッグシステム

Publications (2)

Publication Number Publication Date
JPH03161842A JPH03161842A (ja) 1991-07-11
JP3085309B2 true JP3085309B2 (ja) 2000-09-04

Family

ID=17898156

Family Applications (1)

Application Number Title Priority Date Filing Date
JP01301539A Expired - Fee Related JP3085309B2 (ja) 1989-11-20 1989-11-20 デバッグシステム

Country Status (1)

Country Link
JP (1) JP3085309B2 (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101832391B1 (ko) * 2016-04-15 2018-02-26 조인남 무 껍질 제거장치

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101832391B1 (ko) * 2016-04-15 2018-02-26 조인남 무 껍질 제거장치

Also Published As

Publication number Publication date
JPH03161842A (ja) 1991-07-11

Similar Documents

Publication Publication Date Title
Olsson et al. A dataflow approach to event‐based debugging
JP3612294B2 (ja) デバッグ方法およびデバッグ装置
JPH06290084A (ja) 記号定義を再構成する方法と装置及びそれらに使用するコンピュータシステム
US5062039A (en) Sharing of workspaces in interactive processing using workspace name tables for linking of workspaces
US20020129336A1 (en) Automatic symbol table selection in a multi-cell environment
JPH10214203A (ja) 情報処理装置
JP3085309B2 (ja) デバッグシステム
JP3372106B2 (ja) プログラムデバッグ装置
JPS6220583B2 (ja)
JP2865291B2 (ja) モジュール結合制御方式
JPH07200350A (ja) ソフトウェアデバッガ
JPH10240581A (ja) Cpu時間測定装置
JPH0283749A (ja) マイクロプロセッサの内部割込み制御方式
JP2502128B2 (ja) コンパイラ装置
JPH0652507B2 (ja) マイクロコンピユ−タの開発装置
JP2591818B2 (ja) 補助機能の選択制御方法
JP2000227861A (ja) デバッグ方法及びデバッグ装置
JP2002189613A (ja) ソフトウェア開発支援装置、ソフトウェア開発支援方法及びソフトウェア開発支援プログラムを記録したコンピュータ読み取り可能な記録媒体
JPH0795288B2 (ja) マイクロコンピュータ
JPH01188957A (ja) プログラム例外処理方式
JPH1185531A (ja) 言語処理装置およびその言語処理装置を実現するプログラムが記録された記憶媒体
JPS6277656A (ja) プログラムデバッグ方式
JPH04324525A (ja) プログラム移植支援装置
JPH01188956A (ja) プログラム例外処理方式
JPH04134535A (ja) マルチタスクプログラムの例外情報採取機構

Legal Events

Date Code Title Description
LAPS Cancellation because of no payment of annual fees