JPH09319615A - カーネルデバッガにおけるソフトウェアブレークポイント管理方式 - Google Patents

カーネルデバッガにおけるソフトウェアブレークポイント管理方式

Info

Publication number
JPH09319615A
JPH09319615A JP8159109A JP15910996A JPH09319615A JP H09319615 A JPH09319615 A JP H09319615A JP 8159109 A JP8159109 A JP 8159109A JP 15910996 A JP15910996 A JP 15910996A JP H09319615 A JPH09319615 A JP H09319615A
Authority
JP
Japan
Prior art keywords
breakpoint
address
symbol
information
setting
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
JP8159109A
Other languages
English (en)
Other versions
JP2856152B2 (ja
Inventor
Kenichi Mihara
賢一 美原
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.)
NEC Corp
Original Assignee
NEC Corp
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 NEC Corp filed Critical NEC Corp
Priority to JP8159109A priority Critical patent/JP2856152B2/ja
Publication of JPH09319615A publication Critical patent/JPH09319615A/ja
Application granted granted Critical
Publication of JP2856152B2 publication Critical patent/JP2856152B2/ja
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Landscapes

  • Debugging And Monitoring (AREA)

Abstract

(57)【要約】 【課題】ローダブルモジュールのロード/アンロードが
行われた場合でも、常にブレークポイント管理情報の整
合性を保ち、正常なブレークポイント方式によるデバッ
グを行えるデバッガの提供。 【解決手段】シンボル情報テーブル16、アドレス−シ
ンボル相互変換手段15を用い、ローダブルモジュール
のロード/アンロード状態を判別し、ブレークポイント
アドレスと、対応するシンボルと、オフセット値にてブ
レークポイント情報を管理するブレークポイント管理テ
ーブル11と、退避テーブル12を備えたデバッガにお
いて、ブレークポイント設定管理手段13−1により、
ブレークポイントを設定し、ブレークポイント整合性管
理手段10−1によりローダブルモジュールのロード/
アンロード状態に依らず常にブレークポイント管理情報
の整合性を保ち、再ロードされたモジュールへのブレー
クポイント再設定を行う。

Description

