JPH06222950A - 例外原因メッセージ出力装置 - Google Patents

例外原因メッセージ出力装置

Info

Publication number
JPH06222950A
JPH06222950A JP5028585A JP2858593A JPH06222950A JP H06222950 A JPH06222950 A JP H06222950A JP 5028585 A JP5028585 A JP 5028585A JP 2858593 A JP2858593 A JP 2858593A JP H06222950 A JPH06222950 A JP H06222950A
Authority
JP
Japan
Prior art keywords
exception
data
address
cause
message
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
JP5028585A
Other languages
English (en)
Other versions
JPH0754477B2 (ja
Inventor
Tsugiichi Shibata
次一 柴田
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 JP5028585A priority Critical patent/JPH0754477B2/ja
Publication of JPH06222950A publication Critical patent/JPH06222950A/ja
Publication of JPH0754477B2 publication Critical patent/JPH0754477B2/ja
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Abstract

(57)【要約】 【目的】 デバッグに要する作業時間の短縮に益をもた
らす。 【構成】 例外原因解析部2は、デバッグ対象のプログ
ラムにおける例外の発生時にデバッガ7から例外アドレ
スを受け取り、メモリ読込み部6を介して当該例外アド
レスに対応するメモリ10上の領域の内容を取得し、そ
の内容に基づいて当該例外がデータアクセス時の例外で
あるか否かを判定し、当該例外がデータアクセス時の例
外である場合に当該例外に係る不当データの特定を行
い、メモリ読込み部6を介して不当データアドレスを取
得し、シンボル情報検索部3を介してシンボル情報読込
み部4から当該不当データアドレスに対応するシンボル
名を取得し、当該不当データアドレスおよび当該シンボ
ル名に基づいて不当データのデータ名および値を有する
例外原因メッセージを作成し、当該例外原因メッセージ
をメッセージ出力部5に渡す。

Description

【発明の詳細な説明】
【0001】
【産業上の利用分野】本発明は、プログラムのデバッグ
を行うデバッグシステムに関し、特にデバッガによる処
理の過程で例外原因メッセージ(発生したプログラム例
外(以下、単に「例外」という)の原因を解析するため
の情報を有するメッセージ)をディスプレイ装置(例外
原因メッセージ等を表示するためのディスプレイ装置)
に対して出力する例外原因メッセージ出力装置に関す
る。
【0002】
【従来の技術】従来、この種の例外原因メッセージ出力
装置では、デバッグ対象のプログラムに例外が発生した
場合に、例外が発生した箇所を示す情報(例外が発生し
た箇所を特定するためのソースプログラム名,サブルー
チン名およびソーステキストの行番号等)と例外が発生
した箇所に係るソーステキストの内容とがディスプレイ
装置に対して出力されていた。
【0003】
【発明が解決しようとする課題】上述した従来の例外原
因メッセージ出力装置では、例外が発生した箇所を示す
情報と例外が発生した箇所に係るソーステキストの内容
とだけが例外原因メッセージとして出力されているの
で、データアクセス時の例外が発生した際に、その例外
が発生した箇所のソーステキストで使われているいくつ
かのデータの中のどのデータが不当なデータ(例外の発
生の原因となったデータ。以下、「不当データ」とい
う)であるかを例外原因メッセージから直接的に知るこ
とができなかった。このために、利用者(デバッグを行
っている利用者)は、そのソーステキストで使用されて
いる各データの内容が正当な値であるか否かを確認し、
不当な値である場合にはそのデータによって例外が発生
するか否かを検討するという作業を行う必要があった。
これにより、従来技術においては、デバッグに要する作
業時間が長大になるという欠点があった。
【0004】本発明の目的は、上述の点に鑑み、データ
アクセス時の例外が発生した原因となった不当データの
データ名および値(内容)を例外原因メッセージ中に含
め、デバッグに要する作業時間の短縮に益をもたらす例
外原因メッセージ出力装置を提供することにある。
【0005】なお、デバッグの過程でデバッグ対象のプ
ログラムで使用されている変数(データ)の内容を出力
する技術は、従来から存在する技術によって実現するこ
とができる(例えば、「特開平2−242442(プロ
グラムデバッグ方式)」に係る特許出願参照)。
【0006】
【課題を解決するための手段】本発明の例外原因メッセ
ージ出力装置は、デバッガ,ロードモジュールファイ
ル,ディスプレイ装置およびメモリを備えるデバッグシ
ステムにおいて、ロードモジュールファイルからデバッ
グ対象のプログラムに係るロードモジュールのシンボル
情報を読み込むシンボル情報読込み部と、このシンボル
情報読込み部によって読み込まれたシンボル情報を使用
して不当データのデータ名を示すシンボル名を検索する
シンボル情報検索部と、例外原因メッセージをディスプ
レイ装置に対して出力するメッセージ出力部と、メモリ
上の特定の領域の内容を読み込むメモリ読込み部と、以
下の各処理を行う例外原因解析部とを有する。 デバッグ対象のプログラムにおける例外の発生時に
デバッガから例外アドレスを受け取る。 前記メモリ読込み部を介して当該例外アドレスに対
応するメモリ上の領域の内容を取得する。 その内容に基づいて当該例外がデータアクセス時の
例外であるか否かを判定する。 当該例外がデータアクセス時の例外である場合に当
該例外に係る不当データの特定を行う。 前記メモリ読込み部を介して不当データアドレスを
取得する。 前記シンボル情報検索部を介して当該不当データア
ドレスに対応するシンボル名を取得する。 当該不当データアドレスおよび当該シンボル名に基
づいて不当データのデータ名および値を有する例外原因
メッセージを作成する。 その例外原因メッセージを前記メッセージ出力部に
渡す。
【0007】また、本発明の例外原因メッセージ出力装
置は、前記例外原因解析部に、不当データの特定の過程
で取得した「例外の発生の原因を示す情報」を例外原因
メッセージに付加する機能を持たせることもできる。
【0008】
【実施例】次に、本発明について図面を参照して詳細に
説明する。
【0009】図1は、本発明の例外原因メッセージ出力
装置の一実施例(例外原因メッセージ出力装置1)の構
成等を示すブロック図である。
【0010】例外原因メッセージ出力装置1は、デバッ
ガ7,ロードモジュールファイル8,ディスプレイ装置
9およびメモリ10を有するデバッグシステムに適用さ
れる(例外原因メッセージ出力装置1がデバッガ7内に
組み込まれる構成も実現可能である)。
【0011】また、例外原因メッセージ出力装置1は、
例外原因解析部2と、シンボル情報検索部3と、シンボ
ル情報読込み部4と、メッセージ出力部5と、メモリ読
込み部6とを含んで構成されている。
【0012】図2は、本実施例の例外原因メッセージ出
力装置1の処理を示す流れ図である。この処理は、例外
原因解析部呼出しステップ201と、例外アドレス引渡
しステップ202と、命令コード返却ステップ203
と、命令コード判定ステップ204と、不当データ特定
ステップ205と、不当データアドレス引渡しステップ
206と、シンボル名検索ステップ207と、例外原因
メッセージ作成ステップ208と、例外原因メッセージ
出力ステップ209とからなる。
【0013】次に、このように構成された本実施例の例
外原因メッセージ出力装置(例外原因メッセージ出力装
置1)の動作について説明する。なお、ロードモジュー
ルファイル8に格納されているロードモジュールに係る
プログラムがデバッグ対象のプログラムであるものとす
る。
【0014】デバッガ7は、メモリ10にロードされた
ロードモジュールファイル8内のロードモジュールを実
行して当該ロードモジュール(当該ロードモジュールに
係るプログラム)に関するデバッグを実行する。
【0015】このデバッグの実行中に当該プログラムで
例外が発生すると、デバッガ7は例外原因メッセージ出
力装置1内の例外原因解析部2を呼び出す(ステップ2
01)。なお、この際に、デバッガ7は、例外原因メッ
セージ出力装置1に対して、例外が発生した箇所のメモ
リ10上のアドレス(以下、例外アドレスという)をパ
ラメータとして指定する。
【0016】例外原因解析部2は、例外アドレスをメモ
リ読込み部6に渡す(ステップ202)。
【0017】メモリ読込み部6は、例外アドレスによっ
て指定されるメモリ10内の領域の内容(この場合の当
該内容は例外が発生した時点で実行されていた命令の命
令コードである)を読み込み、呼出し元(例外原因解析
部2)に当該内容(命令コード)を返却する(ステップ
203)。
【0018】例外原因解析部2は、返却された命令コー
ドを解析し、その命令コードに係る命令がデータアクセ
スを行うものであるか否か(すなわち、処理対象の例外
が「データアクセス時の例外」であるか否か)を判定す
る(ステップ204)。
【0019】例外原因解析部2は、ステップ204で処
理対象の例外が「データアクセス時の例外」であると判
定した場合には、メモリ読込み部6から受け取った命令
コードによってアクセスされているいくつかのデータの
中の各々に対するメモリ10内の領域の内容をメモリ読
込み部6を介して受け取り、各データの内容が正当な値
であるか否か(当該命令コードの内容に鑑みてデータタ
イプ等が正当のものであるか否か)を調べ、正当でない
値を有するデータの発見に基づいてどのデータが原因と
なって例外が発生したかということを調べる(すなわ
ち、不当データの特定を行う)(ステップ205)。
【0020】例外原因解析部2は、ステップ205で特
定した不当データのメモリ10上のアドレス(以下、
「不当データアドレス」という。例外原因解析部2はメ
モリ読込み部6を介して不当データアドレスを認識す
る)をシンボル情報検索部3に渡す(ステップ20
6)。
【0021】シンボル情報検索部3は、シンボル情報読
込み部4内のシンボル情報を使用して例外原因解析部2
から渡された不当データアドレスに対応するシンボル名
を検索し、検索結果のシンボル名を例外原因解析部2に
返却する(ステップ207)。
【0022】なお、シンボル情報読込み部4は、あらか
じめ、ロードモジュールファイル8からデバッグ対象の
プログラムに係るロードモジュールのシンボル情報を自
己の内部の格納領域に読み込んでいる。このシンボル情
報は、当該ロードモジュール中の各データ等のシンボル
名と当該データ等の当該ロードモジュールにおける相対
アドレス(オフセット)との対応情報を有している。し
たがって、シンボル情報検索部3にとって、上述の「シ
ンボル情報を使用した不当データアドレスに対応するシ
ンボル名の検索」が可能になる。
【0023】例外原因解析部2は、不当データアドレス
とシンボル情報検索部3から返却されたシンボル名とに
基づいて次のような情報を有する例外原因メッセージを
作成し、その例外原因メッセージをメッセージ出力部5
に渡す(ステップ208)。 従来技術における例外原因メッセージの内容(例外
が発生した箇所を示す情報(例外が発生した箇所を特定
するためのソースプログラム名,サブルーチン名および
ソーステキストの行番号等)および例外が発生した箇所
に係るソーステキストの内容) シンボル情報検索部3から取得したシンボル名によ
って示されるデータ名 不当データアドレスによって示されるメモリ10上
の領域の内容(不当データの値)
【0024】また、例外原因解析部2は、利用者のデバ
ッグに要する労力をさらに軽減するために、次のような
情報を上述の例外原因メッセージに付加することもでき
る(このような情報を有する例外原因メッセージを出力
する例外原因メッセージ出力装置が、請求項2記載の発
明に対応する)。 不当データの特定の過程で取得した「例外の発生の
原因を示す情報(不当データがどのようなデータタイプ
であったために例外が発生したかという情報等)」
【0025】メッセージ出力部5は上述のような例外原
因メッセージをディスプレイ装置9に対して出力し(ス
テップ209)、ディスプレイ装置9はその例外原因メ
ッセージを画面上に表示する。
【0026】なお、例外原因解析部2は、ステップ20
4で処理対象の例外が「データアクセス時の例外」でな
いと判定した場合(メモリ読込み部6から返却された命
令コードに係る命令がデータアクセスを行うものでない
と判定した場合)には、従来技術における例外原因メッ
セージの内容のみを有する例外原因メッセージを作成す
る(ステップ208)。メッセージ出力部5は、この例
外原因メッセージを、ディスプレイ装置9に対して出力
する(ステップ209)。
【0027】
【発明の効果】以上説明したように本発明は、デバッグ
対象のプログラムにデータアクセス時の例外が発生した
場合に、その例外が発生した原因となったデータのデー
タ名および値(内容)を例外原因メッセージ中に含めて
いるので、利用者が例外の原因を調べる際の作業の簡略
化が可能になり、デバッグに要する作業時間を短縮する
ことができるという効果がある。
【0028】なお、この効果は、上述の例外原因メッセ
ージに「例外の発生の原因を示す情報」を付加すること
により、さらに顕著になる。
【図面の簡単な説明】
【図1】本発明の一実施例の構成等を示すブロック図で
ある。
【図2】図1に示す例外原因メッセージ出力装置の処理
を示す流れ図である。
【符号の説明】
1 例外原因メッセージ出力装置 2 例外原因解析部 3 シンボル情報検索部 4 シンボル情報読込み部 5 メッセージ出力部 6 メモリ読込み部 7 デバッガ 8 ロードモジュールファイル 9 ディスプレイ装置 10 メモリ

Claims (2)

    【特許請求の範囲】
  1. 【請求項1】 デバッガ,ロードモジュールファイル,
    ディスプレイ装置およびメモリを備えるデバッグシステ
    ムにおいて、 ロードモジュールファイルからデバッグ対象のプログラ
    ムに係るロードモジュールのシンボル情報を読み込むシ
    ンボル情報読込み部と、 このシンボル情報読込み部によって読み込まれたシンボ
    ル情報を使用して不当データのデータ名を示すシンボル
    名を検索するシンボル情報検索部と、 例外原因メッセージをディスプレイ装置に対して出力す
    るメッセージ出力部と、 メモリ上の特定の領域の内容を読み込むメモリ読込み部
    と、 デバッグ対象のプログラムにおける例外の発生時にデバ
    ッガから例外アドレスを受け取り、前記メモリ読込み部
    を介して当該例外アドレスに対応するメモリ上の領域の
    内容を取得し、その内容に基づいて当該例外がデータア
    クセス時の例外であるか否かを判定し、当該例外がデー
    タアクセス時の例外である場合に当該例外に係る不当デ
    ータの特定を行い、前記メモリ読込み部を介して不当デ
    ータアドレスを取得し、前記シンボル情報検索部を介し
    て当該不当データアドレスに対応するシンボル名を取得
    し、当該不当データアドレスおよび当該シンボル名に基
    づいて不当データのデータ名および値を有する例外原因
    メッセージを作成し、その例外原因メッセージを前記メ
    ッセージ出力部に渡す例外原因解析部とを有することを
    特徴とする例外原因メッセージ出力装置。
  2. 【請求項2】 不当データの特定の過程で取得した「例
    外の発生の原因を示す情報」を例外原因メッセージに付
    加する前記例外原因解析部を有することを特徴とする請
    求項1記載の例外原因メッセージ出力装置。
JP5028585A 1993-01-25 1993-01-25 例外原因メッセージ出力装置 Expired - Fee Related JPH0754477B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP5028585A JPH0754477B2 (ja) 1993-01-25 1993-01-25 例外原因メッセージ出力装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP5028585A JPH0754477B2 (ja) 1993-01-25 1993-01-25 例外原因メッセージ出力装置

Publications (2)

Publication Number Publication Date
JPH06222950A true JPH06222950A (ja) 1994-08-12
JPH0754477B2 JPH0754477B2 (ja) 1995-06-07

Family

ID=12252681

Family Applications (1)

Application Number Title Priority Date Filing Date
JP5028585A Expired - Fee Related JPH0754477B2 (ja) 1993-01-25 1993-01-25 例外原因メッセージ出力装置

Country Status (1)

Country Link
JP (1) JPH0754477B2 (ja)

Also Published As

Publication number Publication date
JPH0754477B2 (ja) 1995-06-07

Similar Documents

Publication Publication Date Title
US6983454B2 (en) Extended “run to” function
US20030018957A1 (en) Debugger monitor with anticipatory highlights
JPH06222950A (ja) 例外原因メッセージ出力装置
JP4055197B2 (ja) プログラムに含まれる手続きの解析装置
JP3011115B2 (ja) デバッグシステム
CN113391873B (zh) 基于虚拟机的行为采集方法、虚拟机、装置及存储介质
JP2752827B2 (ja) デバッガ処理方式
JP2853667B2 (ja) ハードウェア機能ガイド付きプログラムトレース装置
CN116340082A (zh) 一种基于硬件虚拟化的riscv应用程序动态分析方法及装置
JPH05334135A (ja) プログラム異常終了時のエラー情報表示方式
KR0175469B1 (ko) 칠프로그램 변수의 가시성 제어방법
US7627859B2 (en) Method for configuring non-script language library files to be run as scripts
JP3012618B1 (ja) 被検査プログラムのデバグ方法とそのデバグ方式
JPH03100837A (ja) 共有データアクセス検出方式
JP3130421B2 (ja) プログラム解析方法および装置
JPH0778096A (ja) 単体プログラムテスト方式
JPH06259278A (ja) デバッグ情報の獲得方式
JP2001202272A (ja) デバッグの方法とこの方法を用いたデバッグ装置及びデバッグの方法を記録した記録媒体
JPH05100898A (ja) プログラムデバツグ方式
JPS6292034A (ja) プログラムデバツグ装置
JPH05241887A (ja) コンピュータ装置
JPH06250881A (ja) シンボリックデバッグ方式
JPH04229343A (ja) 対話型デバッガにおけるメモリ内容表示方式
JPH04316140A (ja) プログラムトレース装置
JPH11191072A (ja) デバッグのブレイク処理方法及びデバッグ処理装置

Legal Events

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