JPH0310339A - 関数ステップ機能を有するデバッグ方法 - Google Patents

関数ステップ機能を有するデバッグ方法

Info

Publication number
JPH0310339A
JPH0310339A JP1144672A JP14467289A JPH0310339A JP H0310339 A JPH0310339 A JP H0310339A JP 1144672 A JP1144672 A JP 1144672A JP 14467289 A JP14467289 A JP 14467289A JP H0310339 A JPH0310339 A JP H0310339A
Authority
JP
Japan
Prior art keywords
function
debugger
break
breakpoint
circuit emulator
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
JP1144672A
Other languages
English (en)
Inventor
Tsutomu Yanagawa
力 柳川
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.)
Yokogawa Electric Corp
Original Assignee
Yokogawa Electric 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 Yokogawa Electric Corp filed Critical Yokogawa Electric Corp
Priority to JP1144672A priority Critical patent/JPH0310339A/ja
Publication of JPH0310339A publication Critical patent/JPH0310339A/ja
Pending legal-status Critical Current

Links

Landscapes

  • Debugging And Monitoring (AREA)

Abstract

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

Description

【発明の詳細な説明】 〈産業上の利用分野〉 本発明は、C言語で記述したプログラムをデバッグする
方法に関し、詳しくはインサーキットエミュレータを用
いてプログラムをデバッグする際にプログラムを関数単
位てステップ動作させる方法に関する。
〈従来の技術〉 マイクロプロセッサ用インサーキットエミュレータは、
マイクロプロセッザ応用機器の開発およびデバッグを行
なう際に用いられる。このインサーキットエミュレータ
は、ターゲラ1〜マイク1コプロセツサを1命令ごとに
停止さぜながら実行さぜターゲラ1へプログラムのデパ
ックを行なう機能を持っている。そして近年の高級言語
(例えば、C言語)の普及により、高級言語でのソース
行ごとに停止さぜながら実行さぜ、高級言語レベルのデ
パックを行なうことができる機能を持つものも出現して
いる(例えは、出願人が出願しな特願昭63  12’
1675 号)。
〈発明が解決しようとする課題〉 ところて、Cプログラムを開発するプログラマはデパッ
ク時の基本単位として行と関数を注目点として扱うか、
上記この柿のインサーキットエミュレータを用いたデバ
ッガでは、行に対するデパック機能としてラインステッ
プという概念はあったものの、関数単位のステップ機能
という概念はなかっな。
また、草体デバッグの基本単位は行であるが、システム
デバッグ時の基本単位は関数の場合が多く、関数の入出
力条件値の正当性のチエツクが、バク要因解析の第一フ
ェーズであり、関数単位のデバッグ機能か強く望まれて
いる。
従来のインサーキットエミュレータでは、この関数単位
のデパックか充実していないという問題があった。
本発明の目的は、このような点に鑑みてなされたもので
、インサーキットエミュレータを用い、C言語て記述さ
れたプログラムごデパックする際、ノー 関数単位にステップ実行しながら関数のアーギュメント
(引数)および関数値(あるいは返値ともいう)を出力
するような関数ステップ機能を持−ノだデバッグ方法を
提供することにある。
く課題を解決するための手段〉 第1図は本発明のデバッグ方法の原理フローである。本
発明においては、インサーキットエミュレータがポス1
−マシン上のインサーキットエミル−タ制御ツール(い
わゆるデバッガ)により制御される構成で、すべてのデ
パック機能は上位のデバッガとインサーキラI・エミュ
レータが結びついて初めて可能となる。
■ます、インサーキットエミュレータはデバッガからオ
ブジェクトモジュールに対応する全関数の情報(アドレ
ス、アーギュメン1−3関数値)を受は取る。
■インサーキラI・エミュレータではこの情報をブレー
クRAMにセットする。
■インサーキットエミュレータはセットシた情報を基に
、ブレーク管理テーブルに、ブレーク成立後にインサー
キットエミュレータ内で行なう処理に関する情報を情報
テーブルに設定する。
■インサーキットエミュレータは、」−位デバッカから
の実行コマンドGoにより実行し、ブレークした時、 (1)ブレークポインl−が関数ヘッドの時は、戻り番
地にブレークポイン)〜をセットしてアーギュメントと
現在プログラムカウンタをデバッガに転送する。
(2)ブレークポイントか関数の戻り番地である場合に
は、現在のブレーク点をリセッI〜し、関数値をプログ
ラムカウンタをデバッガに転送する。
(3)ブレークポインl−が関数のヘッドあるいは戻り
番地でない場合は、他のブレーク処理を行なう。
〈作用〉 デバッガがインサーキットエミュレータに対してオブジ
ェク1−モジュールに対応する全関数の情報を転送し、
インサーキットエミュレータ内でこの情報を基にして関
数のヘッドにブレークポインI・をセラ1へする。
インサーキットエミュレータ内では、ブレークした時、
関数のヘッドの場合はブレークポイントをその関数の戻
り番地に設定してアーギュメントをデバッガに返し、ブ
レークした時ブレークポイン1へが戻り番地である場合
はブレークポイントをリセットして関数値をデバッガに
返す。
これにより、デバッガから実行コマンドGoを発行する
と、見かけ」二関数単位のスデ・ンプ動作か実現できる
なお、関数ステップのステップ単位としては、関数のヘ
ッドまたは戻り番地に到達した時点が1ステツプとなる
〈実施例〉 第2図は本発明に係るデパック方法を実施するためのシ
ステムの構成図である。1はホストマシンで、デバッガ
およびユーザオブジェクl−ファイルを有する。2はイ
ンサーキットエミュレータて、バス3によりホス1−マ
シン1に接続されている。
インサーキットエミュレータ2は、各関数に対してブレ
ークポイントを設定することのできるブレークRA M
を持ち、通常の処理機能の他に、ボス1〜マシン1から
転送される関数情報を基にブレークポインl−管理デー
プルを作成し、ブレークアドレスの設定、アーギュメン
ト、プログラムカウンタ、関数値のポス1−マシン1へ
の転送等の機能を有する。
このような構成において、前処理の段階として、インサ
ーキットエミュレータ2はバス3経由でホスl−マシン
1からユーザオブジェクl−ファイルの中のオブジェク
1〜モジユールに対応する全関数の情報(アドレス、ア
ーギュメント、関数値)を受は取り、第3図のブレーク
RAM概念図に示すように各関数のヘッドにブレークポ
イント(黒丸)を設定する。そして同時に、第4図に示
すようなブレークポイン1〜管理テーブルに、ブレーク
成立後にインサーキットエミュレータ内で行なう処理の
情報を情報テーブルに設定する。
上位デバッガから実行コマンドGoが発行されインサー
キラ1−エミュレータ内でプログラムが実行されブレー
クし、な時、ブレークポイン1〜が関数ヘッドである場
合、戻り番地である場合、いずれでもない場合とでイン
サーキットエミュレータの処理は次のように分かれる。
■関数ヘッドである場合 ブレークポイン1〜管理テーブルを参照し、当該ブレー
ク関数の戻り番地にブレークポインl〜を設定し、アー
ギュメントと現在グログラムカウンタの値をデバッガに
転送する。
■ブレークポイン1へか戻り番地である場合インサーキ
ットエミュレータでは当該関数を実行し、現在のブレー
クポイントをリセッ1−すると共に関数値とプログラム
カウンタをデバッガに転送する。
■いずれでもない場合は他のブレーク処理を実行する。
以」二のステップ動作を図示すると第5図に示すような
説明図となる。すなわち、カレン1〜行らか関数ステッ
プを順次発行すると、■〜■の順にステップ終了する。
ただし、■および■は関数のヘッド、■および■は戻り
番地を示す。
〈発明の効果〉 以上詳細に説明したように、本発明によれば、次のよう
な効果がある。
■関数を単位としたステップ動作か可能となる。
■デバッグのキーポイントとなる関数の入力条件(アー
ギュメント値)と出力条件(関数値)の表示が可能とな
る。
■本機能をカウント付で連続発行すること(オウンl−
付関数ステップ)により、関数の呼び出し順序、実行遷
移を1〜レースすることがoJ能となる。
■インサ・−キットエミュレータ内て関数単位のブレー
クポイン)〜を振り、その間の実行は連続的に行なわれ
るので関数間リアルタイム動作か保障できる。
■インサーキットエミュレータ内に関数情報を備えてい
るので、上位デバッガと炬雑な通信シーケンスを省くこ
とができる。したがって、レスポンスの向上を図ること
ができる。
【図面の簡単な説明】
第1図は本発明のデパック方法の原理フロー第2図は本
発明の方法を実施するためのシステムの構成図、第3図
はブレークRAMの関数ポイン)〜を示す概念的構成図
、第4図はブレークポイント管理テーブルを示す図、第
5図は関数ステップ動作を説明するための図である。 1・・・ホス1〜マシン、2・・・インサーキットエミ
ュレータ、3・・・バス。 第 7 図 嘉 図 フパシー7ffA間 第 図 第 図 関数A