【発明の詳細な説明】
【0001】
【発明の属する技術分野】本発明は、ブレークポイント
の設定によるプログラムのデバッグ方法に関し、特に、
ローダブルモジュールのデバッグにも対応したプログラ
ムのデバッグ方法に関する。
【0002】
【従来の技術】オペレーティングシステム(OS)のカ
ーネル空間での動作をデバッグ対象とするデバッガを
「カーネルデバッガ」と呼ぶ。一般に、ハードウェアブ
レークポイント機構を持たないシステムにおいては、カ
ーネルデバッガが、OSのテキスト上に、直接、ブレー
ク命令(break命令)を書き込むことにより、ブレ
ークポイントの設定によるデバッグを実現している。こ
のような方法は、通常、「ソフトウェアブレークポイン
ト制御方法」と呼ばれている。そして、この種のソフト
ウェアブレークポイント制御には、基本的に、ブレーク
命令を書き込むアドレスを保持した管理テーブルが用い
られる。
【0003】
【発明が解決しようとする課題】上記した従来のカーネ
ルデバッガにおいては、デバッグ対象のローダブルモジ
ュール(loadable module;OS動作中
にメモリ上へのロード(load)/アンロード(un
load)操作が可能なドライバモジュール等)に、ブ
レークポイントが設定された場合に、当該ローダブルモ
ジュールがアンロードされると、カーネルデバッガのブ
レークポイントに関する管理テーブルには、本来無効で
あるはずのブレークポイント情報が残ってしまう、とい
う問題点を有している。
【0004】この理由は、従来のカーネルデバッガにお
いては、ローダブルモジュールのロード/アンロード状
態を、直接カーネルデバッガから知る手だてがない、こ
とによる。
【0005】また、上記した従来技術においては、第2
の問題点として、アンロード状態にあったデバッグ対象
のモジュールが再ロードされた場合、再ロードされるメ
モリ上のアドレスが、以前ロードされていたアドレスと
一致しているという保証はないため、カーネルデバッガ
内に残っていた対象モジュールに関するブレークポイン
ト情報と、実際に再ロードされたモジュールと、の整合
性が保たれない場合がが生じる。
【0006】この理由は、従来のカーネルデバッガにお
いては、ブレークポイント情報の管理が、ブレーク命令
を設定したアドレスを基に行われているため、再ロード
されたモジュールとの整合性が検証する手だてを有しな
いことによる。
【0007】従って、本発明は、上記事情に鑑みてなさ
れたものであって、その目的は、ブレーク命令を書き込
むアドレスによるブレークポイント管理の不備を補い、
ローダブルモジュールのロード/アンロード状態に依ら
ず、常に適正なブレークポイントの管理及び制御を可能
とする方法を提供することにある。
【0008】
【課題を解決するための手段】前記目的を達成するた
め、本発明に係るプログラムデガッグ方法は、モジュー
ルのロード/アンロードが自在とされてなるシステムの
ブロックデバッグにおいて、メモリ上にロードされたモ
ジュールのアドレスおよびシンボル情報を保持するシン
ボル情報テーブルと、前記シンボル情報テーブルを基
に、指定アドレスに対応するシンボル情報とオフセット
値を取得するアドレス・シンボル変換手段と、前記シン
ボル情報テーブルを基に、指定シンボルに対応するアド
レスを取得するシンボル・アドレス変換手段と、を備
え、(a)ブレークポイント管理テーブルに、ブレーク
ポイントアドレスと、これに対応したシンボル情報と、
シンボルが示すアドレスからブレークポイントアドレス
までのオフセット値と、を設定し、メモリ上にブレーク
命令を設定する、ブレークポイント設定管理工程と、
(b)デバッガ起動時に、デバッグ対象のモジュールの
状態に従って、ブレークポイント管理テーブルの内容の
更新、及び/又は、ブレークポイントの再設定を行う、
ブレークポイント情報の整合性管理工程と、を含むこと
を特徴とする。
【0009】
【発明の実施の形態】本発明の好ましい実施の形態を以
下に説明する。本発明は、好ましい実施の形態におい
て、デバッグ対象モジュールのロード/アンロード状態
に依らないソフトウェアブレークポイントによるデバッ
グに関するもので、現在メモリ上にロードされているオ
ブジェクトのシンボルとそのアドレスおよびシンボルに
関する補助情報を格納するシンボル情報テーブル(図2
の16)と、オブジェクトのアドレスとシンボルとのア
ドレス−シンボル相互変換手段(図2の15)と、1つ
の設定ブレークポイントに対し、元の命令、ブレークポ
イント設定アドレス、そのアドレスに関するシンボル、
シンボルが表すアドレスからブレークポイント設定アド
レスまでのオフセット値およびブレークポイント制御情
報を格納するブレークポイント管理テーブル(図2の1
1)と、更に、一旦は不正となったブレークポイント情
報を退避させておく、ブレークポイント管理テーブルと
全く同じ形式のブレークポイント退避テーブル(図2の
12)と、を備え、ブレークポイント設定管理手順(図
2の131)と、デバッガに処理が移った際のブレーク
ポイント設定および退避ブレークポイント整合性管理手
順(図2の101)と、を備えて構成される。
【0010】前述したように、一般に、ブレーク命令を
書き込んだアドレスに基づいてブレークポイント情報を
管理した場合、ブレークポイントを設定したローダブル
モジュールがアンロード/再ロードされると、ブレーク
ポイント管理情報の整合性は保証できなくなる。更に、
対象モジュールに対してブレーク命令の再設定を行おう
としても、再設定すべきブレーク命令の位置が特定でき
ない。
【0011】そこで、本発明は、好ましい実施の形態に
おいて、対象モジュールがロードされるメモリ上のアド
レスは不定であるが、モジュール内部のシンボルは不変
であることに着目し、対象モジュールがロードされるメ
モリ上のアドレスとシンボルとの変換機構(図2の1
5)を導入すると共に、シンボルが示す位置をベースと
して相対位置(オフセット)を用いることにより、任意
のアドレスにモジュールがロードされた場合でも、モジ
ュールに設定したブレークポイントの位置が特定できる
ように構成したものである。
【0012】このように、本発明の実施の形態において
は、アドレス−シンボル相互変換手段の導入により、モ
ジュールのロード/アンロード状態が判別できるため、
デバッグ対象のモジュールがロード/アンロードされた
場合でも、ブレークポイント管理テーブルには常に有効
な情報のみが設定されることになる。上記した本発明の
実施の形態を更に詳細に説明すべく、本発明の実施例を
図面を参照してより具体的に説明する。
【0013】
【実施例】図1は、本発明の一実施例の構成をブロック
図にて示したものである。図1を参照すると、本実施例
に係るデバッガが実装されるシステムは、CPU1と、
メモリ2と、磁気ディスク装置などの二次記憶装置3
と、コンソール4と、これらを相互に接続するシステム
バス5と、を備えて構成される。なお、CPU1はシン
グルプロセッサに限らず、複数のCPUで構成されてい
てもよい事は勿論である。図1に示したハードウェアシ
ステム上で、デバッグ対象となるオペレーティングシス
テム(OS)100と、デバッガ(カーネルデバッガ)
200が動作する。
【0014】図2は、デバッガ200の主要構成とブレ
ークポイント制御方法の関連の様子を模式的に示した図
である。
【0015】図2を参照すると、デバッガ200は、シ
ステム運用中にブレークポイント例外が発生した場合
に、その例外処理からコールされる初期処理部10と、
ブレークポイントに関する種々の情報が設定されるブレ
ークポイント管理テーブル11と、アンロードされたモ
ジュールに関するブレークポイント情報を退避保存する
ための退避管理テーブル12と、オペレータからのデバ
ッグコマンドを解析して実行するコマンド解析/実行部
13と、を含む。なお、オペレータからのコマンド入力
およびデバッガ200からの実行結果の出力は、コンソ
ール14を介して行われる。
【0016】初期処理部10は、ブレークポイント整合
性管理手段10−1を備え、コマンド解析/実行部13
は、ブレークポイント関連コマンドの一機能としてブレ
ークポイント設定管理手段13−1を備えている。
【0017】また、オペレーティングシステム(OS)
100は、メモリ上にロードされているモジュールに関
するシンボル情報や、対応するロードアドレス情報を格
納したシンボル情報テーブル16と、アドレス−シンボ
ル相互変換手段15を備えている。
【0018】図3は、本実施例におけるシンボル情報テ
ーブル16の1エントリの構成の一例を示したものであ
り、図中16−1はメモリ上にロードされたモジュール
のシンボル(文字列)であり、16−2はそのシンボル
がロードされているアドレスを示している。
【0019】図4は、本実施例におけるブレークポイン
ト管理テーブル11および退避テーブル12の1エント
リの構成の一例を示している。図中、11−1はブレー
クポイントを設定するアドレス、11−2は設定するブ
レークポイントアドレスより低位のメモリ位置にロード
されたシンボル(文字列)、11−3はシンボルが示す
アドレスからブレークポイントを設定するアドレスへの
オフセット値、11−4はブレーク命令に書き換えるた
めに元の命令を退避保存する領域をそれぞれ示してい
る。
【0020】本実施例の動作について図2を参照して説
明する。
【0021】オペレータからコンソール14を介して入
力されたブレークポイント設定要求は、ブレーク設定管
理手段13−1で処理される。ブレーク設定管理手段1
3−1では、アドレス−シンボル相互変換手段15を用
いて、指定されたブレークポイントアドレスに関するシ
ンボル情報とオフセット値を取得し、それらの情報をブ
レークポイント管理テーブル11に設定して、目的のア
ドレスにブレーク命令を設定する。
【0022】一方、ブレークポイント例外などのデバッ
ガ起動要因である例外が発生した場合、その例外処理か
らデバッガの初期処理部10がコールされる。
【0023】初期処理部10では、処理の一環として,
ブレークポイント整合性管理手段10−1を実行する。
ブレークポイント整合性管理手段10−1は、アドレス
−シンボル相互変換手段15を用いて、ローダブルモジ
ュールのロード/アンロード状態を調べ、その状態によ
ってブレークポイント管理テーブル11と退避テーブル
12の内容を更新し、必要ならばブレークポイントの再
設定を行い、常にブレークポイント管理テーブルの整合
性を保つ。
【0024】本発明の実施例を図面を参照して更に詳細
に説明する。図5は、本実施例におけるアドレス−シン
ボル相互変換手順15の処理動作の一例を説明するため
のフローチャートである。また、図6は、ブレークポイ
ント設定管理手段13−1の処理動作の一例を説明する
ためのフローチャートである。さらに図7および図8
は、ブレークポイント整合性管理手段10−1におけ
る、ブレークポイント管理テーブルの管理手順、及び退
避テーブルの管理手順の一例を示している。
【0025】オペレータがコンソール14を介して、デ
バッガ200によってオペレーティングシステム100
にブレークポイント設定する場合、ブレークポイント設
定管理手段13−1が呼び出される。
【0026】ブレークポイント設定管理手段13−1で
は、図6に示すように、オペレータがコンソール14等
で入力したブレークポイントアドレスを入力し(ステッ
プS61)、アドレス−シンボル相互変換手段15に
て、シンボルとオフセット値に変換する(ステップS6
2、S63)。
【0027】シンボルの変換に成功した場合には、命令
を管理テーブルに保存し(ステップS64)、指定アド
レスの命令をブレーク命令で置換し(ステップS6
5)、図4に示されるブレークポイント管理テーブル1
1に、ブレークポイントアドレス111、およびシンボ
ル112、オフセット値113、元の命令114を設定
する(ステップS66)。
【0028】システム動作中に、ブレークポイント例外
またはデバッガ起動要因となる例外(EXCEPTION)が発
生すると、その例外処理から初期処理部10がコールさ
れる。初期処理部10では、後に、ブレークポイント例
外などの発生時点に復帰できるよう、当該CPUのレジ
スタ情報のセーブ等を行った後、ブレークポイント整合
性管理手段10−1を実行する。
【0029】ブレークポイント整合性管理手段10−1
は、図7に示すように、ブレークポイント管理テーブル
11に、アンロード/再ロードされているモジュールの
ブレークポイント情報が残っていないかを調べるため、
管理テーブルの各エントリのシンボル情報に対して、ア
ドレス−シンボル相互変換手段15を利用して、シンボ
ルからアドレスへの変換を試みる(ステップS70)。
【0030】ステップS71の判定において、シンボル
からのアドレス取得に失敗した場合、該ブレークポイン
ト情報に対応したモジュールはアンロード中であると判
断し(ステップS77)、情報を退避テーブル12に移
して、ブレークポイント管理テーブル14から一時的に
削除する(ステップS78)。
【0031】ステップS71の判定においてアドレス取
得に成功した場合でも、またモジュールが再ロードされ
ている可能性があるため、シンボルから変換取得したア
ドレスと、ブレークポイント管理テーブル14内のオフ
セット値の和(現在ロードされているモジュール内でブ
レークポイントが設定されているべきアドレス)と、ブ
レークポイント管理テーブル内のアドレス(当初、ブレ
ークポイントを設定したアドレス)とを比較する(ステ
ップS72、S73)。
【0032】アドレスが一致しなかった場合は、該当モ
ジュールが再ロードされているものと判断し(ステップ
S79)、シンボルから変換取得したアドレスと、ブレ
ークポイント管理テーブル内のオフセット値で示される
アドレスの命令をブレーク命令で置換し、該ブレークポ
イント情報のブレークポイントアドレス111と元の命
令114を再設定する(ステップS80)。
【0033】ステップS73の判定において、アドレス
が一致した場合でも、デバッグ対象モジュールが同一ア
ドレスに再ロードされた可能性もあるため、ブレークポ
イント管理テーブル内のブレークポイントアドレスにブ
レーク命令が存在するか調べる(ステップS74、S7
5)。
【0034】ブレーク命令が存在しない場合、デバッグ
対象モジュールが同一アドレスに再ロードしたものと判
断し(ステップS81)、ブレークポイント管理テーブ
ル14内のブレークポイントアドレスの命令を退避(セ
ーブ)しこのアドレスにブレーク命令を再設定する(ス
テップS82)。
【0035】一方、ブレーク命令が存在する場合は、正
常なブレークポイント情報と判断して(ステップS7
6)、1つのブレークポイント管理情報の整合性管理処
理を終える。
【0036】ブレークポイント整合性管理手段10−1
では、ブレークポイント管理テーブルの整合性を検査し
た後、更に、図8に示すように、退避テーブル12に、
再ロードされているモジュールのブレークポイント情報
がないかを調べるため、退避テーブルの各エントリのシ
ンボル情報に対してアドレス−シンボル相互変換手段1
5を利用して、シンボルからアドレスへの変換を試みる
(ステップS83、S84)。
【0037】アドレス取得に失敗した場合、該ブレーク
ポイント情報に対応したモジュールは未だアンロード中
であると判断して(ステップS89)、次のエントリに
処理を移す。
【0038】一方、アドレス取得に成功した場合、対応
モジュールが再ロードされているものと判断して(ステ
ップS85)、変換取得したアドレスと退避テーブル内
のオフセット値の和をブレークポイントアドレスとして
(ステップS86)、該アドレスの命令をブレーク命令
に置換し(ステップS87)、このブレークポイントア
ドレスと、置換された元の命令、および退避テーブル内
のシンボルとオフセット値を、ブレークポイント管理テ
ーブル11に移して、退避テーブルエントリをクリアし
(ステップS86)、正常なブレークポイント情報とし
て扱うよう再設定する。
【0039】上記のようにブレークポイント整合管理手
段10−1を経ることにより、ブレークポイント管理テ
ーブルは常に正常な状態に保たれる。
【0040】なお、アドレス−シンボル相互変換手段1
5は、次の2つの機能手段を備えている。
【0041】図5(A)に示すように、アドレス→シン
ボル変換手段は、与えられたアドレスをキーとして、シ
ンボル情報テーブル16の全エントリを検索し(ステッ
プS51)、指定アドレスに最も近いアドレス値(指定
アドレスと同じか低位)を持つエントリのシンボルおよ
び指定アドレスまでのオフセット値を返す(ステップS
52)。
【0042】また、シンボル→アドレス変換手段は、図
5(B)に示すように、与えられたシンボルをキーとし
て、シンボル情報テーブル16の全エントリを検索し
(ステップS53)、指定シンボルと一致したエントリ
があれば、該エントリのアドレス情報を返し(ステップ
S55)、存在しなければエラーを返す(ステップS5
6)。
【0043】
【発明の効果】以上説明したように、本発明によれば、
アドレス−シンボル相互変換手段の導入によりモジュー
ルのロード/アンロード状態が判別できるようにしたこ
とにより、デバッグ対象のモジュールがロード/アンロ
ードされた場合でも、ブレークポイント管理テーブルに
は、常に有効な情報のみが設定されるという効果を有す
る。
【0044】また、本発明によれば、再ロードされたモ
ジュールに対してブレークポイントの再設定を行うこと
ができるという効果を有する。これは、本発明において
は、ブレークポイントアドレスだけでなく、シンボルと
オフセット情報でも管理しているため、モジュールがど
のアドレスにロードされても、ブレークポイント設定位
置が特定できることによる。
【図面の簡単な説明】
【図1】本発明の一実施例を適用したシステムの全体構
成を示すブロック図である。
【図2】本発明の実施例を説明するための図であり、本
発明の一実施例に係るデバッガの主要構成およびブレー
クポイント制御方式の相互関連を模式的に示す図であ
る。
【図3】本発明の一実施例におけるシンボル情報テーブ
ルの1エントリの構成の一例を示す図である。
【図4】本発明の一実施例におけるブレークポイント管
理テーブルの1エントリの構成の一例を示す図である。
【図5】本発明の一実施例におけるアドレス−シンボル
相互変換手段の処理動作を説明するためのフローチャー
トである。
【図6】本発明の一実施例におけるブレークポイント設
定管理手段の処理動作を説明するためのフローチャート
である。
【図7】本発明の一実施例におけるブレークポイント整
合性管理手段の処理動作を説明するためのフローチャー
トである。
【図8】本発明の一実施例における退避テーブル整合性
管理手段の処理動作を説明するためのフローチャートで
ある。
【符号の説明】
1 CPU 2 共有メモリ 3 二次記憶装置 4 コンソール 5 システムバス 10 初期処理部 11 ブレークポイント管理テーブル 12 退避テーブル 13 コマンド解析/実行部 14 コンソール 15 アドレス−シンボル相互変換手段 16 シンボル情報テーブル 100 オペレーティングシステム 10−1 ブレークポイント管理テーブル整合性管理手
順 11−1 ブレークポイントアドレス 11−2 アドレスに関するシンボル 11−3 オフセット値 11−4 元の命令 13−1 ブレークポイント設定管理手順 16−1 シンボル情報 16−2 アドレス情報

