JP2000029740A - デバッガにおけるイベントの管理装置および方法 - Google Patents

デバッガにおけるイベントの管理装置および方法

Info

Publication number
JP2000029740A
JP2000029740A JP10200022A JP20002298A JP2000029740A JP 2000029740 A JP2000029740 A JP 2000029740A JP 10200022 A JP10200022 A JP 10200022A JP 20002298 A JP20002298 A JP 20002298A JP 2000029740 A JP2000029740 A JP 2000029740A
Authority
JP
Japan
Prior art keywords
event
address
program
code
management table
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.)
Granted
Application number
JP10200022A
Other languages
English (en)
Other versions
JP2990159B1 (ja
Inventor
Tomomi Yoshizawa
智美 吉澤
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.)
NIPPON DENKI MICOM TECHNOLOGY
NIPPON DENKI MICOM TECHNOLOGY KK
Original Assignee
NIPPON DENKI MICOM TECHNOLOGY
NIPPON DENKI MICOM TECHNOLOGY KK
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 NIPPON DENKI MICOM TECHNOLOGY, NIPPON DENKI MICOM TECHNOLOGY KK filed Critical NIPPON DENKI MICOM TECHNOLOGY
Priority to JP10200022A priority Critical patent/JP2990159B1/ja
Application granted granted Critical
Publication of JP2990159B1 publication Critical patent/JP2990159B1/ja
Publication of JP2000029740A publication Critical patent/JP2000029740A/ja
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Landscapes

  • Debugging And Monitoring (AREA)

Abstract

(57)【要約】 【課題】 イベント設定後のロードモジュール更新にお
いて、ロードモジュール更新前後のアドレス,コードの
変化をユーザに警告する方式を提供する。 【解決手段】 イベントの実行制御などを行う上位イベ
ント制御部18と、上位イベント制御部18でソース情
報をもとにして作成されたイベント情報を格納するイベ
ント管理テーブル20とがある。上位イベント制御部1
8は、イベントについてロードモジュール更新前後でソ
ース行番号,アドレス,コードの変更がなかったかどう
かをイベント管理テーブル20と更新後のロードモジュ
ール内のソース情報とを比較する。変更がなかったイベ
ントについてはそのまま保存し、変更があったイベント
については警告を発生し、ユーザに指示を受ける。

Description

