JPH0272438A - デバッグ方式 - Google Patents

デバッグ方式

Info

Publication number
JPH0272438A
JPH0272438A JP63225168A JP22516888A JPH0272438A JP H0272438 A JPH0272438 A JP H0272438A JP 63225168 A JP63225168 A JP 63225168A JP 22516888 A JP22516888 A JP 22516888A JP H0272438 A JPH0272438 A JP H0272438A
Authority
JP
Japan
Prior art keywords
check
address
contents
program
area
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.)
Pending
Application number
JP63225168A
Other languages
English (en)
Inventor
Hiroyuki Shoji
庄司 浩之
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.)
Ricoh Co Ltd
Original Assignee
Ricoh Co Ltd
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 Ricoh Co Ltd filed Critical Ricoh Co Ltd
Priority to JP63225168A priority Critical patent/JPH0272438A/ja
Publication of JPH0272438A publication Critical patent/JPH0272438A/ja
Pending legal-status Critical Current

Links

Landscapes

  • Debugging And Monitoring (AREA)
  • Test And Diagnosis Of Digital Computers (AREA)

Abstract

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

Description

【発明の詳細な説明】 〔産業上の利用分野〕 本発明は、デバッグ方式に関し、特にマイクロコンピュ
ータ開発支援システムにおいて、マイクロコンピュータ
用プログラム開発の効率化を行うのに好適なデバッグ方
式に関する。
〔従来の技術〕
従来、マイクロコンピュータ開発支援システムでは、タ
ーゲットシステムのプログラム誤り等を検出するためタ
ーゲットデバッガが使用されている。このターゲットデ
バッガは、実現形態によりアプリケーション向きデバッ
ガ、モニタデバッガ。
カーネル向きデバッガに分類される。これらのデバッガ
では、おおむね■デバッグ対象プログラムの任意アドレ
スからの実行、停止、およびステップ実行、■ブレーク
ポイントの設定、解除、■メモリ、レジスタへのデータ
書込み、および参照、■テストコマンド、データの設定
環境、■トレースの設定、実行、および表示などが、コ
マンドにより会話形式で進められる。
上述したデバッガのうちモニタデバッガは、第2図に示
すように、ターゲットシステム1上に完全なセルフ開発
環境を構築できるほどのO8機能。
ハードウェア構成はなく(このような場合、O8に相当
するモニタが稼働する)、デバッガ6のみがモニタと一
体化されて提供される。本形態でのデバッグでは、ホス
トシステム1でコンパイル、リンクしたロードモジュー
ル7を回線を通してダウンロード、ないしはFD媒体5
によりローディングするか、またはターゲットシステム
でロードモジュールを作成する。そして、キーボード4
からコマンド等を入力することによりデバッガを起動し
て、プログラムデバッグを行い、そのデバッグ情報は、
デイスプレィ装置4に表示される。
このような開発支援システムを用いて開発されるMPU
は、データのセーブ、リカバーのためや。
サブルーチンコール、割込み処理の戻り番地や、制御情
報の保存9回復のためにスタックエリアを使用し、その
格納位置をスタックポインタ(sp)により管理する。
そこで、プログラムの誤りによりセーブ・リカバーの対
応や、MPU制御の整合性がくずれると、ユーザプログ
ラムは暴走してしまい、気付いた時には、メモリのデー
タが破壊されるなど、どこが異常だったのか、知るのは
、非常に困難になる。
なお、関連する技術としては、本出願人が先に提案した
特願昭62−222472号明細書が挙げられる。
〔発明が解決しようとする課題〕
上記従来技術では、エラーの検出箇所を特定できなかっ
たため、デバッグに時間がかかるという問題点があった
本発明の目的は、このような従来の問題点を解決し、デ
バッグの誤りを早期検出可能とし、デバッグの効率化を
図るデバッグ方式を提供することにある。
〔課題を解決するための手段〕
上記目的を達成するため1本発明のデバッグ方式は、マ
イクロコンピュータ開発支援システムのデバッグ方式に
おいて、スタックポインタの内容をチェックするための
チェックアドレスを制御メモリに設定するチェックアド
レス設定手段と、プログラム実行時に上記制御メモリに
設定されたチェックアドレスに対応するスタックポイン
タの内容をチェックするチェック手段とを設けたことに
特徴がある。
〔作用〕
本発明においては、スタックポインタの内容をチェック
するためのチェックアドレスを制御メモリに設定し、プ
ログラム実行時に上記制御メモリに設定されたチェック
アドレスに対応するスタックポインタの内容をチェック
することにより、マイクロコンピュータ用プログラム開
発の効率化を図る。
〔実施例〕
以下、本発明の一実施例を、図面により詳細に説明する
本実施例全体のシステム構成は、第2図と同様であるの
で、説明は省略することとし、前述した従来技術の説明
を参照されたい。
第1図は、本発明の一実施例を示すデバッガの機能構成
図である0本実施例は、上述したシステム環境下のデバ
ッガ6に、スタックポインタ(SP)の内容を設定する
機能と、SP内容をチェックする機能を追加したもので
ある。
第1図において、11はスタックポインタの内容をチェ
ックするためのチェックアドレスを制御メモリに設定す
るSPチェックアドレス設定部、12はGoコマンドの
実行制御を司るGoコマンド実行制御部、13は従来か
らあるその他の各種コマンド処理部、14は制御メモリ
、15はプログラム実行時に上記制御メモリに設定され
たチェックアドレスに対応するスタックポインタの内容
をチェックするSPチェック処理部である。
第3図は、制御メモリ14の内容を示す図である。これ
は、SPの内容をチェックするためのSPチェックアド
レス等を設定するためのものであり、FLGzlJ7,
5PSAVEzす7.ENT−1〜ENT、エリア、E
XT−8〜EXT−、エリアの格納エリアがある。
MPUシステムでは、ブツシュ命令rpushAJ (
Aレジスタ内容をスタックエリアへ格納)を実行すると
、現在のSPの示すメモリへデータを書込んだ後、SP
内容をプラス1する。逆に、ポツプ命令rpop  A
J を行うと、SP内容をマイナス1して、その示すメ
モリ内容をAレジスタへ移す、また、サブルーチンコー
ルを行うと、その戻り番地が、自動的にスタックエリア
へプッシュされ、サブルーチンを抜けるリターン命令で
、自動的にその戻り番地が、ポツプアップされ、コール
元のルーチンへ戻ることができるのである。
従って、サブルーチンの中でSPの変化するような命令
が行われても、リターン命令を実行する時には、SPの
値は、サブルーチンがコールされた直後の値に等しくな
っていなければならないのである。そこで、本実施例で
は、SPの不一致が発生した時に、即ブレークが発生し
て、異常を知らせてくれる。
第4図〜第8図は、本実施例におけるデバッグ方式の詳
細を説明するためのフローチャートである。以下、本実
施例の詳細動作を、これらのフローに従って説明する。
第4図は、第1図におけるSPチェックアドレス設定部
11の処理フローチャートである。
まず、入力情報としてパラメータにより入力されたエン
トリアドレス群、エグジットアドレス群が入力されると
、入力情報のうちエントリアドレス群を制御メモリ14
のEN’l、〜ENT−1Ilへ設定し、エグジットア
ドレス群をそのEXT−□〜EXT−0へ設定する。す
なわち、ADH8ETコマンドを実行することにより前
述した設定を行う。
第5図は、第1図におけるGoコマンド実行制御部12
の追加機能を説明するための処理フローチャートである
。すなわち1本実施例では、従来の処理中に制御メモリ
14のFLGエリアと5PSAVEエリアをOクリアす
る処理ステップ101と、ユーザプログラムの次の実行
アドレスが、第4図で設定したアドレスに一致するか否
かを判定し、一致すればSP内容のチェックまたはその
準備を行うSPチェック処理ステップ201を追加し、
これらのステップによりSPの不一致の検出を早期に検
出できる。その後、正常処理の場合は、ユーザプログラ
ムの1ステツプを実行する(ステップ301)、次に、
Goコマンド実行終了を判定しくステップ401)、未
了の場合は処理を繰り返す。判定終了の場合は後処理を
行い、処理を終了する。その他、破線で示した部分には
、従来からあるGoコマンドの処理を行う。
第6図は、第1図におけるSPチェック処理部15のS
Pチェック処理の詳細フローチャートである。すなわち
、第5図の処理ステップ201の詳細を示している。
まず、ユーザプログラムの次の実行命令アドレスUSR
−PCとENT−、エリアのアドレスを比較する(ステ
ップ601)、同様な比較をEN’l。
まで行う(ステップ605)、一致した時はFLGエリ
アの内容をチェックしくステップ610)、値が1なら
ば、ブレークを出す(ステップ615)。
FLGエリアの内容がOならば、5PSAVEエリアに
SPの内容を設定し、続いてFLGエリアに1を設定し
くステップ620)、SPチェック処理を終了する(ス
テップ625)。
次にユーザプログラムの次の実行命令アドレスUSR−
PCとEX’11エリアのアドレスを比較する(ステッ
プ630)、同様な比較をEXT−0まで行う(ステッ
プ635)、一致した時はFLGエリアの内容をチェッ
クしくステップ640)、値がOならば、ブレークを出
す(ステップ615)。
FLGエリアの内容が1ならば、SPの内容と5PSA
VEエリアの内容とを比較しくステップ645)、不一
致の時はブレークを出す(ステップ615)。一致した
時は5PSAVEエリアおよびFLGエリアを0クリア
しくステップ650)、SPチェック処理を終了する(
ステップ655)。
ユーザプログラムの次の実行命令アドレスUSR−PC
とEXT−1〜nのアドレスとの比較処理630または
635において、不一致の時は、SPチェック処理を終
了する(ステップ660)。
第7図は、サブルーチンMOD−Aの処理ツーチャート
である。ここで、AEN工、・・・、AENIlは各エ
ントリのアドレス、AEX、、  ・・・AEXnは各
リターン命令のアドレスとする。
サブルーチンMOD−Aは、条件の違いにより、入口(
m個)および出口(n個)が複数個存在する。
デバッグの実行に当っては、まず、ADR3ETコマン
ドを実行して、そのパラメータに、エントリアドレスA
EN□、・・・、AEN□エグジットアドレスAEX工
、・・・、AEXnを指定することによって、順にEN
T−1〜ENT−In、EXT−8〜EX’loエリア
へ格納される。
次に、Goコマンド(第5図参照)を実行すると、まず
FLGエリアと5PSAVEエリアがOクリアされ、以
降、ユーザプログラムの命令を1ステップ実行する毎に
、その直前にSPチェック処理(第6図参照)が行われ
る。
さて、GOコマンドによるユーザプログラムの実行中に
、MOD−Aがコールされると(第8図)、CALL命
令で戻り番地がスタックエリアへ格納され、SPの内容
が更新され(それをiとする)、続いてAEN工の命令
実行の直前に実施されるSPチェック処理で、iが5P
SAVEへ、1がFLGヘセットされる。その後、正常
な進行をすれば、(SP=i+1)、(SP=i+2)
、(SP=i+1)、(SP=i)を経由して(ステッ
プ701゜705、710.715)、 AEX、に:
至り、spの内容が5PSAVEエリアの内容と一致(
i)するために、FLGエリア、5PSAVEエリアを
クリアして、何ごともなく、次の命令へと処理が続いて
行く。
一方、プログラムが誤っていて、分岐命令(ステップ7
20)で、AEX、へ向ってしまった場合。
ステップ725を通過して、5P=i+1のまま、A 
E X n テS P (i + 1 )と5PSAV
E(i) との不一致が起こり、GOコマンドの実行は
ブレークされ、ユーザは異常の発生を知る。
このように、本実施例においては、プログラムの作業時
に、プログラム制御の構造上の誤り、またはデータのス
タックエリアへのセーブ・リカバー等に矛盾が生じた時
、速やかに検出し、ブレークするので、ユーザはメモリ
のデータを調へて容易に問題箇所を見つけることが可能
である。
本実施例では、1組のエントリ=エグジットポイントに
対するチェック処理について説明したが、複数組のもの
に対するチェック処理についても同様すこ適用できる。
〔発明の効果〕
以上説明したように、本発明によれば、デバッグの誤り
が早期検出可能となり、デバッグの効率化を図ることが
できる。
【図面の簡単な説明】
第1図は本発明の一実施例を示すデバッガの機能構成図
、第2図は本発明の適用対象であるマイクロコンピュー
タ開発支援システムの構成図、第3図は制御メモリの内
容を示す図、第4図は第1図におけるSPチェックアド
レス設定部の処理フローチャー1−1第5図は第1図に
おけるGOコマンド実行制御部の追加機能を説明するた
めの処理フローチャート、第6図は第1図におけるSP
チェック処理部のSPチェック処理の詳細フローチャー
ト、第7図はサブルーチンMOD−Aの処理ツーチャー
ト、第8図はGoコマンドにより実行されるユーザプロ
グラムの処理フローチャートである。 11:SPチェックアドレス設定部、12:G○コマン
ド実行制御部、13:その他の各種コマンド処理部、1
4:制御メモリ、15:SPチェック処理部。 第 図 N qコ 第 図 第 図 FLG。 ニ==コ PSAVE 口===コ NT−t E肩−□ 口===コ 二二二二コ ExT−1===コ ′>1 ExT−□ 二二二コ 第 図 :終了 第 図 第 図