Claims (6)

    【特許請求の範囲】
  1. 【請求項1】モジュールのロード/アンロードが自在と
    されてなるシステムのブロックデバッグにおいて、 メモリ上にロードされたモジュールのアドレスおよびシ
    ンボル情報を保持するシンボル情報テーブルと、 前記シンボル情報テーブルを基に、指定アドレスに対応
    するシンボル情報とオフセット値を取得するアドレス・
    シンボル変換手段と、 前記シンボル情報テーブルを基に、指定シンボルに対応
    するアドレスを取得するシンボル・アドレス変換手段
    と、を備え、 (a)ブレークポイント管理テーブルに、ブレークポイ
    ントアドレスと、これに対応したシンボル情報と、シン
    ボルが示すアドレスからブレークポイントアドレスまで
    のオフセット値と、を設定し、メモリ上にブレーク命令
    を設定する、ブレークポイント設定管理工程と、 (b)デバッガ起動時に、デバッグ対象のモジュールの
    状態に従って、ブレークポイント管理テーブルの内容の
    更新、及び/又は、ブレークポイントの再設定を行う、
    ブレークポイント情報の整合性管理工程と、 を含むことを特徴とするプログラムデバッグ方法。
  2. 【請求項2】前記工程(a)のブレークポイント設定管
    理工程が、 (a−1)ブレークポイントを設定するアドレスが指定
    された場合、前記アドレス・シンボル変換手段により、
    シンボル情報とオフセット値を取得して前記ブレークポ
    イント管理テーブルに設定し、目的のアドレスにブレー
    クポイントを設定する工程と、 (a−2)ブレークポイントを設定するシンボルおよび
    オフセット値が指定された場合、前記シンボル・アドレ
    ス変換手段により、アドレスを取得して前記ブレークポ
    イント管理テーブルに設定し、目的のアドレスにブレー
    クポイントを設定する工程と、 を含むことを特徴とする請求項1記載のプログラムデバ
    ッグ方法。
  3. 【請求項3】前記(b)のブレークポイント情報の整合
    性管理工程が、 (b−1)デバッグ対象のモジュールがアンロードされ
    ていた場合に、該当するブレークポイント情報を、前記
    ブレークポイント管理テーブルから、退避テーブルへ移
    す工程と、 (b−2)デバッグ対象のモジュールがロードされてい
    る場合、前回のブレークポイント設定した状態のままな
    のか、一旦アンロードされた後に再ロードされた状態で
    あるかを判別する工程と、 (b−3)デバッグ対象のモジュールが再ロードされて
    おり、且つ対応するブレークポイント情報が前記ブレー
    クポイント管理テーブルに残っていた場合には、前記ブ
    レークポイント管理テーブルの情報を更新し、ブレーク
    ポイントを再設定する工程と、 (b−4)デバッグ対象のモジュールが再ロードされて
    おり、且つ対応するブレークポイント情報が既に前記退
    避テーブルに移されていた場合には、退避テーブルのブ
    レークポイント情報を前記ブレークポイント管理テーブ
    ルに移して内容を更新し、ブレークポイントを再設定す
    る工程と、 を含むことを特徴とする請求項1記載のプログラムデバ
    ッグ方法。
  4. 【請求項4】モジュールのロード/アンロードが自在と
    されたシステムのプログラムデバッグ方法において、 ブレークポイント例外などのデバッガ起動要因によりデ
    バッガが起動された際、前記(b)のブレークポイント
    情報の整合性管理工程を含む初期処理手段と、 前記(a)のブレークポイント設定管理工程を含む、オ
    ペレータからのデバッグコマンドを解析して実行する、
    コマンド解析/実行手段と、 を有し、 ブレークポイント設定情報を管理するためのブレークポ
    イント管理テーブルおよび退避テーブルを備えてなるカ
    ーネルデバッガを用い、 前記ブレークポイント設定管理工程でのブレークポイン
    ト設定と、前記ブレークポイント情報の整合性管理工程
    によって、オペレータがデバッグ対象モジュールのロー
    ド/アンロード状態を意識することなく、自動的にブレ
    ークポイントが設定/解除されることを特徴とする請求
    項1記載のプログラムデバッグ方法。
  5. 【請求項5】プロセッサシステムのデバッガにおいて、 ブレークポイント例外などのデバッガ起動要因の発生時
    にコールされ、コール元のCPUに関するレジスタ情報
    などの情報のセーブ処理、及び/又はブレークポイント
    整合性管理処理を行う初期処理手段と、 オペレータからのデバッグコマンドを解析して実行する
    コマンド解析/実行手段と、 を備えたことを特徴とするプロセッサシステムのデバッ
    ガ。
  6. 【請求項6】ロード/アンロード自在なローダブルモジ
    ュールのデバッグを行うためのデバッガにおいて、 メモリ上にロードされたモジュールのアドレスおよびシ
    ンボル情報を保持するシンボル情報テーブルを備え、 指定されたアドレスから前記シンボル情報テーブルシン
    ボルを参照してシンボルを取得した際に、必要な情報を
    管理テーブルに格納して前記指定アドレスにブレーク命
    令を設定する手段と、 モジュールが、前記管理テーブルのシンボルからのアド
    レス取得の可否及び該取得アドレスと前記管理テーブル
    のアドレスとの比較に基づきモジュールのアンロード/
    再ロードを判別し、アンロード/再ロード状態に応じて
    退避テーブルの設定及び管理テーブルの再設定を行い管
    理テーブルの整合性を保つように管理する手段と、 を備えたことを特徴とするデバッガ。