【発明の詳細な説明】
【0001】
【発明の属する技術分野】本発明は、デバッグ作業中に
行われるロードモジュール更新後のイベントの有効/無
効を自動的に判別することに関する。
【0002】
【従来の技術】従来、ユーザの作成したプログラムの動
作の検証を行うデバッグ作業を行うデバッガは、ユーザ
がプログラムに与える指示を管理するユーザインタフェ
ース部、プログラムを実行するエミュレーション部、ユ
ーザの指示を入力する入力装置、実行結果を表示する出
力装置から構成されている。さらにエミュレーション部
には、エミュレーションが特定の状態かどうかを確認
し、エミュレーションの制御を行なうイベント制御部が
存在する。
【0003】このようなデバッガにおいて、ユーザは、
作成したプログラムをコンパイル,リンクし、ロードモ
ジュールとしてユーザインタフェース部を介してエミュ
レーション部にダウンロードし、プログラムのエミュレ
ーションを行う。デバッグ中にイベントを設定した場合
は、エミュレーション中にその設定されたイベントの状
態になった時点で、デバッガはエミュレーションを中断
したり、あらかじめ設定したアドレスのメモリの内容を
書き出したり、特定のアドレスに実行制御を移したりと
いった動作をする。このイベントを設定する場合に、プ
ログラムのソース情報を使用する。つまり、ユーザの指
定する特定のプログラム行番号を実行したときに、イベ
ントを発生させる。
【0004】デバッガは、プログラム行番号をイベント
として設定した場合、その行番号に対応するアドレスを
実際のイベント情報としてエミュレーション部のイベン
ト制御部に設定する。エミュレーション時には、設定さ
れたアドレスを実行したとき等に、あらかじめイベント
制御部に設定された動作を発生させる。
【0005】
【発明が解決しようとする課題】従来のデバッガでは、
イベント設定後に、ソースプログラムを更新し、コンパ
イル,リンクした後ロードモジュールの更新を行い、ダ
ウンロードを行った場合に(以下、コンパイル〜ダウン
ロードまでの一連の作業をロードモジュールの更新と呼
ぶ)、ユーザの意図しない個所でイベントが発生してし
まったり、逆にユーザがイベントを発生させたい個所で
あるにもかかわらずイベントが発生しなくなるという問
題がある。これは、ロードモジュール更新後のイベント
正当性の保証について何ら考慮しておらず、ロードモジ
ュール更新前にイベントで設定したアドレスやコード
と、ロードモジュール更新後のアドレスやコードとに矛
盾が生じてしまうためである。
【0006】つまり、イベントの矛盾をチェックする手
段が従来のデバッガには設けられておらず、ロードモジ
ュールの更新の前後でイベントの矛盾を発生させないた
めには全てのイベントを削除するしか方法がなかった。
ロードモジュール更新時にイベントを全部削除してしま
ったとすると、ユーザは全てのイベント設定をやり直さ
なければならなくなる。
【0007】本発明の目的は、ソース情報を含むイベン
トを設定する機能を有するデバッガにおいて、デバッグ
作業中にロードモジュールの更新を行ない、ダウンロー
ドを行なった後でもロードモジュール更新前のイベント
情報のうちで、無効,有効なものを自動判別してデバッ
グ作業が続けられるデバッグにおけるイベントの管理装
置および方法を提供することにある。
【0008】本発明の他の目的は、アドレス,コードを
もとにしたイベント情報を生成し、そのイベント情報と
ロードモジュール更新後に生成されたアドレス,コード
とを比較することで、イベントの無効,有効を自動的に
判別するプログラムを記録した記録媒体を提供すること
にある。
【0009】
【課題を解決するための手段】本発明は、プログラムの
動作の検証を行うデバッグにおけるイベントの管理装置
であって、この装置は、デバッグ作業中に、前記プログ
ラムのソース情報をもとにしてイベント情報を生成する
ことによりイベントを設定し、設定されたイベントを実
行制御し、前記プログラムの更新前後のイベントの有効
/無効の判断を行うイベント制御部と、前記生成された
イベント情報を格納するイベント管理テーブルとを備え
ている。
【0010】このイベント管理装置では、デバッグ作業
中に前記プログラムのソース情報をもとにして、イベン
トID,ソースファイル名,ソース行番号,ソース行の
先頭アドレス,先頭アドレスの示すメモリ上のコードと
を含むイベント情報を生成し、生成したイベント情報
を、イベント管理テーブルに登録し、前記プログラムの
更新後に、前記イベント管理テーブルのアドレス,コー
ドと、前記更新後のプログラム内のアドレス,コードと
をソース行ごとに比較し、前記比較の結果一致していな
ければ、イベントは無効であると判断し、警告を表示
し、前記比較の結果一致していれば、イベントは有効で
あると判断する。
【0011】また、このイベント装置では、デバッグ作
業中に前記プログラムのソース情報をもとにして、イベ
ントID,ソースファイル名,ソース行番号,ソース行
の先頭アドレス,先頭アドレスの示すメモリ上の第1〜
第Nコードと(Nは2以上の整数である。)、前記更新
後のプログラム内のアドレス,第1〜第Nコードとをソ
ース行ごとに比較し、前記比較の結果一致していなけれ
ば、イベントは無効であると判断し、警告を表示し、前
記比較の結果一致していれば、イベントは有効であると
判断する。
【0012】
【発明の実施の形態】本発明の実施例について図1を用
いて説明をする。図1は、本発明のデバッガにおけるイ
ベントの管理装置を説明するためのデバッガを示すブロ
ック図である。なおこの発明に係るイベントの管理装置
は、図1に示すデバッガ部10に相当する。図1に示す
ように、デバッガは、マウス等の入力装置12と、ディ
スプレイ等の出力装置14と、デバッガ部10と、デバ
ッガ部10と通信しながらターゲットCPUエミュレー
ションを行なうエミュレーション部16とで構成されて
いる。
【0013】デバッガ部10は、デバッガ内でイベント
の実行制御を行いソース情報に基づくイベント情報を生
成する上位イベント制御部18と、生成したイベント情
報を管理するイベント管理テーブル20とを備えてい
る。また、エミュレーション部22は、イベント情報に
基づくターゲットCPUやメモリ等の状態を常に監視
し、イベントを制御する下位イベント制御部24を備え
ている。また、イベント情報に必要な情報は、ソース情
報とコードとにイベント識別のためのイベントIDを付
加したものである。ソース情報は、ソースファイル名,
ソース行番号,ソース行の先頭アドレスを含んでいる。
コードは、ソース行の先頭アドレスが示すメモリ上のコ
ードである。イベント情報は、イベントID,ソース情
報,コードより構成される。また、このコードは複数の
コードを持つことが可能である。
【0014】上位イベント制御部18は、デバッグ作業
中に、ソース行上へのイベントの生成指示が入力装置1
2より入力されると、ロードモジュールのソース情報を
もとにイベント情報を生成する。イベント情報は、上位
イベント制御部18によりイベント管理テーブル20
と、下位イベント制御部22とに格納される。デバッグ
作業中に、ロードモジュールの更新を行うと、上位イベ
ント管理部18は、イベント管理テーブル20のアドレ
ス,1つ以上のコードと、ロードモジュール更新後のロ
ードモジュール内のアドレス,1つ以上のコードとをソ
ース行ごとに比較する。比較の結果一致した場合は、イ
ベントは変更されなかった、すなわちイベントは有効で
あるとしてそのイベントを保持し、一致しない場合は、
イベントは無効であるとしてユーザにアドレスとコード
が一致しないという警告を表示する。ユーザは、この警
告により該当するイベントの解除,再設定を行うことが
できる。この処理の後、デバッグ作業を再開する。
【0015】上述した上位イベント制御部18は、プロ
グラムで実現される。
【0016】次に、図2〜図4を参照して本実施例の処
理について説明する。図2は、本発明の実施例の処理を
表すフローチャートである。図3は、イベントのデータ
を表す図である。図4は、ロードモジュール更新後のイ
ベントのデータが変化したときデバッガ部内で擬似的に
データをイベント情報にまとめた図である。
【0017】デバッグ作業では、作成したプログラムを
コンパイル,リンクし、ロードモジュールとしてエミュ
レーション部16にダウンロードし、プログラムのエミ
ュレーションを行う。デバッグ中にイベントを設定する
場合は、入力装置12よりソース行上へのイベント生成
指示を上位イベント制御部18に与える。上位イベント
制御部18は、入力装置12からのイベント生成指示に
よりロードモジュール内のソース情報,コードによりイ
ベント情報を生成することでイベントの設定を行う(ス
テップA1)。上位イベント制御部18は、生成された
イベント情報を下位イベント制御部22へ送り、同時に
そのイベント情報をイベント管理テーブル20に登録す
る(ステップA2)。
【0018】ユーザが、ソースプログラムを修正すると
ロードモジュールの更新が行なわれる(ステップA3)。
上位イベント制御部18は、イベント管理テーブル20
に格納されているイベント情報内のイベントID1のソ
ース名,行番号,アドレスを取得して、取得したアドレ
スと、取得したソース名および行番号に対応する更新後
のロードモジュール内のアドレスとをソース行ごとに比
較する(ステップA4)。アドレスが一致しなかった場
合は、そのイベントに対してユーザに警告を表示し(ス
テップA5)、ステップA7へ進む。比較の結果アドレ
スが一致していた場合は、上位イベント制御部18はイ
ベント管理テーブル20に格納されているイベント情報
内の前記アドレスに対応するコードと、更新後のロード
モジュール内の前記アドレスに対応するコードとをソー
ス行ごとに比較する(ステップA6)。コードが一致し
なかった場合は、そのイベントに対してユーザに警告を
表示し(ステップA5)、ステップA7へ進む。コードが
一致していた場合は、そのイベントは有効であるとし
て、次に未処理のイベントが無いか確認する(ステップ
A7)。未処理イベントがある場合は、ステップA4〜
A6を繰り返す。未処理イベントが無い場合は、デバッ
グ作業を継続する(ステップA8)。ここで、イベント
は無効であるとして警告を表示したイベントに関してユ
ーザは、破棄もしくはイベントの再設定等の指示をその
場で行うか、あらかじめ設定することができる。
【0019】これにより、ロードモジュール更新が行な
われた際にイベントの有効/無効を自動的に判断し、デ
バッグを続行することができる。
【0020】図3,図4に示す具体的なイベント情報の
例に基づき、さらに詳細に説明する。図3に示すイベン
ト管理テーブル20の情報は、ロードモジュールの更新
が行われると、図4に示すようになったとする。すなわ
ち、イベントID1の各データは変化ないが、イベント
ID2はアドレスに対応するコードが変更され、また、
イベントID3はソース名および行番号に対応するアド
レスが変更されている。このような状態は、イベントI
D2のソース行を書き換えてロードモジュールを更新し
た場合などに発生しうる。
【0021】ステップA3でロードモジュールの更新が
行なわれた場合は、上位イベント制御部18はまず、イ
ベント管理テーブル20からイベントID1のソース名
<prime.c>,行番号<10>,アドレス<0x
13e>を取得し、ロードモジュール更新後のソース情
報から前記ソース名<prime.c>,行番号<10
>に対応するアドレス<0x13e>を取得し、これら
アドレスを比較する(ステップA4)。比較の結果一致
するので上位イベント制御部18は、イベント管理テー
ブル20より前記アドレス〈0x13e〉に対応するコ
ード<09f0>を取得し、更新後のロードモジュール
内のアドレス<0x13e>に対応するコード<09f
0>を取得し、これらコードを比較する(ステップA
6)。比較の結果一致するので、イベントID1はロー
ドモジュール更新前後でデータの変更はないとしてステ
ップA7に進む。上位イベント制御部18は、未処理の
イベントのイベントID2を確認しステップA4に進
む。
【0022】上位イベント制御部18は、イベント管理
テーブル20からイベントID2のソース名<prim
e.c>,行番号<11>,アドレス<0x142>を
取得し、ロードモジュール更新後のソース情報から前記
ソース名<prime.c>,行番号<11>に対応す
るアドレス<0x142>を取得し、これらアドレスを
比較する(ステップA4)。比較の結果一致するので、
上位イベント制御部18は、イベント管理テーブル20
より前記アドレス<0x142>に対応するコード<0
951>を取得し、更新後のロードモジュール内の前記
アドレス<0x142>に対応するコード<0952>
を取得し、これらコードを比較する(ステップA6)。
比較の結果一致しないので、上位イベント制御部18は
イベントID2についてアドレスに対応するコードが一
致しないことをユーザに警告を表示し(ステップA
5)、ステップA7に進む。上位イベント制御部18
は、未処理のイベントのイベントID3を確認しステッ
プA4に進む。
【0023】さらに、上位イベント制御部18は、イベ
ント管理テーブル20からイベントID3のソース名<
prime.c>,行番号<12>,アドレス<0x1
54>を取得する。そしてロードモジュール更新後のソ
ース情報から前記ソース名<prime.c>,行番号
<12>に対応するアドレス<0x152>を取得し、
これらアドレスを比較する(ステップA4)。比較の結
果一致しないので、上位イベント制御部18はイベント
ID3のソース名および行番号に対応するアドレスが一
致しないことをユーザに警告を表示し(ステップA
5)、ステップA7に進む。上位イベント制御部18
は、全てのイベントIDの処理が終了していることを確
認する(ステップA7)。デバッガは、デバッグ作業を
続行する(ステップA8)。
【0024】次に、本発明の他の実施例について図5〜
図7を参照して詳細に説明する。図5は、本発明の他の
実施例の処理を表すフローチャートである。図6は、本
発明の他の実施例におけるイベントのデータを表す図で
ある。図7は、本発明の他の実施例においてロードモジ
ュール更新後のイベントのデータが変化したときデバッ
ガ部内で擬似的にイベント情報にまとめた図である。な
お、図5のフローチャートにおいてステップA1〜A
3,A8は、図2に記載のステップA1〜A3,A8と
同じ処理を行う。
【0025】本実施例では、イベント管理テーブル20
が、図3に示された実施例ではコードの保存領域をコー
ド部32のひとつだけ用意している構成に対し、図6に
示すように、コード保存領域をアドレスに対応するメモ
リ内容の第1コード42と、第1コード42に続くメモ
リ内容の第2コード44との2つのコードで構成されて
いる。
【0026】図5に示すように、入力装置12からのイ
ベント生成指示により、上位イベント制御部18は、ロ
ードモジュール内のアドレス,コードをもとにイベント
情報を生成することでイベントの設定を行う(ステップ
A1)。上位イベント制御部18は、生成されたイベン
ト情報を下位イベント制御部22へ送り、同時にそのイ
ベントに関する情報をテーブルとしてイベント管理テー
ブル20に登録する(ステップA2)。
【0027】ロードモジュールの更新が行なわれると
(ステップA3)、上位イベント制御部18は、イベン
ト管理テーブル20に格納されているイベント情報内の
イベントID1のソース名,行番号,アドレスを取得し
て、取得したアドレスと、取得したソース名および行番
号に対応する更新後のロードモジュール内のアドレスと
をソース行ごとに比較する(ステップB1)。アドレス
が一致しなかった場合は、そのイベントに対してユーザ
に警告を表示し(ステップB4)、ステップB5へ進む。
比較の結果アドレスが一致していた場合は、上位イベン
ト制御部18はイベント管理テーブル20に格納されて
いるイベント情報内の前記アドレスに対応する第1コー
ドと、更新後のロードモジュール内の前記アドレスに対
応する第1コードとをソース行ごとに比較する(ステッ
プB2)。比較の結果、第1コードが一致しなかった場
合は、そのイベントに対してユーザに警告を表示し(ス
テップB4)、ステップB5に進む。比較の結果、第1
コードが一致した場合は、上位イベント制御部18はイ
ベント管理テーブル20に格納されているイベント情報
内の前記アドレスとに対応する第2コード44と、更新
後のロードモジュール内の前記アドレスに対応する第2
コード44とをソース行ごとに比較する(ステップB
3)。比較の結果第2コードが一致しなかった場合は、
上位イベント制御部18はそのイベントに対してユーザ
に警告を表示し(ステップB4)、ステップB5に進む。
比較の結果第2コードが一致した場合は、ステップB5
に進む。上位イベント制御部18は、未処理のイベント
がいないかを確認する。未処理のイベントがある場合
は、ステップB1〜B4を繰り返す。未処理イベントが
ない場合は、デバッグ作業を続行する。
【0028】これにより、ロードモジュール更新が行な
われた際にイベントの有効/無効を自動的に判断し、デ
バッグを続行することができる。
【0029】また、本実施例ではアドレスに続くコード
は2つであったが複数のコードを持つことが可能であ
る。
【0030】図6,図7に示す具体的にイベント情報の
例に基づき、さらに詳細に説明する。図6に示すイベン
ト管理テーブル20の情報は、ロードモジュールの更新
が行われると、図7に示すようになったとする。すなわ
ち、イベントID1の各データは変化ないが、イベント
ID2はアドレスに対応する第2コードが変更され、ま
た、イベントID3はソース名および行番号に対応する
アドレスが変更されている。また、上述の状態はロード
モジュールを更新する際に最適化のレベルを上げた場合
などに発生しうる。
【0031】ステップA3でロードモジュールの更新が
行われた場合は、上位イベント制御部18はまず、イベ
ント管理テーブル20からイベントID1のソース名<
prime.c>,行番号<10>,アドレス<0x1
3e>を取得し、ロードモジュール更新後のソース情報
から前記ソース名<prime.c>,行番号<10>
に対応するアドレス<0x13e>を取得し、これらア
ドレスを比較する(ステップB1)。比較の結果一致す
るので、上位イベント制御部18は、イベント管理テー
ブル20より前記アドレス<0x13e>に対応する第
1コード<09f0>を取得し、更新後のロードモジュ
ール内のアドレス<0x13e>に対応する第1コード
<09f0>を取得し、これら第1コードを比較する
(ステップB2)。比較の結果一致するので、上位イベ
ント制御部18は、イベント管理テーブル20より前記
アドレス<0x13e>に対応する第2コード<3e0
3>を取得し、更新後のロードモジュール内の前記アド
レスに対応する第2コード<3e03>を取得し、これ
ら第2コードを比較する(ステップB3)。比較の結果
一致するので、ステップB5に進む。
【0032】上位イベント制御部18は、未処理のイベ
ントのイベントID2があることを確認してステップB
1に進む(ステップB5)。上位イベント制御部18
は、イベント管理テーブル20よりイベントID2のソ
ース名<prime.c>,行番号<11>,アドレス
<0x142>を取得し、ロードモジュール更新後のソ
ース情報から前記ソース名<prime.c>,行番号
<11>に対応するアドレス<0x142>を取得し、
これらアドレスを比較する(ステップB1)。比較の結
果一致するので、上位イベント制御部18はイベント管
理テーブル20より前記アドレス<0x142>に対応
する第1コード<0951>を取得し、更新後のロード
モジュール内のアドレス<0x142>に対応する第1
コード<0951>を取得し、これら第1コードを比較
する(ステップB2)。比較の結果一致するので、上位
イベント制御部18はイベント管理テーブル20より前
記アドレス<0x142>に対応する第2コード<0f
cd>を取得し、更新後のロードモジュール内の前記ア
ドレスに対応する第2コード44<0f00>を取得
し、これら第2コードを比較する(ステップB3)。比
較の結果一致しないので、上位イベント制御部18は、
イベントID2の第2コードが一致しないことを、ユー
ザに対して警告を表示し(ステップB4)、ステップB
5に進む。上位イベント制御部18は、未処理のイベン
トのイベントID3を確認してステップB1に進む(ス
テップB5)。
【0033】上位イベント制御部18は、イベント管理
テーブル20からイベントID3のソース名<prim
e.c>,行番号<12>,アドレス<0x154>を
取得し、ロードモジュール更新後のソース情報から前記
ソース名<prime.c>,行番号<12>に対応す
るアドレス<0x150>を取得し、これらアドレスを
比較する(ステップB1)。比較の結果一致しないの
で、ステップB4に進む。上位イベント制御部18は、
イベントID3のアドレスが一致しないことをユーザに
対して警告を表示し(ステップB4)、ステップB5に
進む。上位イベント制御部18は、未処理のイベントが
あるか確認し(ステップB5)、イベントがないことを
確認してデバッグ作業を続行する(ステップA8)。
【0034】
【発明の効果】本発明によれば、上位イベント管理部
は、デバッグ作業中のロードモジュールの更新の際にイ
ベント管理テーブルのイベント情報を確認することによ
り、ダウンロードの前後で自動的にイベントが有効であ
るか無効であるかを判別できる。これにより、ロードモ
ジュール更新後も有効なイベントは継続して使用でき
る。したがって、つまり、本発明によれば、ロードモジ
ュール更新後に無効となったイベントに対し、ユーザに
警告を行うことで、ロードモジュール更新後のエミュレ
ーション時にアドレスやコードの変更によりイベント
が、ユーザの意図しない条件で発生してしまったり、ユ
ーザが意図している条件であるにもかかわらずイベント
が発生しないという事象を防ぐことができる。
【図面の簡単な説明】
【図1】本発明のデバッガにおけるイベントの管理装置
を説明するためのデバッガを示すブロック図である。
【図2】本発明の実施例の処理を表すフローチャートで
ある。
【図3】本発明の実施例のイベントのデータを表す図で
ある。
【図4】本発明の実施例のロードモジュール更新後のイ
ベントのデータが変化したときデバッガ部内で擬似的に
データをイベント情報にまとめた図である。
【図5】本発明の他の実施例の処理を表すフローチャー
トである。
【図6】本発明の他の実施例におけるイベントのデータ
を表す図である。
【図7】本発明の他の実施例においてロードモジュール
更新後のイベントのデータが変化したときデバッガ部内
で擬似的にイベント情報にまとめた図である。
【符号の説明】
10 デバッガ部 12 入力装置 14 出力装置 16 エミュレーション部 18 上位イベント制御部 20 イベント管理テーブル 22 下位イベント制御部
─────────────────────────────────────────────────────
【手続補正書】
【提出日】平成11年4月23日(1999.4.2
3)
【手続補正1】
【補正対象書類名】明細書
【補正対象項目名】特許請求の範囲
【補正方法】変更
【補正内容】
【特許請求の範囲】
【請求項8】(a)プログラムのデバッグ作業中に前記
プログラムのソース情報をもとにして、イベントID,
ソースファイル名,ソース行番号,ソース行の先頭アド
レス,先頭アドレスの示すメモリ上の第1〜第Nコード
(Nは2以上の整数である。)を含むイベント情報を生
成するステップと、(b)生成したイベント情報を、イ
ベント管理テーブルに登録するステップと、(c)前記
プログラムの更新後に、前記イベント管理テーブルのソ
ースファイル名およびソース行番号に対応するアドレス
と、更新されたプログラム内の前記ファイル名およびソ
ース行番号に対応するアドレスとを比較するステップ
と、(d)前記ステップcにおける比較の結果アドレス
が一致していれば、このアドレスに対応する前記イベン
ト管理テーブルの第1コードと、前記アドレスに対応す
る更新された前記プログラム内の第1コードとを比較す
るステップと、(e)前記ステップdにおける比較の結
果第K−1コード(Kは2以上N以下の整数である。)
が一致していれば、前記アドレスに対応する前記イベン
ト管理テーブルの第Kコードと、前記アドレスに対応す
る更新された前記プログラム内の第Kコードとを比較す
るステップと、(f)前記(e)ステップを第Nコード
まで繰り返すステップと、(g)前記ステップc,d,
eにおいて、前記比較の結果一致していなければ、イベ
ントは無効であると判断し、警告を表示するステップ
と、(h)前記イベント管理テーブルの各イベントにつ
いて、前記ステップc,d,eの比較を行い、全イベン
トについて、前記ステップc,d,eの比較の結果一致
していれば、イベントは有効であると判断して、デバッ
グを続行するステップと、を実行するプログラムを記録
した記録媒体。 ─────────────────────────────────────────────────────
【手続補正書】
【提出日】平成11年8月13日(1999.8.1
3)
【手続補正1】
【補正対象書類名】明細書
【補正対象項目名】特許請求の範囲
【補正方法】変更
【補正内容】
【特許請求の範囲】

