JPH06222953A - デバッガのブレイク方法 - Google Patents

デバッガのブレイク方法

Info

Publication number
JPH06222953A
JPH06222953A JP5008842A JP884293A JPH06222953A JP H06222953 A JPH06222953 A JP H06222953A JP 5008842 A JP5008842 A JP 5008842A JP 884293 A JP884293 A JP 884293A JP H06222953 A JPH06222953 A JP H06222953A
Authority
JP
Japan
Prior art keywords
program
breakpoint
function
execution
break
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
Application number
JP5008842A
Other languages
English (en)
Inventor
Takashi Saito
隆 斉藤
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.)
Hitachi Ltd
Original Assignee
Hitachi 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 Hitachi Ltd filed Critical Hitachi Ltd
Priority to JP5008842A priority Critical patent/JPH06222953A/ja
Publication of JPH06222953A publication Critical patent/JPH06222953A/ja
Pending legal-status Critical Current

Links

Landscapes

  • Debugging And Monitoring (AREA)

Abstract

(57)【要約】 【目的】 本発明の目的は、プログラム実行状況に対し
てブレイクポイントを設定することを可能とすることに
ある。 【構成】 ブレイクポイント設定モジュール12は、ブレ
イクポイントに対応する中断点を設定すると同時にブレ
イクポイント情報6を保持する。ブレイクポイント実行
管理モジュール13は、プログラム実行中に中断点が現わ
れると、ブレイクポイント情報6とプログラム実行状況
情報7を参照して、ブレイク処理15を行うかどうかを判
断する。 【効果】 デバッグ作業を行いたいプログラム実行状況
を容易に作ることができ、その結果デバッグ作業が楽に
なる。

Description