Claims (1)

  1. 【特許請求の範囲】 デバッガおよびユーザオブジェクトファイルを有するホ
    ストマシンと、 各関数に対してブレークポイントを設定することのでき
    るブレークRAMを持ち、ホストマシンから転送される
    関数情報を基にブレークポイント管理テーブルを作成し
    、ブレークアドレスの設定、アーギュメント、プログラ
    ムカウンタ、関数値のホストマシンへの転送等の機能を
    有するインサーキットエミュレータで構成され、 すべてのデバッグ機能は上位のデバッガとインサーキッ
    トエミュレータが結びついて初めて可能となるように構
    成されたシステムにおいて、 インサーキットエミュレータはデバッガからオブジェク
    トモジュールに対応する全関数の情報アドレス、アーギ
    ュメントおよび関数値を受け取る工程と、 インサーキットエミュレータ内でこの情報をブレークR
    AMにセットする工程と、 インサーキットエミュレータで、セットした情報を基に
    ブレーク管理テーブルに、ブレーク成立後にインサーキ
    ットエミュレータ内で行なう処理に関する情報をテーブ
    ルに設定する工程と、インサーキットエミュレータが上
    位デバッガからの実行コマンドを実行し、ブレークした
    時、 (1)ブレークポイントが関数ヘッドの場合は、戻り番
    地にブレークポイントをセットしてアーギュメントと現
    在プログラムカウンタをデバッガに転送し、 (2)ブレークポイントが関数の戻り番地である場合に
    は、現在のブレーク点をリセットし、関数値をプログラ
    ムカウンタをデバッガに転送し、 (3)ブレークポイントが関数のヘッドあるいは戻り番
    地でない場合は、他のブレーク処理を行なうようにした 工程からなることを特徴とする関数ステップ機能を有す
    るデバッグ方法。
