JPS59153248A - デバッグ装置 - Google Patents

デバッグ装置

Info

Publication number
JPS59153248A
JPS59153248A JP58027306A JP2730683A JPS59153248A JP S59153248 A JPS59153248 A JP S59153248A JP 58027306 A JP58027306 A JP 58027306A JP 2730683 A JP2730683 A JP 2730683A JP S59153248 A JPS59153248 A JP S59153248A
Authority
JP
Japan
Prior art keywords
signal
module
return
cpu
command
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
JP58027306A
Other languages
English (en)
Other versions
JPH0427578B2 (ja
Inventor
Haruo Takagi
高木 治夫
Yoshinori Takahashi
義則 高橋
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.)
Omron Corp
Original Assignee
Tateisi Electronics Co
Omron Tateisi Electronics Co
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 Tateisi Electronics Co, Omron Tateisi Electronics Co filed Critical Tateisi Electronics Co
Priority to JP58027306A priority Critical patent/JPS59153248A/ja
Publication of JPS59153248A publication Critical patent/JPS59153248A/ja
Publication of JPH0427578B2 publication Critical patent/JPH0427578B2/ja
Granted legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/36Preventing errors by testing or debugging software

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Hardware Design (AREA)
  • Quality & Reliability (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Debugging And Monitoring (AREA)

Abstract

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

Description

【発明の詳細な説明】 (発明の分野) この発明はコンピュータ・プログラムのデバッグ装置に
関し、特に、階層的モジュール構造をとるプログラムの
デバッグを効率良く行なうための技術に関する。
(発明の背景) 第1図にプログラムの階層的モジュール構造を模式的に
示している。図中の四角のブロックがそれぞれ1つのモ
ジュールに相当し、各モジュールを結ぶ結線は各モジュ
ールの親子関係を示す。結線されて上下に配置された2
つのモジュールのうち、上位のものが親モジュールで、
下位のものが子モジュールである。周知のように、親モ
ジュール中のコール命令が実行されることによって子モ
ジュールに進み、子モジュールのリターン命令が実行さ
れることによって親モジュールに戻る。
このような階層的なモジュール構造のプログラムをデバ
ッグする場合、各モジュール単位でデバッグを進めるの
が一般的である。ここで、第1図の例において21番の
モジュールに着目してデバッグを行なっているとする。
21番の子モジュールは、下位に211番、212番、
213番の各子モジュールを含んでおり、更に213番
のモジュールは2131番の子モジュールを含んでいる
これら下位のモジュールについては一応デバッグが完了
していて、上位の21番のモジュールについて例えばス
テップ実行等によってチェックを行なっているとする。
21番のモジュールをチェックしながらこれを実行させ
て行き、コール命令で213番のモジュールに移行し、
213番のモジュール内のある点で動作が停止している
とする。この段階までで必要なチェックが終了している
と、プログラム実行をチェックの主体である21番のモ
ジュールの、213番のモジュールからリターンした点
まで飛ばし、その点で動作を停止させ、21番のモジニ
L−ルのその後のチェックを行なう。モジュール構造の
プログラムのデバッグにはこのような状況がしばしば生
じる。この例の他にも、子モジュールのある点で実行が
停止していて、そこからその子モジュールをコールした
親モジュールの、子モジュールからのリターン点に直ぐ
に戻し、その点で動作を停止させる、といった操作が頻
繁に必要となる。
従来のデバッグ装置では、子モジュールのある点で動作
停止している状態から、親モジュールの子モジュールか
らのリターン点まで実行し、その点で再び動作を停止さ
せる場合、次のように操作していた。
子モジュールから親モジュールへのリターン点のアドレ
スをプログラムリスト等によって調べ、そのアドレスを
ブレークポイントとしてセットする入力操作を行ない、
そしてプログラムを実行させる。この方法では、リター
ン点のアドレスを捜すのが面倒で時間がかかる。また、
セットしたブレークポイントで動松が停止しIC後は、
忘れずにフレークポイントを解除づる操作を行なわなけ
ればならず、この点も操作上面倒で煩わしいものであっ
た。これらのことが、階層的モジュール構造を取るプロ
グラムのデバッグを効率良く進める上で大ぎな障害とな
っていた。
(発明の目的) この発明の目的は、プログラムの実行動作を、子モジュ
ールのめる点1.s tら親モジュールのその子モジュ
ールからのリターン点まで進め、その点で停止させるこ
とを簡単に行なえるようにしたデバッグ装置を提供する
ことにある。
(発明の構成と効果) 上記の目的を達成するために、この発明は、実IN C
P Uがコール命令を実行するのを検出するコール命令
検出手段と、実機CPUがリターン命令を実行づるのを
検出するリターン命令検出手段と、実機c p uの動
作を任意のプログラムアドレスで停止させる手段と、停
止アドレスから実機cpuの動作を再開させる指令手段
と、この指令手段の指令信号でリセットされ、上記コー
ル命令検出手段の検出信号でインクリメントされるとと
もに、上記リターン命令検出手段の検出信号でディクリ
メントされるアップダウンカウンタ手段と、上記指令手
段の指令信号による実1m CP Uの動作中に、上記
カウンタ手段の内容が初期値を示している状態にて上記
リターン命令検出手段の検出信号が生じたとき、実mc
puの動作を停止させる手段とを備えることを特徴とす
る。
このデバッグ装置によれば、子モジュールから親モジュ
ールへのリターン点のアドレスを捜す面倒や、そのアド
レスをブレークポイントとして設定する操作、およびそ
の解除操作の煩わしさがなくなり、階層的モジュール構
造のプログラムのデバッグ操作を効率良く進めることが
できる。
(実施例の説明) 第2図はこの発明の一実施例を示す。この図はデバッグ
対象である実1fiAとこの発明によるデバッグ装置B
を結合した状態で示している。ただし、実機CPU1の
リード端子あるいはシステムバス(アドレスバスABI
、データバスDB1.コントロールバスCB1)からア
ドレス信号、データバス信号、コントロール信号を取り
出してプログラムデバッグを行なうデバッグ装置として
の基本構成については、これが良(知られていることか
ら、図示していない。図ではこの発明のデバッグ装置の
特徴とする部分のみを抽出して示している。
デバッグ装置Bのキーボードにお1プるRIJNキー9
を押下すると、そのキー人力信号がORゲー1−05を
介してノリツブ70ツブ6をリセツトダ−る。フリップ
ノロツブ6の出力QがO″になると、停止制御回路3は
実機CPIJ1に与える停止信号BKを++ O++に
する。停止信号BKが0′。
になると、実機’ c p u iはプログラムの実行
動作を開!28づ−る。
ブレークポイント検出回路4は、キーボードなどから入
力されたブレークアドレスを記憶しており、実機CPU
1の動作時にアドレスバスAB1上のアドレス信号と記
憶しているアドレスとを比較し、両者が一致したときに
ブレークポイント信号BP=”1’“を出力する。この
信号はORグーフリップフロップ6の出力Qが′″1′
′になると、停止制御回路3は、タイミング検出回路2
からのサイクルタイミング信号T1に同期して、実機C
PU1に与える停止信号8Kを“1″にする。実機CP
UIは停止信号B K = ” 1 ”を受けてプログ
ラム実行動作を停止覆る。なお、タイミング検出回路2
は実機CPU1のコントロールバスCB1上の信号から
実機CPU1の動作に同期したサイクルタイミング信号
T1を作る。以上が、実機CPUIの動作を任意のプロ
グラムアドレスで停止させる制御系である。
ステップキー8を押下すると、そのキー人力信号は直接
停止制御回路3に印加されるとともに、ORゲートG4
を介してフリップフロップ6をセットする。このとき停
止制御回路3は、ステップキー8の入力信号と、フリッ
プ70ツブ6の出力Qと、タイミング検出回路2のタイ
ミング信号T1とに基づいて、実機CPIJ1に与える
停止信号BKの論理を制御し、ステップキ−8が押下さ
れる毎に、実IIcPUIのプログラム実行動作を1ス
テツプづつ進めざぜる。つまり、停止信号BKを°“0
11にして実機CPU1を動作させ、1ステツプの命令
を実行した後に停止信号BKを“1″にして実機cpu
1を停止させる、という制御をステップキー8のキー人
力毎に行なう。
以上の機能に加えて、この発明のデバッグ装置Bは以下
の制御機能を備える。デコーダ5は実機CPU1のデー
タバスDB1上にコール命令およびリターン命令の命令
コードが現われたのをそれぞれ検出する。また、タイミ
ング検出回路2はコントロールバスCB1上の信号に基
づいて、実機CP U 1が命令コードをフェッチする
タイミングに同期したフェッチタイミング信号F1を出
力する。
実IN CP Uがプログラム実行中に、あるコール命
令をフェッチすると、デコーダ5のコール命令検出信@
SCが′1′°になるとともに、タイミング検出回路2
からフェッチタイミング信号F1が出力される。この両
信号を受けてANDゲートG2の出力が1″となる。
同様に、実機CPU1があるリターン命令をフェッチす
ると、デコーダ5のリターン命令検出信号SRが1″と
なるとともに、タイミング検出回路2のフェッチタイミ
ング信号F1が出力され、この両信号を受けてANDゲ
ートG1の出力が” ’1 ”となる。
アップダウンウカンタ11は、実Ill CP U 1
のコール命令フェッチ時に生ずるANDゲートG2の出
力によってアップカウント(インクリメント)され、リ
ターン命令フェッチ時に生じるANDゲートG1の出力
によってダウンカウントくディクリメント)される。ま
たこのカウンタ11は、以下に述べるGO主キー0のキ
ー人力信号によって初期値にリセットされる。カウンタ
11の計数出力はデコーダ12に入力される。デコーダ
12は、カウンタ11の計数内容が初期値すなわち零に
なったとき信@ A o−” 1 ”を出力する。
カウンタ11の計数内容が零で信号△0が“1″となり
、実機CPU1がリターン命令を7エッチしてANDゲ
ートG1の出力がII 1 !Jとなり、かつフリップ
フロップ7がセットされてその出力Qが1″であると、
ANDゲートG3の三入力の論理が揃い、その出力が1
″となる。このAND’7’−トG3f7) ” 1 
”出カバ、ORゲートG4を介してフリップフロップ6
をセットし、フリップフロップ6の出力Q = ” 1
 ”が停止制御回路3に作用して、実11CPUIの動