【発明の詳細な説明】
【0001】
【産業上の利用分野】本発明は、プログラムの実行状況
に対してブレイクポイントを設定することができるデバ
ッガのブレイク方法に係わる。
【0002】
【従来の技術】プログラムのデバッグのために、任意の
時点でプログラムの実行を中断して、各種の変数等の内
容を調べることがよく行われる。そのためデバッガに
は、ユーザによりソースプログラムの特定位置に実行中
断点を設定するための機能がある。これをブレイクポイ
ントの設定機能という。ブレイクポイントの設定にあた
っては、従来、ソースプログラムの行番号、ないしそれ
に相当する画面情報上の位置で行単位に指定するのが一
般的である。ブレイクポイントの設定を始めとする従来
技術におけるデバッガのコマンドに関しては、「UNIX S
ystem V プログラマ・リファレンス・マニュアル 第2
版 リリース3.0」(発行所:UNIXシステムラボラトリー
ズ パシフィック;発売元:共立出版、1985)pp.117-1
26のSDBコマンドの解説に詳しい。
【0003】
【発明が解決しようとする課題】プログラムをデバッグ
する際には、プログラム上のエラーが発生した位置周辺
にブレイクポイントを設定することによりプログラム実
行中に制御がそこに至ったときに実行を中断し、プログ
ラムの実行状況を調べるということをよく行なう。
【0004】従来のデバッガでは、ブレイクポイントを
設定するプログラム上の位置を指定することはできた
が、プログラム実行時の時間的な位置を指定することが
できなかった。そのため、プログラム実行の制御がブレ
イクポイントを設定したソーステキスト上の位置に至る
度にブレイク処理が実行され、その度にユーザがそのプ
ログラム実行時の時間位置が実行状況を調べたい時間位
置であるかどうかを検査する必要があった。
【0005】本発明の目的は、ユーザがプログラム上の
位置およびプログラム実行時の時間位置からなるプログ
ラム実行状況に対してブレイクポイントを設定できるよ
うにすることよって、ユーザが容易にデバッグを行なえ
るようにすることである。
【0006】
【課題を解決するための手段】上記の課題を解決するた
めに、デバッガを次のようにモジュール構成する。 (1)ソースファイルを参照して、ソース情報および実行
可能プログラムもしくはインタプリタで実行可能な中間
コードプログラムを作成するコンパイル処理モジュー
ル。 (2)ユーザが入力したコマンドをソースファイル情報を
参照して解析し、必要に応じて(3)、(4)、(6)の処理モ
ジュールを呼び出すコマンド解析モジュール。 (3)ユーザがブレイクポイント設定要求を発行したとき
に、コマンド解析モジュールから呼び出されて、ブレイ
クポイントに対応する中断点を実行プログラムに設定
し、同時にブレイクポイントの情報をブレイクポイント
情報として管理するブレイクポイント設定モジュール。 (4)ユーザがプログラム実行要求を発行したときに、コ
マンド解析モジュールから呼び出されて、プログラムの
実行状況をプログラム実行状況情報として管理しつつ、
プログラムの実行を行なうプログラム実行管理モジュー
ル。さらにこのモジュールは、プログラム実行中に中断
点が現われたときにブレイクポイント情報とプログラム
実行状況情報を参照して、ブレイク処理を行うかどうか
を判定する。
【0007】(5)プログラム実行中にユーザが設定した
ブレイクポイントに至ったときに、プログラム実行管理
モジュールから呼び出されて、ブレイク処理を行なうブ
レイク処理モジュール。 (6)ユーザがソース表示要求を発行したときにコマンド
解析モジュールから呼び出されたり、プログラム実行中
にプログラム実行管理モジュールから呼び出された場
合、ソースファイル情報を参照してソースの表示を行な
うソース表示モジュール。 ただし(1)のコンパイル処理モジュールは、デバッガ処
理とは独立した外部処理として別に構成されることもあ
りうる。
【0008】
【作用】本発明によれば、プログラム実行中に実行プロ
グラム中に中断点が現われると、ブレイクポイント情報
からプログラム実行をブレイクする時点の情報を得て、
それをプログラム実行状況情報と比較してブレイク処理
を行なうかどうかを判定する。この機能により、ブレイ
ク処理を行なうプログラム実行上の時間的な位置を制御
することができる。その結果、ユーザはより細かなブレ
イクポイント設定を行うことができ、容易に実行時エラ
ーのデバッグを行なうことができる。
【0009】
【実施例】図1は、本発明におけるデバッガの一実施例
の構成図である。本実施例では、デバッグ処理1の前
に、コンパイル処理2がソースファイル3からオブジェ
クトファイル4とソース情報ファイル5を作成してい
る。デバッグ処理1は、ソースファイル3、オブジェク
トファイル4、ソース情報ファイル5を入力ファイルと
して、入力手段8を通して行なわれたユーザの指示に従
いデバッグ処理を行う。本実施例では、オブジェクトフ
ァイル4とは独立してソース情報ファイル5があるが、
オブジェクトファイル4中に本実施例におけるソース情
報ファイル5中の情報が入れることによりソース情報フ
ァイル5をなくすことも可能である。
【0010】デバッグ処理1は、以下のモジュールから
構成される。 (1)コマンド解析モジュール11 入力手段8を通して行なわれたユーザの指示を、ソース
情報ファイル5を用いて解析する。 (2)ブレイクポイント設定モジュール12 ユーザが指定したブレイクポイントに対応する中断点を
実行プログラムに設定し、ブレイクポイントが設定され
た位置情報をブレイクポイント情報6として管理する。
【0011】(3)プログラム実行管理モジュール13 ユーザの指示に従ってプログラムを実行し、ソース情報
ファイル5を参照してプログラムの実行を管理する。プ
ログラム実行中、ブレイク機能実現のために必要な情報
はプログラム実行状況情報7として管理する。プログラ
ム実行中に中断点が現われたとき、ブレイクポイント情
報6とプログラム実行状況情報7を参照して、ブレイク
処理15を行なうかどうかを判定する。
【0012】(4)ソース表示モジュール14 ユーザの指示に従ってソーステキストを表示したり、プ
ログラム実行状況をユーザに知らせるためにソーステキ
ストを表示したりする。 (5)ブレイク処理モジュール15 ユーザが設定したブレイクポイントにおいて、必要な処
理を行なう。
【0013】まず、特定の呼び出され方をする関数中
に、ブレイクポイントを設定するデバッグ処理1の実施
例について述べる。本実施例では、ソース情報ファイル
5には、ソーステキストと実行プログラム中の位置を対
応づけるソーステーブル51、ソーステキスト中の関数定
義位置情報をもつ関数定義テーブル52、ソーステキスト
中の関数呼び出し位置情報をもつ関数呼び出しテーブル
53がある。図2のようなソースプログラム例に対して、
図3のようなソーステーブル51、図4のような関数定義
テーブル52、図5のような関数呼び出しテーブル53がソ
ース情報ファイル5に入っている。
【0014】ソーステーブル51は、ソーステキスト上の
位置(ファイル識別子511、行番号512、列番号513)と
実行プログラム上の位置(プログラム位置514)を対応
づけて保持している。関数定義テーブル52は、関数の識
別子(関数定義識別子欄521)、関数名(関数名欄52
2)、関数の定義が行なわれたテキスト位置情報(ファ
イル識別子欄523、行番号欄524、行数欄525)を対応づ
けて保持している。関数呼び出しテーブル53は、呼び出
し位置ごとに異なった値をもつ被呼び出し関数の識別子
(関数呼び出し識別子欄531)、関数の識別子(関数定
義識別子欄532)、関数の呼び出しが行なわれたテキス
ト位置情報(ファイル識別子欄533、行番号欄534、列番
号欄555)を対応づけて保持している。
【0015】本実施例では、ブレイクポイント情報6は
ブレイクポイントが設定された関数の被呼び出し構造で
あり、図6に示すブレイクポイントテーブル61として管
理される。ブレイクポイントテーブル61は、プログラム
位置欄611と関数被呼び出し構造欄612からなり、それぞ
れブレイクポイントに対応する中断点の実行プログラム
中の位置、関数の呼び出され方を表現する被呼び出し関
数テーブル613のリストへのポインタを保持する。被呼
び出し関数テーブル613は、関数呼び出し識別子6131、
関数定義識別子6132、次ポインタ6133からなる。図6に
示すブレイクポイントテーブル61にある二つのエントリ
は、図2のプログラムにおいて、main関数から呼び出さ
れたtarai関数の16行目で呼び出されるtarai関数の13行
目に設定されたブレイクポイント、および被呼び出し構
造に関係なくtarai関数の8行目に設定されたブレイク
ポイントを表現している。
【0016】本実施例では、プログラム実行状況情報7
はプログラム実行中の関数呼び出し構造であり、図7に
示す関数呼び出し構造スタック71として管理される。関
数呼び出し構造スタック71は、関数定義識別子711と関
数呼び出し識別子712を組みにして、スタックポインタS
P713を操作してプッシュ/ポップすることにより、関数
の呼び出し構造を管理する。
【0017】本実施例では、プログラム実行管理モジュ
ール13は、図8に示すようにプログラム実行モジュール
1311、中断点処理モジュール1312、関数呼び出し構造管
理モジュール1313から構成されている。プログラム実行
モジュール1311はオブジェクトファイル4中の実行プロ
グラムを実行する。中断点処理モジュールは1312はブレ
イクポイントテーブル61と関数呼び出し管理スタック71
を参照してブレイク処理15を行うかどうかを判定する。
関数呼び出し構造管理モジュール1313は関数呼び出し管
理スタック71を管理する。
【0018】図9は、プログラム実行モジュール1311の
処理を表すフローチャートである。プログラム実行処理
モジュール1311は、次に実行する命令を実行プログラム
より読み込むステップ13111、読み込まれた命令位置に
中断点が設定されているかどうかを判別するステップ13
112、中断点処理モジュール1312を呼び出すステップ131
13、読み込まれた命令が関数呼び出し命令もしくは関数
戻り命令であるかどうかを判別するステップ13114、関
数呼び出し構造管理モジュール133を呼び出すステップ1
3115、読み込まれた命令を実行するステップ13116、次
のプログラム命令を実行するかどうかを判別するステッ
プ13117から構成される。
【0019】図10は、中断点処理モジュール1312の処理
を表すフローチャートである。中断点処理モジュール13
12は、変数OBPに次に実行する実行プログラム位置を代
入するステップ13121、変数ENTにブレイクポイントテー
ブル61中のまだ調べられていないエントリを代入するス
テップ13122、ENTがNILであるかどうか判定するステッ
プ13123、変数EBPにENTのプログラム位置欄611の値を代
入するステップ13124、OBPとEBPの値を比較するステッ
プ13125、図11のフローチャートで示される関数呼び出
し構造チェックを行ないその結果を変数CNDに代入する
ステップ13126、CNDの値が”一致”か”不一致”である
かを判定するステップ13127、ブレイク処理モジュール1
5を呼び出すステップ13128からなる。
【0020】図11は、関数呼び出し構造チェックの処理
を表すフローチャートである。関数呼び出し構造チェッ
クは、変数CPに関数呼び出し構造管理スタックのスタッ
クポインタSP713の値を代入するステップ131281、変数P
TRに図10の中断点処理におけるENTの関数被呼び出し構
造欄中612の値を代入するステップ131282、PTRがNILで
あるかどうかを判別するステップ131283、変数DIDにPTR
が指す被呼び出し関数テーブル613の関数定義識別子欄6
131の値を代入するステップ131284、DIDとCPが指す関数
呼び出し構造スタック71中の関数定義識別子711の値と
を比較するステップ13285、変数CIDにPTRが指す被呼び
出し関数テーブル613の関数呼び出し識別子欄6132の値
を代入するステップ131286、CIDとCPが指す関数呼び出
し構造スタック71中の関数定義識別子712の値とを比較
するステップ13287、CPの値をデクリメントし関数呼び
出し構造スタックの一つ前のスタックエントリを指すよ
うにするステップ131288、PTRにPTRが指す関数呼び出し
テーブル613の次ポインタ欄6133の値を代入するステッ
プ131289、”一致”を関数呼び出し構造チェックの戻り
値として返して終了するステップ131290、”不一致”を
関数呼び出し構造チェックの戻り値として返して終了す
るステップ131291からなる。
【0021】図12は、関数呼び出し構造管理モジュール
1313の処理を表すフローチャートである。関数呼び出し
構造管理モジュール1313は、次に実行する命令が関数呼
び出し命令か関数戻り命令かを判別するステップ1313
1、スタックポインタSP713が指す関数呼び出し構造管理
スタック71のエントリ領域に次に呼び出す関数の関数呼
び出し識別子と関数定義識別子をプッシュするステップ
13132、SP713の値をインクリメントして関数呼び出し構
造管理スタック71からエントリを一つポップするステッ
プ13133、SP713の値をデクリメントして関数呼び出し構
造管理スタック71の新たなエントリ領域を指すようにす
るステップ13134、ソース表示モジュールを呼び出す14
を呼び出すステップ13135からなる。
【0022】本実施例では、ソース表示モジュール14
は、プログラム実行中に関数呼び出し構造管理モジュー
ル133から呼び出されて、図13のような関数被呼び出し
構造表示領域1411と関数ソーステキスト表示領域1412を
もつ関数表示領域141を生成したり消去したりする。例
えばソース表示モジュール14は、main関数の6行目でta
rai関数が呼びだされて現在tarai関数の4行目を実行し
ている状況では、図14のような二つの関数表示領域を生
成する。またユーザのソース表示指示を受けた場合、ソ
ース表示モジュール14はコマンド解析モジュール11から
呼び出されて、関数表示領域141を生成する。例えばmai
n関数の5行目を実行する時点でユーザがmain関数の6
行目で呼び出されるtarai関数を表示することを指示し
た場合、ソース表示モジュール14は図15のような関数領
域141を生成する。
【0023】本実施例では、ユーザは関数ソーステキス
ト表示領域1412においてブレイクポイントを設定する位
置を指定することができる。このときブレイクポイント
は、ユーザが指定した関数ソーステキスト上の位置でか
つ関数ソーステキスト表示領域1412と対応した関数被呼
び出し構造表示領域に表示されている被呼び出し構造を
もつ関数に対して設定される。またユーザは、関数ソー
ステキスト表示領域1412において、そこから呼び出され
る関数を指定することにより、それに対する関数表示領
域141を作成することができる。
【0024】次に、有効範囲をもったブレイクポイント
を設定するデバッグ処理の実施例について述べる。本実
施例においては、デバッグ処理1が入力するソース情報
ファイル5には、ソーステーブル51だけがある。本実施
例では、ブレイクポイント情報6はブレイクポイントが
設定された関数の有効/無効を切り替える実行プログラ
ム中の位置であり、図16に示すブレイクポイントテーブ
ル62として管理される。ブレイクポイントテーブル62
は、ブレイクポイント識別子欄621、プログラム位置欄6
22、開始位置欄623、終了位置欄624からなる。それぞれ
ブレイクポイントの識別子、ブレイクポイントに対応す
る中断点を設定した実行プログラム中の位置、ブレイク
ポイントを有効とする実行プログラム中の位置、ブレイ
クポイントを無効とする実行プログラム中の位置を保持
する。図16に示すブレイクポイントテーブル62にある二
つのエントリは、図2のプログラムにおいて、プログラ
ム実行の最初からtarai関数の17行目が実行されるまで
有効なmain関数の13行目に設定されたブレイクポイント
およびmain関数の7行目が実行されてからtarai関数の1
4行目のreturn文が実行されるまで有効なtarai関数の14
行目のreturn文に設定されたブレイクポイントを表現し
ている。
【0025】本実施例では、プログラム実行状況情報7
はブレイクポイントの有効/無効を判定するフラグであ
り、図17に示すブレイクポイント有効フラグテーブル72
として管理される。ブレイクポイント有効フラグテーブ
ル72は、ブレイクポイント識別子欄721と有効フラグ欄7
22からなる。それぞれブレイクポイントの識別番号、ブ
レイクポイントの有効/無効を表す”ON”/”OFF”値
をもつ。
【0026】本実施例では、プログラム実行管理モジュ
ール13は、図18に示すようにプログラム実行モジュール
1321、中断点処理モジュール1322、ブレイクポイント管
理モジュール1323から構成されている。プログラム実行
モジュール1321はオブジェクトファイル4中の実行プロ
グラムを実行する。中断点処理モジュールは1322はブレ
イクポイントテーブル62とブレイクポイント有効フラグ
テーブル72を参照してブレイク処理15を行うかどうかを
判定する。ブレイクポイント管理モジュール1323はブレ
イクポイント有効フラグテーブル72を管理する。
【0027】図19は、プログラム実行モジュール1321の
処理を表すフローチャートである。プログラム実行処理
モジュール1321は、次に実行する命令を実行プログラム
より読み込むステップ13211、ブレイクポイント管理モ
ジュール1323を呼び出すステップ13212、読み込まれた
命令に中断点が設定されているかどうかを判別するステ
ップ13213、中断点処理モジュール1322を呼び出すステ
ップ13214、読み込まれた命令を実行するステップ1321
5、次のプログラム命令を実行するかどうかを判別する
ステップ13216から構成される。
【0028】図20は、中断点処理モジュール1322の処理
を表すフローチャートである。中断点処理モジュール13
22は、変数OBPに次に実行する命令の実行プログラム中
の位置を代入するステップ13221、変数ENTにブレイクポ
イントテーブル62中のまだ調べられていないエントリを
代入するステップ13222、ENTがNILであるかどうか判定
するステップ13223、変数EBPにENTのプログラム位置欄6
22の値を代入するステップ13224、OBPとEBPの値を比較
するステップ13225、変数BIDにENTのブレイクポイント
識別子欄621の値を代入するステップ13226、ブレイクポ
イント有効フラグテーブル72のブレイクポイント識別子
欄721の値がBIDであるエントリの有効フラグ欄722の値
が”ON”/”OFF”のいずれであるかを判別するステッ
プ13227、ブレイク処理モジュール15を呼び出すステッ
プ13228、ソース表示モジュールを呼び出すステップ132
29からなる。
【0029】図21は、ブレイクポイント管理モジュール
1323の処理を表すフローチャートである。ブレイクポイ
ント管理モジュール1323は、変数OBPに次に実行する命
令の実行プログラム中の位置を代入するステップ1323
1、変数ENTにまだ調べていないブレイクポイントテーブ
ル72のエントリを代入するステップ13232、ENTがNILで
あるかどうかを判別するステップ13233、OBPとENTの開
始位置欄623の値とを比較するステップ13234、OBPとENT
の終了位置欄624の値とを比較するステップ13235、変数
BIDにENTのブレイクポイント識別子欄の値を代入するス
テップ13236、ブレイクポイント有効フラグテーブル72
のブレイクポイント識別子欄721の値がBIDであるエント
リの有効フラグ欄722の値を”ON”にするステップ1323
7、ブレイクポイント有効フラグテーブル72のブレイク
ポイント識別子欄721の値がBIDであるエントリの有効フ
ラグ欄722の値を”OFF”にするステップからなる。
【0030】
【発明の効果】本発明によれば、プログラムの実行状況
に対してブレイクポイントを設定することが可能にな
り、その結果ユーザのデバッグ作業が楽になる。
【図面の簡単な説明】
【図1】本発明におけるプログラム実行状況にブレイク
ポイントが設定できるデバッガの一実施例の構成図を示
す。
【図2】ソースプログラムの例を示す。
【図3】行テーブルの例を示す。
【図4】第一実施例で用いる関数定義テーブルの例を示
す。
【図5】第一実施例で用いる関数呼び出しテーブルの例
を示す。
【図6】第一実施例で用いるブレイクポイントテーブル
の例を示す。
【図7】第一実施例で用いる関数呼び出し構造管理スタ
ックの例を示す。
【図8】第一実施例のプログラム管理モジュールの構成
図の例を示す。
【図9】第一実施例のプログラム実行モジュールにおけ
る処理フローチャートの例を示す。
【図10】第一実施例の中断点処理モジュールにおける
処理フローチャートの例を示す。
【図11】第一実施例の関数呼び出し構造チェック処理
のフローチャート例を示す。
【図12】第一実施例の関数呼び出し構造管理モジュー
ルにおける処理フローチャートの例を示す。
【図13】第一実施例におけるソース表示例を示す。
【図14】第一実施例におけるプログラム実行中のソー
ス表示例を示す。
【図15】第一実施例におけるユーザ指示を受けたとき
のソース表示例を示す。
【図16】第二実施例におけるブレイクポイントテーブ
ルの例を示す。
【図17】第二実施例におけるブレイクポイント有効フ
ラグテーブルの例を示す。
【図18】第二実施例のプログラム実行管理モジュール
の構成図の例を示す。
【図19】第二実施例におけるプログラム実行モジュー
ルの処理フローチャート例を示す。
【図20】第二実施例における中断点処理モジュールの
処理フローチャート例を示す。
【図21】第二実施例におけるブレイクポイント管理モ
ジュールの処理フローチャート例を示す。
【符号の説明】
1…デバッグ処理、3…ソースファイル、4…オブジェ
クトファイル、5…ソース情報ファイル、6…ブレイク
ポイント情報、7…プログラム実行状況情報、8…表示
/入力装置。