Claims (10)

    【特許請求の範囲】
  1. 【請求項1】プログラムの動作の検証を行うデバッグに
    おけるイベントの管理装置であって、 デバッグ作業中に、前記プログラムのソース情報をもと
    にしてイベント情報を生成することによりイベントを設
    定し、設定されたイベントを実行制御し、前記プログラ
    ムの更新前後のイベントの有効/無効の判断を行うイベ
    ント制御部と、 前記生成されたイベント情報を格納するイベント管理テ
    ーブルと、を備えることを特徴とするデバッガにおける
    イベント管理装置。
  2. 【請求項2】前記ソース情報は、ソースファイル名,ソ
    ース行番号,ソース行の先頭アドレスであることを特徴
    とする請求項1記載のデバッグにおけるイベント管理装
    置。
  3. 【請求項3】前記イベント情報は、イベントID,前記
    ソース情報,前記先頭アドレスが示すメモリ上の1つ以
    上のコードとを含むことを特徴とする請求項2記載のデ
    バッグにおけるイベント管理装置。
  4. 【請求項4】プログラムの動作の検証を行うデバッグに
    おけるイベント管理方法であって、 デバッグ作業中に前記プログラムのソース情報をもとに
    して、イベントID,ソースファイル名,ソース行番
    号,ソース行の先頭アドレス,先頭アドレスの示すメモ
    リ上のコードとを含むイベント情報を生成するステップ
    と、 生成したイベント情報を、イベント管理テーブルに登録
    するステップと、 前記プログラムの更新後に、前記イベント管理テーブル
    のアドレス,コードと、前記更新後のプログラム内のア
    ドレス,コードとをソース行ごと比較するステップと、 前記比較の結果一致していなければ、イベントは無効で
    あると判断し、警告を表示するステップと、 前記比較の結果一致していれば、イベントは有効である
    と判断するステップと、を含むことを特徴とするデバッ
    ガにおけるイベント管理方法。
  5. 【請求項5】前記比較するステップは、 前記イベント管理テーブルのソースファイル名およびソ
    ース行番号に対応するアドレスと、更新されたプログラ
    ム内の前記ファイル名およびソース行番号に対応するア
    ドレスとを比較するステップと、 前記比較の結果アドレスが一致していれば、このアドレ
    スに対応する前記イベント管理テーブル内のコードと、
    前記アドレスに対応する更新された前記プログラム内の
    コードとを比較するステップと、を含むことを特徴とす
    る請求項4記載のデバッガにおけるイベント管理方法。
  6. 【請求項6】プログラムの動作の検証を行うデバッグに
    おけるイベント管理方法であって、 デバッグ作業中に前記プログラムのソース情報をもとに
    して、イベントID,ソースファイル名,ソース行番
    号,ソース行の先頭アドレス,先頭アドレスの示すメモ
    リ上の第1〜第Nコード(Nは2以上の整数である。)
    を含むイベント情報を生成するステップと、 生成したイベント情報を、イベント管理テーブルに登録
    するステップと、 前記プログラムの更新後に、前記イベント管理テーブル
    のアドレス,第1〜第Nコードと、前記更新後のプログ
    ラム内のアドレス,第1〜第Nコードとをソース行ごと
    に比較するステップと、 前記比較の結果一致していなければ、イベントは無効で
    あると判断し、警告を表示するステップと、 前記比較の結果一致していれば、イベントは有効である
    と判断するステップと、を含むことを特徴とするデバッ
    ガにおけるイベント管理方法。
  7. 【請求項7】前記比較するステップは、 (a)前記イベント管理テーブルのソースファイル名お
    よびソース行番号に対応するアドレスと、更新されたプ
    ログラム内の前記ファイル名およびソース行番号に対応
    するアドレスとを比較するステップと、(b)前記比較
    の結果アドレスが一致していれば、このアドレスに対応
    する前記イベント管理テーブルの第1コードと、前記ア
    ドレスに対応する更新された前記プログラム内の第1コ
    ードとを比較するステップと、(c)前記比較の結果第
    K−1コード(Kは2以上N以下の整数である。)が一
    致していれば、前記アドレスに対応する前記イベント管
    理テーブル内の第Kコードと、前記アドレスに対応する
    更新されたプログラム内の第Kコードとを比較するステ
    ップと、(d)前記(c)ステップを第Nコードまで繰
    り返すステップと、を含むことを特徴とする請求項7記
    載のデバッガにおけるイベント管理方法。
  8. 【請求項8】前記イベント管理テーブルの全イベントが
    有効であると判断されたならば、デバッグを続行するス
    テップをさらに含むことを特徴とする請求項4〜7のい
    ずれかに記載のデバッガにおけるイベント管理方法。
  9. 【請求項9】(a)プログラムのデバッグ作業中に前記
    プログラムのソース情報をもとにして、イベントID,
    ソースファイル名,ソース行番号,ソース行の先頭アド
    レス,先頭アドレスの示すメモリ上のコードとを含むイ
    ベント情報を生成するステップと、(b)生成したイベ
    ント情報を、イベント管理テーブルに登録するステップ
    と、(c)前記プログラムの更新後に、前記イベント管
    理テーブルのソースファイル名およびソース行番号に対
    応するアドレスと、更新されたプログラム内の前記ファ
    イル名およびソース行番号に対応するアドレスとを比較
    するステップと、(d)前記比較の結果アドレスが一致
    していれば、このアドレスに対応する前記イベント管理
    テーブル内の1つ以上のコードと、前記アドレスに対応
    する更新された前記プログラム内の1つ以上のコードと
    をソース行ごとに比較するステップと、(e)前記ステ
    ップc,dにおいて、比較の結果一致していなければ、
    イベントは無効であると判断し、警告を表示するステッ
    プと、(f)前記イベント管理テーブルの各イベントに
    ついて、前記ステップc,dの比較を行い、全イベント
    について、前記ステップc,dの比較の結果一致してい
    れば、イベントは有効であると判断して、デバッグを続
    行するステップと、を実行するプログラムを記録した記
    録媒体。
  10. 【請求項10】(a)プログラムのデバッグ作業中に前
    記プログラムのソース情報をもとにして、イベントI
    D,ソースファイル名,ソース行番号,ソース行の先頭
    アドレス,先頭アドレスの示すメモリ上の第1〜第Nコ
    ード(Nは2以上の整数である。)を含むイベント情報
    を生成するステップと、(b)生成したイベント情報
    を、イベント管理テーブルに登録するステップと、
    (c)前記プログラムの更新後に、前記イベント管理テ
    ーブルのソースファイル名およびソース行番号に対応す
    るアドレスと、更新されたプログラム内の前記ファイル
    名およびソース行番号に対応するアドレスとを比較する
    ステップと、(d)前記ステップcにおける比較の結果
    アドレスが一致していれば、このアドレスに対応する前
    記イベント管理テーブルの第1コードと、前記アドレス
    に対応する更新された前記プログラム内の第1コードと
    を比較するステップと、(e)前記ステップdにおける
    比較の結果第K−1コード(Kは2以上N以下の整数で
    ある。)が一致していれば、前記アドレスに対応する前
    記イベント管理テーブルの第Kコードと、前記アドレス
    に対応する更新された前記プログラム内の第Kコードと
    を比較するステップと、(f)前記(e)ステップを第
    Nコードまで繰り返すステップと、(g)前記ステップ
    c,d,eにおいて、前記比較の結果一致していなけれ
    ば、イベントは無効であると判断し、警告を表示するス
    テップと、(h)前記イベント管理テーブルの各イベン
    トについて、前記ステップc,d,eの比較を行い、全
    イベントについて、前記ステップc,d,eの比較の結
    果一致していれば、イベントは有効であると判断して、
    デバッグを続行するステップと、を実行するプログラム
    を記録した記録媒体。