JP8159109A 1996-05-30 1996-05-30 カーネルデバッガにおけるソフトウェアブレークポイント管理方式 Expired - Fee Related JP2856152B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP8159109A JP2856152B2 (ja) 1996-05-30 1996-05-30 カーネルデバッガにおけるソフトウェアブレークポイント管理方式

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP8159109A JP2856152B2 (ja) 1996-05-30 1996-05-30 カーネルデバッガにおけるソフトウェアブレークポイント管理方式

Publications (2)

Publication Number Publication Date
JPH09319615A true JPH09319615A (ja) 1997-12-12
JP2856152B2 JP2856152B2 (ja) 1999-02-10

Family

ID=15686447

Family Applications (1)

Application Number Title Priority Date Filing Date
JP8159109A Expired - Fee Related JP2856152B2 (ja) 1996-05-30 1996-05-30 カーネルデバッガにおけるソフトウェアブレークポイント管理方式

Country Status (1)

Country Link
JP (1) JP2856152B2 (ja)

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP1367490A2 (en) * 2002-05-27 2003-12-03 Kabushiki Kaisha Toshiba Debugging apparatus and method
WO2005106682A1 (en) * 2004-04-30 2005-11-10 Intel Corporation Caching run-time variables in optimized code
US7257805B2 (en) 2001-11-09 2007-08-14 International Business Machines Corporation Restoring debugging breakpoints subsequent to program code modifications
KR101482285B1 (ko) * 2007-03-06 2015-01-13 마이크로소프트 코포레이션 복수의 이종의 솔리드 스테이트 저장 위치들의 선택적 이용