JP1144672A 1989-06-07 1989-06-07 関数ステップ機能を有するデバッグ方法 Pending JPH0310339A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP1144672A JPH0310339A (ja) 1989-06-07 1989-06-07 関数ステップ機能を有するデバッグ方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP1144672A JPH0310339A (ja) 1989-06-07 1989-06-07 関数ステップ機能を有するデバッグ方法

Publications (1)

Publication Number Publication Date
JPH0310339A true JPH0310339A (ja) 1991-01-17

Family

ID=15367557

Family Applications (1)

Application Number Title Priority Date Filing Date
JP1144672A Pending JPH0310339A (ja) 1989-06-07 1989-06-07 関数ステップ機能を有するデバッグ方法

Country Status (1)

Country Link
JP (1) JPH0310339A (ja)

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS61180344A (ja) * 1985-02-06 1986-08-13 Omron Tateisi Electronics Co 高級言語のステツプ実行システム

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS61180344A (ja) * 1985-02-06 1986-08-13 Omron Tateisi Electronics Co 高級言語のステツプ実行システム

Similar Documents

Publication Publication Date Title
JPS634346A (ja) マイクロプロセッサ・デバッグ装置
Cunha et al. A framework to support parallel and distributed debugging
JPH0310339A (ja) 関数ステップ機能を有するデバッグ方法
JPS62113244A (ja) プログラムテスト装置
JPH0581070A (ja) プログラマブルコントローラ、およびプログラマブルコントローラにおけるユーザプログラム実行方法
JP3339708B2 (ja) イベント記録方式
JP2659366B2 (ja) デバッグ方法及びその装置
Boissat et al. MODEL: a software suite for data acquisition
JPH0395638A (ja) デバッグ装置
JPH0695910A (ja) 異常処理のための対話型デバッグ制御方式
Olivier Debugging distributed applications using a coordination architecture
KR100205061B1 (ko) 분산환경에서의 디버거 구동방법
JP3159155B2 (ja) プログラムのデバッグ方法および装置
JPH01169546A (ja) マルチタスクデバッカ
JPH0465729A (ja) シンボリック・デバッガ
JPH0380338A (ja) ファジイチップ用インサーキットエミュレータ
KR100194800B1 (ko) 접속 관리자를 이용한 다수의 칠 프로그램 교차 디버깅방법
JPS61180344A (ja) 高級言語のステツプ実行システム
JP2000250778A (ja) 分散デバッガ間連携処理方法
JPH0192847A (ja) デバック制御方式
JPS61296439A (ja) デ−タ処理システム
JPH06161817A (ja) スレッドオンラインデバッグ装置
JPH0588878A (ja) Lisp命令実行方式
JPH03141436A (ja) デバッグ装置
JPH0353347A (ja) デバッグ方式