作を停止させる。
以上が、子モジュールのある点で停止している実tlc
PU1の動作を再開させ、その子モジュールから親モジ
ュールにリターンした点で再び実機CPU1を停止させ
る制御系である。以下、この制御系の動作を第1図のプ
ログラム例に従って具体的に説明する。
先に説明したブレークポイントの制御あるいはステップ
実行の制御で、実tacPU1が213番のモジュール
のある点で停止しているとする。この状態でGoキー1
0を押下すると、このキー人力は、ORゲートG5を介
してフリップ70ツブ6をリセットし、またフリップフ
ロップ7をセットし、またカウンタ11をリセットする
。フリップ70ツブ6がリセットされIにとにより、停
止制御回路3から実機cPU1に与える停止信号BKが
前述したようにO″となり、実機CPIJ1がプログラ
ム実行動作を再開する。
これで実機cpuiは213番のモジュールを停止点か
ら継続して実行する。その途中で、コール命令により2
131番の下位モジュールに移ることになるが、そのコ
ール命令をフェッチした時点で、カウンタ11がインク
リメントされてその計数値が1となる。続いて2131
番のモジュールの末尾に達すると、実機cpuiはリタ
ーン命令を実行して213番のモジュールに戻り、その
後もプログラム実行を継続することになる。その際のリ
ターン命令をフェッチした時点でカウンタ11がディク
リメントされ、その計数内容が初期値すなわち零となり
、信号A。が111 IIとなる。
その後実11CPU1が213番のモジュールを実行し
て行き、その末尾のリターン命令をフェッチすると、A
NDゲートG1の出力が1゛°となり、このときAND
グー1−03の三入力の論理が揃(、S、ゲートG3の
出力が“1″となる。この信号でフリップフロップ7が
リセットされるとともに、フリップフロップ6がセット
され、停止制4回路3に対して停止要求を出し、停止制
御回路3Iよこれを受けて所定のタイミングで実1*c
PU1に対する停止信号BKを゛1°°にする。これで
、実機CPU1は213番のモジュールから21番のモ
ジュールへリターンした点で停止する。
【図面の簡単な説明】
第1図は階層的モジュール構造のプログラム例を示す図
、第2図はこの発明の一実施例を示すブロック図である
。 1・・・・・・実*cpu 2・・・・・・タイミング検出回路 3・・・・・・停止制御回路 4・・・・・・ブレークポイント検出回路5・・・・・
・デコーダ 11・・・カウンタ

Claims (1)

    【特許請求の範囲】
  1. (1)実m、CPUのリード端子あるいはシステムバス
    からアドレス信号、データバス信号、コントロール信号
    を取り出してプログラムのデバッグを行なう装置で、実
    機CPUがコール命令を実行するのを検出するコール命
    令検出手段と、実IaCPUがリターン命令を実行する
    のを検出するリターン命令検出手段と、実機cPtJの
    動作を任意のプログラムアドレスで停止させる手段と、
    停止アドレスから実1cpuの動作を再開させる指令手
    段と、この指令手段の指令信号でリセットされ、上記コ
    ール命令検出手段の検出信号でインクリメントされると
    ともに、上記リターン命令検出手段の検出信号でディク
    リメントされるアップダウンカウンタ手段と、上記指令
    手段の指令信号による実11cPUの動作中に、上記カ
    ウンタ手段の内容が初期値を示している状態にて上記リ
    ターン命令検出手段の検出信号が生じたとき、実機CP
    Uの動作を停止させる手段とを備えることを特徴とする
    デバッグ装置。
JP58027306A 1983-02-21 1983-02-21 デバッグ装置 Granted JPS59153248A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP58027306A JPS59153248A (ja) 1983-02-21 1983-02-21 デバッグ装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP58027306A JPS59153248A (ja) 1983-02-21 1983-02-21 デバッグ装置

Publications (2)

Publication Number Publication Date
JPS59153248A true JPS59153248A (ja) 1984-09-01
JPH0427578B2 JPH0427578B2 (ja) 1992-05-12

Family

ID=12217398

Family Applications (1)

Application Number Title Priority Date Filing Date
JP58027306A Granted JPS59153248A (ja) 1983-02-21 1983-02-21 デバッグ装置

Country Status (1)

Country Link
JP (1) JPS59153248A (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH01140349A (ja) * 1987-11-27 1989-06-01 Nec Corp 評価用シングルチップマイクロコンピュータ

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS5459848A (en) * 1977-10-21 1979-05-14 Fujitsu Ltd Fault detecting device for subroutine action
JPS5622147A (en) * 1979-07-31 1981-03-02 Fujitsu Ltd Debug control system

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS5459848A (en) * 1977-10-21 1979-05-14 Fujitsu Ltd Fault detecting device for subroutine action
JPS5622147A (en) * 1979-07-31 1981-03-02 Fujitsu Ltd Debug control system

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH01140349A (ja) * 1987-11-27 1989-06-01 Nec Corp 評価用シングルチップマイクロコンピュータ

Also Published As

Publication number Publication date
JPH0427578B2 (ja) 1992-05-12

Similar Documents

Publication Publication Date Title
US4747045A (en) Information processing apparatus having an instruction prefetch circuit
JPS61269444A (ja) デ−タ伝送方式
JPS59153248A (ja) デバッグ装置
JP2019204388A (ja) 半導体装置、およびデバッグ方法
JPH08171504A (ja) エミュレ−ション装置
JPS6049337B2 (ja) パイプライン制御方式
US20020032895A1 (en) Optimization of a logic circuit having a hierarchical structure
EP4040294A1 (en) Process scheduling method and apparatus of vision software
JPS6385942A (ja) 並列プログラムのデバツグ支援装置
JP2808757B2 (ja) デバッグ用マイクロプロセッサ
KR930007470B1 (ko) 전전자 교환기의 롬(rom) 상주 모니터 디버거 명령어 해석기의 온라인 방식 구동방법
JP3120434B2 (ja) プログラム動作解析方法
JPS63129427A (ja) 割り込み応答論理変換回路
JPH0331940A (ja) マイクロプログラム制御装置
CN111782442A (zh) 设备异常处理方法、系统、电子设备及存储介质
JPH06282353A (ja) 時間短縮機能を有するタイマ装置
JPS5833737A (ja) リセツト制御方式
JPS634348A (ja) デ−タ処理装置
JPS5848154A (ja) プログラム1ステツプ制御方式
JPS61286936A (ja) ステップ動作制御方式
JPS59202548A (ja) デバツグ装置
JPS63155330A (ja) マイクロプログラム制御装置
JPS59744A (ja) デ−タ処理装置
JPS5824951A (ja) マイクロプログラムのエラ−検出方式
KR20030082319A (ko) 프로세서의 디버깅 장치 및 방법