Cited By (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7257805B2 (en) 2001-11-09 2007-08-14 International Business Machines Corporation Restoring debugging breakpoints subsequent to program code modifications
EP1367490A2 (en) * 2002-05-27 2003-12-03 Kabushiki Kaisha Toshiba Debugging apparatus and method
US7043717B2 (en) 2002-05-27 2006-05-09 Kabushiki Kaisha Toshiba Debugging apparatus and method
EP1367490A3 (en) * 2002-05-27 2008-03-05 Kabushiki Kaisha Toshiba Debugging apparatus and method
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
KR101482285B1 (ko) * 2007-03-06 2015-01-13 마이크로소프트 코포레이션 복수의 이종의 솔리드 스테이트 저장 위치들의 선택적 이용

Also Published As

Publication number Publication date
JP2856152B2 (ja) 1999-02-10

Similar Documents

Publication Publication Date Title
US7840845B2 (en) Method and system for setting a breakpoint
US6662314B1 (en) Microcomputer including program for rewriting data in an internal flash memory
US7363544B2 (en) Program debug method and apparatus
US5363502A (en) Hot stand-by method and computer system for implementing hot stand-by method
JPH04220744A (ja) 限定アクセス・プロセッサ・システムでのキャッシュ・タグramの機能試験方法
US6502176B1 (en) Computer system and methods for loading and modifying a control program without stopping the computer system using reserve areas
US7039831B2 (en) Common stack system for a debugging device and method
JP2856152B2 (ja) カーネルデバッガにおけるソフトウェアブレークポイント管理方式
CN116450398A (zh) 异常回溯方法、装置、设备和介质
US6948095B2 (en) Methods and apparatus for dynamically loading a file on a target computer system
US6738927B2 (en) Target debugging application on digital signal processor validating link connection to host computer
US6789211B2 (en) Storing in a reserved memory location data indicative of a stack location which stores the entry point of a dynamically loaded file
US6834357B2 (en) Establishing a pointer at a valid address location that is representative of a valid entry point of a communication routine
JP3102568B2 (ja) ソフトウエア開発装置
JP2677043B2 (ja) プログラム開発支援装置
EP1148419A1 (en) Debugging embedded systems
JPH09237198A (ja) コンピュータシステム立ち上げ時の拡張デバイス試験方式
JPH11212945A (ja) マイクロコンピュータおよびそのメモリ
JP2860054B2 (ja) プログラムデバッグ装置
JPS6310234A (ja) 割込み処理装置
JPH096709A (ja) 拡張スロット付電子装置の制御方法とその装置、及び拡張媒体
JPH06150025A (ja) パッチ修正可能な電子装置のデバッグに使用する評価用チップ及びイン・サーキット・エミュレータ
JPH06236292A (ja) データ処理装置
JPH0367349A (ja) プログラムローディング方式
JPS60112148A (ja) メモリ装置

Legal Events

Date Code Title Description
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 19981027

LAPS Cancellation because of no payment of annual fees