JPH01177644A - デバック装置 - Google Patents

デバック装置

Info

Publication number
JPH01177644A
JPH01177644A JP63001905A JP190588A JPH01177644A JP H01177644 A JPH01177644 A JP H01177644A JP 63001905 A JP63001905 A JP 63001905A JP 190588 A JP190588 A JP 190588A JP H01177644 A JPH01177644 A JP H01177644A
Authority
JP
Japan
Prior art keywords
subroutine
register
address
program
actual
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
JP63001905A
Other languages
English (en)
Other versions
JPH0724030B2 (ja
Inventor
Koichi Nakamoto
幸一 中本
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 JP63001905A priority Critical patent/JPH0724030B2/ja
Publication of JPH01177644A publication Critical patent/JPH01177644A/ja
Publication of JPH0724030B2 publication Critical patent/JPH0724030B2/ja
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Landscapes

  • Debugging And Monitoring (AREA)

Abstract

(57)【要約】本公報は電子出願前の出願データであるた
め要約のデータは記録されません。

Description

【発明の詳細な説明】 本発明はデバッグ装置に関し、特にプログラムのサブル
ーチンの実引数、又は局所変数へのアクセスを高速に行
うことを特徴とするデバッグ装置である。
(従来の技術) 従来、実機に接続してデバッグを行うためのデバッグ装
置では、アクセスしようとする実機中のプログラムメモ
リのアドレスを指定して、該アドレスへのデータの書込
み、又は該アドレスからのデータの読出しを行っていた
(発明が解決しようとする問題点) 上述した従来の方式、たとえば高級言語で書がれなプロ
グラムでは、プログラム実行時に、サブルーチンが呼ば
れた時に、実行時スタックに実引数、局所変数、呼び側
のサブルーチンのフレームを指すフレームポインタの値
、及び戻り番地からなるスタックフレームを形成される
。このとき、指定されたサブルーチンの実引数、局所変
数に対応するメモリアドレスにアクセスする時、以下の
ような問題が発生する。
まず、実行時スタック中の最近呼ばれたサブルーチンの
スタックフレームから呼び側のサブルーチンのスタック
フレームへ、スタックフレーム中のフレームポインタを
たどりなから、スタックフレームの内容を調べる。
もし、スタックフレーム中の戻り番地が指定されたサブ
ルーチンの命令領域に含まれるならば、該スタックフレ
ームに対応するサブルーチンを呼んだサブルーチンが、
指定されたサブルーチンであることがわかる。したがっ
て、該サブルーチンのスタックフレーム中に保持されて
いる実引数、局所変数にアクセスすることになる。
この時、プログラムのソースファイル、シンボルテーブ
ルを保持するホストマシンとデバッグ装置とを回線によ
り結合して、ホストマシンから、指定された関数の実引
数、局所変数にアクセスしようとすると、該関数の命令
領域、アクセスしようとする実引数、局所変数のフレー
ム内の相対位置に関する情報が、ホストマシンのみにし
かないため、上述のように、実行スタックを辿っていく
場合に、ホストマシンとデバッグ装置間の通信回数が増
加し、サブルーチンの実引数、又は局所変数へのアクセ
スが高速には行われなくなり、デバッグ作業の能率低下
をまねいていた。
本発明は、このような従来の欠点を解決したもので、そ
の目的は、プログラムのサブル−チンの実引数、又は局
所変数へのアクセスを高速にしてデバッグ作業の能率を
高めることになる。
(問題を解決するための手段) 本発明は、デバッグ装置において、該実機で実行中のプ
ログラムのサブルーチン開始アドレスを保持する第1の
レジスタと該サブルーチン終了アドレスを保持する第2
のレジスタと実機中で実行されるサブルーチンの引数、
もしくは局所変数の格納される領域の、フレームポイン
タからのオフセットを保持する第3のレジスタと該領域
から読み出したデータ、もしくは該領域へ書込むデータ
を保持する第4のレジスタと実機中のプログラムメモリ
にあるサブルーチンの実行スタックより、第1のレジス
タ及び第2のレジスタに対応するサブルーチンのフレー
ムを見出し、該フレームより、第3のレジスタに格納さ
れたオフセット値で指定されるサブルーチンの実引数、
もしくは局所変数のアドレスの内容を読出し、第4のレ
ジスタに設定する手段、及び、該アドレスに第4のレジ
スタの内容を書込む手段を有する。
(実−施例) 次に本発明の実施例について図面を参照して説明する。
第1図は本発明のデバッグ装置の一実施例のブロック図
であり、デバッグ装置1と実機2とで構成されている。
デバッグ装置1は、プロセッサ10、メモリ14、デイ
スプレィ15、キーボード16実機のプロセッサ20を
制御する制御回路103、指定されたサブルーチンの開
始アドレスを格納するレジスタ17、指定されたサブル
ーチンの終了アドレスを格納するレジスタ18、指定さ
れたサブルーチンにおいてアクセスする局所変数、又は
実引数へのフレームポインタからのオフセット値を格納
するレジスタ19、アクセスされた局所変数、又は実引
数へ設定するデータ、又は該局所変数又は実引数から読
み出されたデータを格納するデータレジスタ101、読
み又は書きのアクセス方法を保持するアクセスレジスタ
102を具備する。
プロセッサ10、メモリ14、デイプレイ15、キーボ
ード16、レジスタ17、レジスタ18、レジスタ19
、データレジスタ101はデータバス11、アドレスバ
ス12、コントロールバス13によって接続されている
。実機2はプロセー6 = ッサ20、メモリ24を具備する。−アドレスバス22
、プロセッサ20とメモリ24はデータバス21、コン
トロールハス23によって接続されている。デバッグ装
置1のメモリ14には、デイスプレィ15とキーボード
16を制御して、指定されたサブルーチンの命令開始ア
ドレスをレジスタ17に設定し該サブルーチンの命令終
了アドレスをレジスタ18に設定し該サブルーチンのア
クセスする局所変数、又は実引数のフレームポインタか
らのオフセット値をレジスタ19に設定し、該局所変数
又は実引数への読み又は書きのアクセス方法を命令レジ
スタ102に設定し該局所変数、又は実引数に設定する
データをデータレジスタ101に設定し又は、該局所変
数、又は実引数から読出されたデータを保持するデータ
レジスタ101からデータを読出すプログラムが含まれ
る。
次に第1図のデバッグ装置の動作を、第2図及び第3図
を用いて説明する。
まず、デバッグ装置1において、メモリ14に含まれる
前記プログラムを起動させる。該プログラムはキーボー
ド16よりアクセスするサブルーチンの命令開始アドレ
ス、命令終了アドレス、アクセスする局所変数又は実引
数のフレームポインタからのオフセラ1〜値を入力され
、それぞれレジスタ17、レジスタ18、レジスタ19
に設定し、更に、アクセス方法を命令レジスタ102に
設定し、命令レジスタ102の内容が書き込み命令の場
合は、データレジスタ101に書込みデータを設定する
次に、実機2の実行中断状態において、第2図に示す処
理をメモリ14に含まれる制御プログラムは行う。即ち
、該制御プログラムは、プロセッサ20のフレームポイ
ンタレジスタの内容(第3図)をメモリ14にある変数
Aに設定する(第2図201)。
次に、サブルーチンのスタックフレームにおいて、変数
Aからオフセット値の離れたところに格納されているサ
ブルーチンの戻り番地を求め、メモリ14にある変数B
に設定する(第2図202)。
次に、変数Bの内容、即ち戻り番地が、レジスタ17に
含まれる。指定されたサブルーチンの開始アドレスとレ
ジスタ18に含まれるサブルーチンの終了アドレスの間
にあるか否が判定される(第2図203〉。もし間にあ
えば、着目しているサブルーチンを呼んだサブルーチン
が、指定されたサブルーチンである。
もし、サブルーチンの戻り番地がレジスタ17とレジス
タ18の間になければ、着目しているサブルーチンを呼
んだサブルーチンは指定されたサブルーチンではない。
ゆえに、フレームポインタからオフセット値の離れた箇
所に格納されている該サブルーチンを呼んだサブルーチ
ンのフレームポインタを求め、変数Aに設定する(第2
図205)。
前記のサブルーチンの戻り番地の判定を行う。
前記のサブルーチンの戻り番地の判定203において、
指定されたサブルーチンが見出された時、変数Aに゛指
定されたサブルーチンのスタックフレームのポインタ値
を設定する(第2図204)。
次に、第2図206において命令レジスタ102の内容
を調べ、書込み指示の場合は、変動Aの内容からレジス
タ19に含まれるオフセット値離れたメモリアドレスに
、データレジスタ101の内容を書き込む(第2図20
7〉。
又、読出し指示の場合は、当該アドレスの内容をデータ
レジスタ101に設定する。以上でメモリ14に含まれ
る制御プログラムの動作は終了する(第2図208)。
・ (発明の効果) 以上説明したように本発明は、実機において高級言語な
どで書かれたプログラムが実行された時形成される実行
時スタックになるサブルーチンの局所変数又は実引数に
アクセスする場合に、デバッグ装置内に実機内の実行的
スタックを辿る手段を具備することにより、アドレスの
みによるメモリアクセスしか許さないデバッグ装置に比
べて、高速にアクセスすることが可能となる。更に、デ
バッグ装置とホストマシンとを回線で接続してデー1〇
− バックする場合に、ホストマシンとデバッグ装置間の通
信量を減少させることができ、従来のデバッグ装置に比
べてデバッグ効果を向上させるという効果がある。
図面の簡単な説明 第1図は本発明の実施例を示すブロック図、第2図は実
機において実行スタックにあるサブルーチンの局所変数
又は実引数にアクセスする処理の一例を示す流れ図、第
3図は第2図の説明のための実機における実行スタック
の一例を示す図である。
1・・・デバッグ装置 10・・・データバス11・・
・アドレスバス 12・・・コントロールバス14・・
・メモリ    15・・・デイスプレィ16・・・キ
ーボ”−ド  17・・・レジスタ18・・・レジスタ
   19・・・レジスタ101・・・データレジスタ 102・・・アクセスレジスタ

Claims (1)

    【特許請求の範囲】
  1. プロセッサと該プロセッサの制御プログラムを記録した
    プログラムメモリとを具備する実機の、システムバスも
    しくは該プロセッサの端子からアドレス信号、データ信
    号およびコントロール信号を取出してプログラムデバッ
    グを行うデバッグ装置であって、該実機で実行中のプロ
    グラムのサブルーチン開始アドレスを保有する第1のレ
    ジスタと該サブルーチンの終了アドレスを保持する第2
    のレジスタと実機中で実行されるサブルーチンの引数も
    しくは局所変数の格納される領域のフレームポインタか
    らのオフセットを保持する第3のレジスタと該領域から
    読み出したデータ、もしくは該領域へ書込むデータを保
    持する第4のレジスタと実機中のプログラムメモリにあ
    るサブルーチンの実行スタックより、第1のレジスタ及
    び第2のレジスタに対応するサブルーチンのフレームを
    見出し、該フレームより第3のレジスタに格納されたオ
    フセット値で指定されるサブルーチンの実引数もしくは
    局所変数のアドレスの内容を読出し第4のレジスタに設
    定する手段、及び該アドレスに第4のレジスタの内容を
    書込む手段を有し、プログラムのサブルーチンの実引数
    、又は局所変数へのアクセスを高速に行うことを特徴と
    するデバッグ装置。
JP63001905A 1988-01-08 1988-01-08 デバック装置 Expired - Fee Related JPH0724030B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP63001905A JPH0724030B2 (ja) 1988-01-08 1988-01-08 デバック装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP63001905A JPH0724030B2 (ja) 1988-01-08 1988-01-08 デバック装置

Publications (2)

Publication Number Publication Date
JPH01177644A true JPH01177644A (ja) 1989-07-13
JPH0724030B2 JPH0724030B2 (ja) 1995-03-15

Family

ID=11514593

Family Applications (1)

Application Number Title Priority Date Filing Date
JP63001905A Expired - Fee Related JPH0724030B2 (ja) 1988-01-08 1988-01-08 デバック装置

Country Status (1)

Country Link
JP (1) JPH0724030B2 (ja)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH07168743A (ja) * 1993-12-16 1995-07-04 Nec Corp 利用者プログラム異常終了時の情報表示システム
JP2008305337A (ja) * 2007-06-11 2008-12-18 Panasonic Corp プログラム変換装置、プログラム変換方法、プログラム、記憶媒体、デバッグ装置、デバッグ方法及びプログラム開発システム

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS59221753A (ja) * 1983-06-01 1984-12-13 Hitachi Ltd サブル−チントレ−サ
JPS61128743U (ja) * 1985-01-25 1986-08-12

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS59221753A (ja) * 1983-06-01 1984-12-13 Hitachi Ltd サブル−チントレ−サ
JPS61128743U (ja) * 1985-01-25 1986-08-12

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH07168743A (ja) * 1993-12-16 1995-07-04 Nec Corp 利用者プログラム異常終了時の情報表示システム
JP2008305337A (ja) * 2007-06-11 2008-12-18 Panasonic Corp プログラム変換装置、プログラム変換方法、プログラム、記憶媒体、デバッグ装置、デバッグ方法及びプログラム開発システム

Also Published As

Publication number Publication date
JPH0724030B2 (ja) 1995-03-15

Similar Documents

Publication Publication Date Title
KR900013389A (ko) 프로그램 감독장치가 내장된 데이터처리시스템
JPH01177644A (ja) デバック装置
JPS6367695B2 (ja)
JPH0721766B2 (ja) Fortran入出力制御処理装置
JPH05108404A (ja) デバツガシステム
KR890008681A (ko) 프로세서 제어 장치
JP2815638B2 (ja) デバッグ装置
JPS59197946A (ja) メモリ装置
JP2788353B2 (ja) タスクトレース方法
JP2669300B2 (ja) プログラムトレース回路およびプログラムトレース方法
JPH044434A (ja) プログラムのトレース方法
JPH05197596A (ja) トレーサ
JP2507791B2 (ja) デ―タ処理装置
JPS5968067A (ja) 走行ステツプ数指定処理方式
JPH0793184A (ja) デバッグ装置
JPH06131212A (ja) 他のプログラムによるターゲットプログラムの呼び出しに関してターゲットプログラムの実行を追跡するコンピュータ制御方法
JPH04167146A (ja) 情報処理装置のアドレストレース方式
JP2601541B2 (ja) Fortran入出力並び処理方式
JPH1165875A (ja) インサーキットエミュレータ
JPH01130237A (ja) 情報処理装置
KR890016477A (ko) 전자식 교환기의 운용 프로그램 및 데이타 로딩방법
JPH04260139A (ja) ファイルアクセス処理装置
JPH04328644A (ja) デバッグ支援装置
JPS6136253B2 (ja)
JPS61290546A (ja) マイクロプログラム制御装置のトレ−ス方式

Legal Events

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