Claims (7)

    【特許請求の範囲】
  1. 【請求項1】プログラムの実行状況にブレイクポイント
    を設定することができるデバッガのブレイク方法であっ
    て、 ユーザが指定したブレイクポイントに対して、中断点を
    実行可能プログラムもしくはインタプリタが実行可能な
    中間コード(以下、併せて実行プログラム)に設定する
    と同時にブレイクポイントの情報をブレイクポイント情
    報として管理するステップ、 プログラムを実行しながら、プログラムの実行状況をプ
    ログラム実行状況情報として管理するステップ、 ソーステキストをプログラムの実行状況と併せて表示す
    るステップ、 ブレイクポイントにおける処理を行なうステップを有
    し、 プログラム実行中に現われる中断点において、ブレイク
    ポイント情報とプログラム実行状況情報を参照すること
    により、ブレイク処理を行なうかどうかを判定すること
    を特徴としたデバッガのブレイク方法。
  2. 【請求項2】請求項1記載のデバッガのブレイク方法で
    あって、 ブレイクポイント情報がブレイクポイントが設定された
    関数の被呼び出し構造と実行プログラム上の位置であ
    り、 プログラム実行状況情報がプログラム実行中の関数呼び
    出し構造であり、 プログラム実行中に中断点が現われた場合、対応する一
    つ以上のブレイクポイントにおいて、ブレイクポイント
    が設定された関数の被呼び出し構造が実行プログラムの
    実行中に現時点の関数を呼び出した関数の呼び出し構造
    のすべてもしく一部と同一である場合のみブレイク処理
    を行うことを特徴とするデバッガのブレイク方法。
  3. 【請求項3】請求項1記載のデバッガのブレイク方法で
    あって、 ブレイクポイント情報がブレイクポイントが設定された
    実行プログラム上の位置とそのブレイクポイントの有効
    /無効を切り替える実行プログラム上の位置であり、 プログラム実行状況情報が実行プログラムの現実行時点
    におけるすべてのブレイクポイントの有効/無効を表す
    ブレイクポイント有効フラグであり、 プログラムの実行中に中断点が現われた場合、対応する
    一つ以上のブレイクポイントにおいて、ブレイクポイン
    ト有効フラグが”有効”を示している場合のみブレイク
    処理を行うことを特徴とするデバッガのブレイク方法。
  4. 【請求項4】デバッガのソーステキスト表示方法におい
    て、 関数のソーステキストとプログラム実行中のその関数呼
    び出し構造を表示する領域(以下、関数表示領域と呼
    ぶ)を生成/消滅させるステップ、 プログラムの実行中に関数呼び出し構造と対応付けて複
    数の関数表示領域の構成を管理するステップを有するこ
    とにより、 ユーザが関数表示領域の構成を見るだけで、プログラム
    実行中の関数呼び出し構造を理解することができること
    を特徴とするデバッガのソーステキスト表示方法。
  5. 【請求項5】デバッガやプログラムエディタのソーステ
    キスト表示方法において、 関数ソーステキストをスキャンしてその内部における関
    数呼び出し情報を生成するステップ、 プログラムの関数呼び出し構成を管理するステップ、 関数表示領域を生成/消滅させるステップ、 ユーザが関数表示領域中でそこから呼び出される特定の
    関数を指定することにより、指定関数の関数表示領域を
    生成させることができることを特徴とするソーステキス
    ト表示方法。
  6. 【請求項6】請求項2記載のデバッガのブレイク方法
    で、 請求項4記載ソーステキスト表示方法もしくは請求項5
    記載のソーステキスト表示方法もしくはその両方のソー
    ステキスト表示方法をもち、 ユーザが関数表示領域中でブレイクポイントの設定を行
    うことができることを特徴とするデバッガのブレイク方
    法。
  7. 【請求項7】変数値のデバッグ方法で、 特定プログラム実行状況にブレイクポイントを設定する
    ステップ、 ブレイクポイントおいて自動的に指定された変数の値を
    調べて変数値トレーステーブルに登録しその後継続して
    プログラムを実行するステップを有し、 ユーザが変数の値を調べたい特定プログラム実行状況を
    指定してプログラムを実行することにより、プログラム
    実行後に変数値トレーステーブル中の情報をもとに変数
    値のデバッグ情報を表示することを特徴とする変数値の
    デバッグ方法。