Claims (1)

    【特許請求の範囲】
  1. (1)マイクロコンピュータ開発支援システムのデバッ
    グ方式において、スタックポインタの内容をチェックす
    るためのチェックアドレスを制御メモリに設定するチェ
    ックアドレス設定手段と、プログラム実行時に上記制御
    メモリに設定されたチェックアドレスに対応するスタッ
    クポインタの内容をチェックするチェック手段とを設け
    たことを特徴とするデバッグ方式。
JP63225168A 1988-09-08 1988-09-08 デバッグ方式 Pending JPH0272438A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP63225168A JPH0272438A (ja) 1988-09-08 1988-09-08 デバッグ方式

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP63225168A JPH0272438A (ja) 1988-09-08 1988-09-08 デバッグ方式

Publications (1)

Publication Number Publication Date
JPH0272438A true JPH0272438A (ja) 1990-03-12

Family

ID=16825009

Family Applications (1)

Application Number Title Priority Date Filing Date
JP63225168A Pending JPH0272438A (ja) 1988-09-08 1988-09-08 デバッグ方式

Country Status (1)

Country Link
JP (1) JPH0272438A (ja)

Similar Documents

Publication Publication Date Title
US6598178B1 (en) Peripheral breakpoint signaler
EP0111952B1 (en) Verification of a processor architecture having a partial instruction set
US5280626A (en) Multi-process emulator suitable for testing software under multi-process environments
JPH0272438A (ja) デバッグ方式
EP0801348A1 (en) Method of monitoring the operation of a computer
JPH02275539A (ja) デバッグ処理方式
JPH03294934A (ja) 高級プログラム言語用デバッガ
US20250004911A1 (en) Method for testing a computer program
US20250004934A1 (en) Method for testing a computer program
JP2659366B2 (ja) デバッグ方法及びその装置
JP2002073370A (ja) デバッグ支援装置およびその装置によるデバッグ方法
JPS61221837A (ja) コンピユ−タの検査方法
JPH03218539A (ja) 並列計算機システムにおけるデバッグ方法
JPH05250221A (ja) シミュレータ実行方式
JPH06242982A (ja) 仮想計算機システムの試験方式
JPH0497445A (ja) 情報処理装置の診断方式
JPH02210556A (ja) プログラム実行状態の視覚化装置
JPH0695910A (ja) 異常処理のための対話型デバッグ制御方式
JPH02115951A (ja) 高級言語プログラム保守デバッグ方式
JPS61235955A (ja) プログラムのデバツグ方式
JPH04358232A (ja) 情報処理装置の機能試験方法
JPH04162149A (ja) 電子計算機
JPH01205348A (ja) プログラムデバッグ方式
JPS63198133A (ja) 故障診断方式
JPS58121461A (ja) 診断プログラムのデバツグ装置