JP10200022A 1998-07-15 1998-07-15 デバッガにおけるイベントの管理装置および方法 Expired - Lifetime JP2990159B1 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP10200022A JP2990159B1 (ja) 1998-07-15 1998-07-15 デバッガにおけるイベントの管理装置および方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP10200022A JP2990159B1 (ja) 1998-07-15 1998-07-15 デバッガにおけるイベントの管理装置および方法

Publications (2)

Publication Number Publication Date
JP2990159B1 JP2990159B1 (ja) 1999-12-13
JP2000029740A true JP2000029740A (ja) 2000-01-28

Family

ID=16417518

Family Applications (1)

Application Number Title Priority Date Filing Date
JP10200022A Expired - Lifetime JP2990159B1 (ja) 1998-07-15 1998-07-15 デバッガにおけるイベントの管理装置および方法

Country Status (1)

Country Link
JP (1) JP2990159B1 (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2005106682A1 (en) * 2004-04-30 2005-11-10 Intel Corporation Caching run-time variables in optimized code

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2005106682A1 (en) * 2004-04-30 2005-11-10 Intel Corporation Caching run-time variables in optimized code
US7624388B2 (en) 2004-04-30 2009-11-24 Marvell International Ltd. Caching run-time variables in optimized code
US8479183B2 (en) 2004-04-30 2013-07-02 Marvell World Trade Ltd. Caching run-time variables in optimized code

Also Published As

Publication number Publication date
JP2990159B1 (ja) 1999-12-13

Similar Documents

Publication Publication Date Title
US7076496B1 (en) Method and system for server based software product release version tracking
US6332217B1 (en) Software inventory control system
JP4404940B2 (ja) カスタムソフトウェア画像をコンピュータシステムへ供給する方法およびシステム
US6598223B1 (en) Method and system for installing and testing build-to-order components in a defined configuration computer system
US6651240B1 (en) Object-oriented software development support apparatus and development support method
US7590836B1 (en) Method and system for recovering the configuration data of a computer system
US7251808B2 (en) Graphical debugger with loadmap display manager and custom record display manager displaying user selected customized records from bound program objects
US5418954A (en) Method for preparing and dynamically loading context files
US8806474B2 (en) Computer-hardware, life-extension apparatus and method
US20200379982A1 (en) Information processing system and method of controlling information processing system
US10740079B2 (en) Maintaining tight coupling between driver and application versions
US6915512B1 (en) Software editing with indication of format and processing state of each process of the software
JP2990159B1 (ja) デバッガにおけるイベントの管理装置および方法
JP2001014382A (ja) 分岐履歴テーブルの改良された論理検証のためのシミュレーション環境を生成する方法
WO2019085365A1 (zh) 一种基于特征值查表法的增量升级方法
CN114218032A (zh) 一种硬件设计验证方法、装置及电子设备和存储介质
JP3022326B2 (ja) ファイル変更履歴管理システム
JPH1027095A (ja) ソフトウェアのバージョン管理システム
JP2023151760A (ja) セーフティシステム、セーフティコントローラおよび処理方法
JPH1185491A (ja) 複数ドキュメントの自動生成システム
JP2002055816A (ja) プログラム管理装置及び方法並びにこれに利用される記憶媒体
JP3221421B2 (ja) 情報処理装置の試験方法およびそのプログラムを記憶した記憶媒体
JP2921492B2 (ja) ソフトウエア製品ファイル正誤チェック方式
JP2903721B2 (ja) 情報処理装置の試験命令組み立て方法
JP2001236247A (ja) ソフトウェアシミュレータおよびシミュレーション処理方法