JP5008842A 1993-01-22 1993-01-22 デバッガのブレイク方法 Pending JPH06222953A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP5008842A JPH06222953A (ja) 1993-01-22 1993-01-22 デバッガのブレイク方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP5008842A JPH06222953A (ja) 1993-01-22 1993-01-22 デバッガのブレイク方法

Publications (1)

Publication Number Publication Date
JPH06222953A true JPH06222953A (ja) 1994-08-12

Family

ID=11704027

Family Applications (1)

Application Number Title Priority Date Filing Date
JP5008842A Pending JPH06222953A (ja) 1993-01-22 1993-01-22 デバッガのブレイク方法

Country Status (1)

Country Link
JP (1) JPH06222953A (ja)

Similar Documents

Publication Publication Date Title
US6658649B1 (en) Method, apparatus and article of manufacture for debugging a user defined region of code
US7299456B2 (en) Run into function
US20030115576A1 (en) Breakpoint safety net
JP2000122886A (ja) 半導体試験装置のプログラム作成方式
US20030018957A1 (en) Debugger monitor with anticipatory highlights
JPH06222953A (ja) デバッガのブレイク方法
JPH0554277A (ja) プラント監視装置
US20050071786A1 (en) Timing and distance control for displaying dynamic information
JPH02275539A (ja) デバッグ処理方式
JPH02220145A (ja) プログラムトレース方式
JPS63268040A (ja) プログラムデバツグ方式
JPS61180344A (ja) 高級言語のステツプ実行システム
US20050015677A1 (en) Method of executing a computer program
JPH10232795A (ja) ソフトウェア部品組み合わせテスト方法
JPH06231001A (ja) シンボル名入力装置
JPH04333146A (ja) デバッグにおけるプログラムの実行制御方式
JPS6292033A (ja) プログラムデバツグ装置
JPS6292034A (ja) プログラムデバツグ装置
JPH01244547A (ja) プログラム開発デバッグ支援方式
JPH05342052A (ja) デバッグ方式
JPH02115951A (ja) 高級言語プログラム保守デバッグ方式
JPS62140148A (ja) デバツガにおけるコマンド入力装置
JPH0546434A (ja) プログラムデバツグ方式
JPH08286710A (ja) シーケンス制御モニタ
JPH06250876A (ja) 対話型デバック支援システム