JPH0354643A - ディバッグ支援方式 - Google Patents

ディバッグ支援方式

Info

Publication number
JPH0354643A
JPH0354643A JP1189896A JP18989689A JPH0354643A JP H0354643 A JPH0354643 A JP H0354643A JP 1189896 A JP1189896 A JP 1189896A JP 18989689 A JP18989689 A JP 18989689A JP H0354643 A JPH0354643 A JP H0354643A
Authority
JP
Japan
Prior art keywords
information
software
embedded software
target machine
program
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
JP1189896A
Other languages
English (en)
Inventor
Satoru Koike
小池 哲
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 JP1189896A priority Critical patent/JPH0354643A/ja
Publication of JPH0354643A publication Critical patent/JPH0354643A/ja
Pending legal-status Critical Current

Links

Landscapes

  • Debugging And Monitoring (AREA)

Abstract

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

Description

【発明の詳細な説明】 〔産業上の利用分野〕 本発明は、電子交換機の如きターゲットマシンに組み込
まれて使用される組込ソフトウェアのディバッグを行う
作業を支援する方式に間し、特にターゲットマシンに通
信回線を介して接続されたディバッグホストコンピュー
タから対話的な方法で前記ターゲットマシン上の組込ソ
フトウェアの走行,停止,状態表示を行わせるディバフ
グ支援方式に関するものである. 〔従来の技術〕 一般に、電子交換機の如きターゲットマシンに組み込ま
れて使用される組込ソフトウェアのディバッグを支援す
る方式としては、(1)ターゲットマシン単体で実現す
る方式、(2)ターゲットマシンとは別のコンピュータ
を使用して実現する方式、(3)ターゲットマシンおよ
びディバッグホストコンピュータを使用して実現する方
式■311に大別されるが、方式(i)には姐込ソフト
ウェアのソースモジュールへの対応付けが人手作業にな
る、動作*taの為に表示し得る情報が限定されるとい
った欠点があり、また方式(2)は別コンピュータで組
込ソフトウェアをシξユレートさせるのでオーバーヘッ
ドが大きくなるといった欠点があり、更に両方式とも高
度なディバッグ支援を実現し難いという問題点がある.
これに対し、最後の方式(3)は、夕一ゲットマシンに
通信回線を介して接続されたディバッグホストコンピュ
ータから対話的な方法でターゲットマシン上め組込ソフ
トウェアの走行,停止,状態表示を行わせることができ
、比較的高度なディバッグ支援を容易に実現できる為、
従来より貫用されているものである. 〔発明が解決しようとする課題〕 ところで、ディバッグホストコンピュータから対話形式
でターゲットマシン上の組込ソフトウェアの走行,停止
,状態表示を行わせる場合、組込ソフトウェアは実環境
下ではあり得ない箇所で度々中断されることになるが、
従来のこの種のディバング支援方式にはそれに対する対
策は施されていなかった.その為、周期割込によって周
期動作を起こす組込ソフトウェアの場合、その周期動作
が、連続走行される実際の環境下と、度々中断されるデ
ィバッグ支援環境下とで相違したものとなり、組込ソフ
トウェアの実時間性を狂わすことなくディバング支援の
為の状態表示等を行わせることができないという問題が
あった. 本発明はこのような従来の問題点を解決したものであり
、その目的は、組込ソフトウェアの周期割込による周期
動作を実環境下と同じにしてディバッグ支援を行うこと
ができるディバッグ支援方式を提供することにある. 〔課題を解決するための手段〕 本発明は上記の目的を達威するために、ディバッグ対象
となる組込ソフトウェアの走行するターゲットマシンに
通信回線を介してディバングホストコンピュータを接続
し、前記ディバソグホストコンピュータより対話的な方
法で前記ターゲットマシン上の組込ソフトウェアの走行
,停止,状態表示を行わせるディバッグ支援方式におい
て、前記ターゲットマシン上に、前記組込ソフトウェア
の命令実行時間を累積し該累積値が一定値に達する毎に
前記組込ソフトウェアに対し割込を発生するソフトウェ
ア制御装置を設けている.〔作用〕 本発明のディバッグ支援方式においては、組込ソフトウ
ェアの走行するターゲットマシン上に設けられたソフト
ウェア制御装置が、組込ソフトウェアの命令実行時間を
累積し、その累積値が一定値に達する毎にその組込ソフ
トウェアに対し割込を発生することにより、組込ソフト
ウェアの周期割込による周期動作を、連続して走行する
実際の環境下と度々中断されるディバッグ支援環境下と
で等価にする. 〔実施例〕 次に、本発明の実施例について図面を参照して詳細に説
明する. 第1図は本発明のディバッグ支援方式の一実施例の構威
図である.同図において、ディバッグ対象となる組込ソ
フトウェア101が走行するターゲットマシン100と
、このターゲットマシン100の動作を高級視覚化表示
するディバッグホストコンピュータ110とは、通信回
$11120で結ばれている.ターゲットマシン100
には、岨込ソフトウェア101の制御にかかるソフトウ
ェア制御装置102が設けられ、ディバッグホストコン
ピュータ110には、ターゲットマシン100と通信を
行う通信制御装置1l1.組込ソフトウェア101のソ
ースモジュール情報(組込ソフトウェア101を生威し
た言語処理システムから出力される情報であって、組込
ソフトウェア101のソースモジュールと、ソースモジ
ュールと組込ソフトウェア101のロードモジュールと
の関係情報等を含む所謂ディバッグ情報とで構成されて
いる)を蓄積する蓄積装置1l6,キーボードl14お
よびマウス115等のマンマシンインタフェイス入力装
置(以下、単に入力装置と称す).ブラウン管装置11
3等のマンマシンインタフェイス出力装置(以下、単に
出力装置と称す),ターゲットマシン100上で走行す
る組込ソフトウェア101をディバッグする為にディバ
ッグホストコンピュータ110上で必要な処理を実行す
るディバッガプログラム112が設けられている.特に
、本発明においては、ターゲットマシンl00中のソフ
トウェア制御装置102に、組込ソフトウェア101の
命令実行時間を累積しその累積値が一定値に達する毎に
組込ソフトウェア101に対し割込を発生させる手段(
後述する実時間遅延手段)が設けられており、この手段
の働きによって、ディバッグホストコンピュータ110
より対話的な方法でターゲットマシンl00上の組込ソ
フトウェア101の走行.停止.状態表示を行わせる場
合に、組込ソフトウェア101の周期割込による周期動
作を実環境下と同じにしている.以下、第1図に示した
本実施例の構威および動作を詳細に説明する. 先ず、第3図を参照すると、ディバッガプログラム11
2は、入力解析と処理起動千段300.出力手段301
,走行速度調整手段302,プログラム単位走行制御手
段303,ブロシジャ単位走行制御手段304.実行文
単位走行制御手段305,単位走行停止報告受信手段3
06,ターゲントマシン情報読み取り手段307および
ソースモジュール情報付加手段308で構威されており
、各々の手段は概略次のような機能を有する.○入力解
析と処理起動手段300 第1図の入力装置(114,115)を介して利用者か
ら入力される各種の情報を解析し、ディバッガプログラ
ム112をfjlmする他の手段の起動等を制御する機
能を持つ. ○プログラム単位走行制御手段303 人力解析と処理起動手段300から或るシンボル名に対
応する番地情報(プログラム単位切分け情報)が与えら
れると、これを内部に蓄積する.その後、人力解析と処
理起動手段300から組込ソフトウェア走行命令発行を
指示されて起動されると、上記番地情報を内部に設定し
てから初めての起動の場合は、その番地情報を付加して
ターゲットマシン100ヘプログラム単位走行命令を発
行し、2回目以降の場合はそのような番地情報を付加せ
ずにターゲットマシン100ヘプログラム単位走行命令
を発行し、制御を入力解析と処理起動千段300に戻す
. Oブロシジャ単位走行制御手段304 人力解析と処理起動手段300から或るプログラム識別
情報で示されるプログラムを構或する全ブロシジャの先
頭番地情報(プロシジャ単位切分け情報)が与えられる
と、これらを内部に蓄積する.その後、入力解析と処理
起動手段300から組込ソフトウェア走行命令発行を指
示されて起動されると、上記先頭番地情報を内部に設定
してから初めての場合は、その先頭番地情報を付加して
ターゲットマシン100ヘプロシジャ単位走行命令を発
行し、2回目以降の場合はそのような先頭番地情報を付
加せずにターゲットマシン100ヘプロシジ十単位走行
命令を発行し、制御を入力解析と処理起動手段300に
戻す. ○実行文単位走行制御手段305 人力解析と処理起動手段300から坦込ソフトウェア走
行命令発行を指示されて起動されると、ターゲットマシ
ン情報読み取り手段307に後述の如く蓄積されている
組込ソフトウェア101の次走行開始番地情報を入力し
てソースモジュール情報付加手段308に与え、これに
応答してその手段308からマシン命令個数(これは後
述するように該当1実行文に含まれるマシン命令の個数
である)が返されると、そのマシン命令個数を付加した
ソースモジュールレベル実行文単位走行命令をターゲッ
トマシン100へ発行し、制御を入力解析と処理起動手
段300に戻す。
O単位走行停止報告受信手段306 ターゲットマシン100に対し上述のプログラム単位走
行制御手段303,ブロシジャ単位走行制御手段304
から発行されたプログラム単位走行命令,ブロシジャ単
位走行命令により、ターゲットマシン100上で各々l
プログラム単位,lプロシジャ単位の実行が行われてそ
の停止情報が送出されると、これを受信し、入力解析と
処理起動手段300に停止報告を行う. Oターゲットマシン情報読み取り手段307(a)&l
1込ソフトウェア101の次走行開始番地を収容してい
るターゲットマシン100上におけるレジスタに関する
情報. 0))組込ソフトウェア101の現停止プログラム識別
情報の設定されているターゲットマシン100上のメモ
リ番地とサイズ。
を事前に蓄積していると共に、入力解析と処理起動手段
300を通じてディパノグパラメータにて指定された、 (C)視覚化したいデータのターゲットマシン100上
における場所情報、つまりメモリエリアやレジスタ種別
等を指定する情報(これを読み取り対象情報という)。
を保持する。
そして、入力解析と処理起動手段300から組込ソフト
ウェア情報読み取り指示を受けて起動されると、前記の
(a)〜(C)の情報を付加した組込ソフトウェア情報
読み取り命令をターゲットマシン100へ発行し、これ
に応答してターゲットマシン100から前記の(a)〜
(Clで指定した箇所の実際の値すなわち、 (1)組込ソフトウェア101の次走行開始番地情報(
2)!込ソフトウェア101の現停止プログラム識別情
報 (3)メモリエリアやレジスタに保持されているデ−夕
の値(読み取り対象情報の実際値) が送られてくると、それを内部に蓄積し、制御を入力解
析と処理起動手段300に返す。
なお、内部に蓄積した前記(】)〜(3)の情報は、入
力解析と処理起動手段300,出力手段301実行文単
位走行制御手段305等によって適宜参照される。
○出力手段301 人力解析と処理起動手段300から、プログラム単位走
行制御手段303,ブロシジャ単位走行制御手段304
.実行文単位走行′M御手段305の何れを今回起動し
たかの情報を付加して起動されると、以下のような停止
箇所表示動作とデータ表示動作を行う. 「停止箇所表示動作J プログラム単位走行制御手段303が今回起動された場
合、ターゲットマシン情報読み取り手段307に蓄積さ
れている組込ソフトウェア101の現停止プログラム識
別情報を読み取ってソースモジュール情報付加手段30
8に渡し、この手段308からその現俸止プ口グラム識
別情報に対応するプログラム名が返されると、このプロ
グラム名を出力装置(113)に出力する.そして、後
述するデータ表示動作を行う. ブロシジャ単位走行制御手段304が今回起動された場
合、ターゲットマシン情報読み取り手段307に蓄積さ
れている組込ソフトウェア101の次走行開始番地情報
を読み取ってプロシジャ名への変換を指示してソースモ
ジュール情報付加手段308に渡し、この手段308か
らその次走行開始番地情報の示す番地の命令を包含する
ブロシジャの名前が返されると、このプロシジャ名を出
力装置(113)に出力する.そして、後述するデータ
表示動作を行う. 実行文単位走行制御手段305が今回起動された場合、
ターゲットマシン情報読み取り手段307に蓄積されて
いる組込ソフトウェア101の次走行開始番地情報を読
み取ってソースリスト取得を指示してソースモジュール
情報付加手段308に渡し、この手段30Bからソース
リストおよび実行文指定情報が返されると、実行文指定
情報で指定されたソースリスト中の実行文に印を付けた
形でそのソースリストを出力装置(113HJj力する
.そして、次のデータ表示動作を行う.rデータ表示動
作」 ターゲットマシン情報読み取り手段307に保持されて
いる読み取り対象情報とそれに従って取得されて蓄積さ
れている読み取り対象情報の実際値(前記(3)の情報
)とを読み取り、その内の読み取り対象情報をソースモ
ジュール情報付加手段308に渡し、この手段30Bか
らその読み取り対象情報で特定されるデータのソースレ
ベルでの名前,型等が返却されると、各データ毎に、そ
のデータの型に応した形状を有し図形内部にはそのデー
タの実際値が入れられ且つそのデータの名前が付与され
た図形を作威し、これを出力装置(113)のデータ表
示部分に出力する。そして、制御を人力解析と処理起動
手段300に返す。
○走行速度調整手段302 人力解析と処理起動手段300からタイミング値が与え
られて起動されると、そのタイミング値に相当する時間
経過後に制御を入力解析と処理起動手段300に返す。
○ソースモジュール情報付加手段308蓄積装置116
に蓄積されたソースモジュール情報を参照して、ソース
レベルの情報を組込ソフトウェア101のレベルの情報
に変換したり、或いはその逆の変換等を行う。
次に、第2図を参照すると、第1図のソフトウェア制御
装置102は、通信制御千段200,プログラム単位走
行停止制御手段20l,ブロシジャ単位走行停止制御手
段202.ソースモジュールレベル実行文単位走行停止
制御手段203,メモリ・レジスタ読み取り手段204
,実時間遅延千段205とで構成されている。各々の手
段は次のような機能を有する. O通信制御手段200 ディバッグホストコンピュータ110と通信する機能を
有し、ディバッグホストコンピュータllOから送信さ
れていた情報を各手段に与えて起動等を行うと共に、各
手段からの情報をデイバッグホストコンピュータ110
に送信する機能を有する. Oプログラム単位走行停止制御手段201通信制御手段
200から、プログラム単位の走行単位指示を含む走行
命令で起動されると、その走行命令に組込ソフトウェア
101のオペレーティングシステムがプログラム単位を
起動する命令の番地を示す付加情報があればそれを内部
に蓄積した後その蓄積情報を使用し、また、そのような
付加情報がなければ以前に蓄積された番地情報を使用し
、その番地に組込ソフトウェア101が来るまで走行さ
せ、その番地の命令を組込ソフトウェア101が実行し
た直後で組込ソフトウェア101の走行を停止させ、停
止情報を通信制御手段200を経由してディバッグホス
トコンピュータ110に通知する. Oプロシジ中単位走行停止制御手段202通信制御手段
200から、プロシジャ単位の走行単位指示を含む走行
命令で起動されると、その走行命令に組込ソフトウェア
101のプログラム単位をfjI戒する全プロシジャの
先頭命令の番地を示す付加情報があればそれを内部にH
積した後その蓄積情報を使用し、また、そのような付加
情報が無ければ以前に蓄積した全ブロシジャの先頭命令
の番地を使用し、これらの番地の何れかに組込ソフトウ
ェア101が来るまで走行させ、該当番地の命令を実行
した直後に組込ソフトウェア101の走行を停止させ、
停止情報を通信制御手段200を経由してディバッグホ
ストコンピュータ1lOに通知する. Oソースモジュールレベル実行文単位走行停止制御手段
203 通信制御手段200から、実行文単位の走行単位指示を
含む走行命令で起動されると、その走行命令に含まれる
1実行文にかかるマシン命令の個数を示す付加情報を使
用して、その個数分だけ組込ソフトウェア101のマシ
ン命令を実行させ、その後組込ソフトウェア101を停
止させる.○メそり・レジスタ読み取り手段204通信
制御手段200から、組込ソフトウェア情報読み取り命
令を受けることにより起動されると、その組込ソフトウ
ェア情報読み取り命令に、メモリエリアとレジスタ種別
を指定する1つ以上任意の個数の読み取り対象情報があ
ればそれらを内部に蓄積した後その蓄積した読み取り対
象情報を使用して、また読み取り対象情報が付加されて
いなければ以前に蓄積した読み取り対象情報を使用して
、その読み取り対象情報の示すメモリエリアレジスタの
内容(実際値)を読み取り、これを通信制御手段200
を経由してディバングホストコンピュータ110に転送
する. O実時間遅延手段205 姐込ソフトウェア101の命令実行時間を累積し、その
累積値が予め定められた周期割込の周期に等しくなった
時点で姐込ソフトウェア101に割込を発生させ、累積
値を0にリセソトして再び上述の動作を繰り返す。これ
によって、ディバッグ支援の為に組込ソフトウェア10
1の走行が度々中断されても、組込ソフトウェア101
に対する周期割込の周期は連続走行した場合と等価にな
る。
次に、本実施例のディバング支援方式を使用して、 (A)I込ソフトウェア101をプログラム単位で走行
させ、組込ソフトウェア101全体の概略動作を把握す
る. (B)次に、或るプログラム単位に注目し、組込ソフト
ウェア101をプロシジャ単位で走行させて、そのプロ
グラム単位の概略動作を把握する。
(C)その後、組込ソフトウェア101を或る箇所より
実行文単位で走行させ、更に詳細な動作を把握する. といった作業を行う場合を例にして、以下本実施例の動
作を説明する。
(A)&u込ソフトウェア101全体の概略動作の把握
. ■ 利用者が入力装置(114.115)からディバン
グパラメータとして、プログラム動作視覚化単位として
プログラム単位を指定すると、ディバッガプログラム1
12の入力解析と処理起動千段300は、視覚化単位が
プログラムであることを内部に記録すると共に、組込ソ
フトウェア10lのソースモジュールレベルの情報で組
込ソフトウェア101のオペレーティングシステムがア
プリケーションプログラムを起動する場所のシンボル名
をソースモジュール情報付加手段308に与える。
■ ソースモジュール情報付加手段308は、蓄積装置
116中のソースモジュール情報を参照して、上記入力
されたシンボル名に対応する番地情報すなわち各アプリ
ケーションプログラムの人力点の番地を求め、これを人
力解析と処理起動手段300に返す. ■ 入力解析と処理起動千段300は上記の返された番
地情報をプログラム単位走行制御手段303に与え、プ
ログラム単位走行制御手段303はこれを内部に蓄積す
る. ■ 次に利用者が入力装!(114,115)から視覚
化したいデータのシンボル名を入力すると、入力解析と
処理起動手段300はこれをソースモジュール情報付加
手段308に与える.■ ソース・モジュール情報付加
手段308は、蓄積装fll6中のソースモジュール情
報を参照して、上記入力されたシンボル名に対応するデ
ータのメモリ番地とサイズとを求め、これを入力解析と
処理起動手段300に返す. ■ 入力解析と処理起動手段300はこの返されたメモ
リ番地とサイズとを読み取り対象情報としてターゲノト
マシン情報読み取り手段307に与え、ターゲットマシ
ン情報読み取り手段307はこれを内部に蓄積する. ■ その後、利用者が入力装置(114.115)から
組込ソフトウェア走行開始指示を入力すると、入力解析
と処理起動千段300は、内部に記録された視覚化単位
がプログラムであることから、プログラム単位走行制御
手段303を起動し、単位走行停止報告受信千段306
からの停止報告待ちとなる. ■ プログラム単位走行制御手段303は、最初の起動
なので、■において内部に蓄積した番地情報を付加して
ターゲットマシン100ヘプログラム単位走行命令を発
行する。
■ 上記のプログラム単位走行命令はターゲントマシン
100のソフトウェア制御装置102における通信制御
手段200で受信され、通信制御手段200はプログラ
ム単位走行停止制御手段201に上記受信したプログラ
ム単位走行命令を渡して起動する. [相] プログラム単位走行停止制御手段201は、プ
ログラム単位走行命令に付加された番地情報を内部に蓄
積し、その蓄積した番地情報の示す番地に組込ソフトウ
ェア101の実行点が来るまで走行させ、その番地の命
令を実行した直後に組込ソフトウェア101を停止させ
、停止情報を通信制御手段200を介してディバッグホ
ストコンピュータ110に送出する。なお、このとき実
時間遅延手段205は走行中における命令実行時間を累
積し、若し予め定められた値になれば組込ソフトウェア
101に割込を発生するものである。
■ 上記の停止情報はディバッグホストコンピュータ1
10のディバッガプログラム112における単位走行停
止報告受信手段306で受信され、この千段306から
入力解析と処理起動手段300に停止報告が為される. @ 入力解析と処理起動手段300は上記の停止報告に
より待ちを解除し、ターゲットマシン情報読み取り手段
307に対し組込ソフトウェア情報の読み取りを指示し
、それを起動する.■ ターゲットマシン情報読み取り
手段307は、組込ソフトウェア101の現停止プログ
ラム識別情報の設定されているメモリ番地とサイズ等の
付加情報を付けた組込ソフトウェア情報読み取り命令を
ターゲットマシン100へ発行する.[相] 上記の組
込ソフトウェア情報読み取り命令はターゲットマシン1
00のソフトウェア制御装置102における通信制御手
段200で受信され、メモリ・レジスタ読み取り手段2
04がその組込ソフトウェア情報読み取り命令によって
起動される. ■ メモリ・レジスタ読み取り手段204は、組込ソフ
トウェア情報読み取り命令に付加された情報に従って、
組込ソフトウェア101の現停止プログラム識別情報.
次走行開始番地情報,読み取り対象情報の実際値を読み
取り、これを通信制御手段200を介してディバッグホ
ストコンピュータ110に送出する。
■ 上記送出された情報は、ディバッガプログラム11
2のターゲットマシン情報読み取り手段307で受信さ
れ、当該手段307はこれを内部に蓄積し、制御を入力
解析と処理起動手段300に戻す. ■ 入力解析と処理起動手段300は、制御が戻される
と、プログラム単位走行制御手段303を起動した旨の
情報を付加して出力手段301を起動する。
[相] 出力手段301は、ターゲットマシン情報読み
取り手段307に蓄積されている情報の内の組込ソフト
ウェア101の現停止プログラム識別情報を先ず読み取
ってソースモジュール情報付加手段30Bに与える. [相] ソースモジュール情報付加手段308は、蓄積
装置116中のソースモジュール情報を参照して、その
現停止プログラム識別情報に対応するプログラム名を求
め、これを出力手段301に返す.[相] 出力手段3
01はこの返されたプログラム名を、出力装置(113
)に停止点情報として出力する. ■ 次に出力手段301は、ターゲットマシン情報読み
取り手段307に蓄積されている読み取り対象情報とそ
の実際値とを読み取って一時記憶すると共に、前者の読
み取り対象情報をソースモジュール情報付加手段308
に与える. O ソースモジュール情報付加手段308は、蓄積装置
11G中のソースモジュール情報に従って、読み取り対
象情報の示す各々のメモリ番地とサイズとで特定される
領域に格納されるデータのソースレベルにおける名前.
型等を求め、これを出力千段301に返す. @ 出力手段301は、各データ毎に、そのデ−夕の型
に応じた形状を有し図形内部にはそのデータの実際値が
入れられ且つそのデータの名前が付与された図形を作威
し、これを出力装!(113)のデータ表示部分に出力
する.そして、制御を入力解析と処理起動手段300に
返す. 0 人力解析と処理起動千段300は、人力装置(11
4,115)から表示速度変更指示の入力が有ったか否
かを調べ、無ければ既に設定されているタイ壽ング値を
走行速度調整手段302に与えてこれを起動する.また
、表示速度変更指示があって且つそれが有限時間指定の
場合にはそれで指定されたタイミング値で内部に設定さ
れている古いタイξング値を更新し、この更新後のタイ
ミング値を走行速度調整手段302に与えてこれを起動
する.更に、表示速度変更指示があって且つそれが無限
時間指定すなわち停止指示の場合、ディバッグパラメー
タ人力待ちとなる. ■ 今、利用者は無阻時間指定をしなかったとすると、
入力解析と処理起動手段300はタイミング値を走行速
度調整手段302に与えてこれを起動ずる. [相] 走行速度調整手段302は、与えられたタイく
ング値に相当する時間の経過を監視し、その時間経過後
に人力解析と処理起動手段300に制御を戻す. 0 人力解析と処理起動手段300は制御が戻されると
、内部に記録されている視覚化単位(今の場合はプログ
ラム)に従って、プログラム単位走行制御手段303を
再度起動し、走行命令発行のサイクルを繰り返す.この
とき、プログラム単位走行制御手段303は2回目の起
動なので、番地情報を付加せずにターゲットマシン10
0ヘプログラム単位走行命令を発行し、またプログラム
単位走行停止制御手段201は1回目の起動時に蓄積し
た番地情報を使用してプログラムの停止を制御する.な
お、入力解析と処理起動手段300は走行,停止,表示
のサイクルを繰り返している時に人力装!(114.1
15)から停止割込入力があると、そのサイクルを中断
してディバッグパラメータ入力待ちとなるものである. 以上のような動作が繰り返し実行されることにより、出
力装置(113)には組込ソフトウェア101を構威す
るプログラム名,視覚化データが、その実行順に出力さ
れることになり、組込ソフトウェア101の概略動作を
把握することが可能となる.このような概略動作の把握
は、走行速度調整手段302に与えるタイミング値に応
じた速度で行うことが可能であり、一応の把握を終えた
後、再度プログラム単位で走行させ、゛もっと詳しく動
作を見たいプログラム単位の近くになったらタイミング
値を増大して組込ソフトウェア101の走行速度を落と
し、該当するプログラム単位の走行開始となったら止め
て、次の(B)の作業に進む.(B)&ll込ソフトウ
ェア101の或るプログラム単位の概略動作の把握。
■ 利用者が入力装置(114,115)からディバン
グパラメータとして、プログラム動作視覚化単位として
ブロシジャ単位を指定すると、人力解析と処理起動手段
300は、視覚化単位がブロシジャであることを内部に
記録すると共に、夕一ゲントマシン情報読み取り手段3
07にその時点において蓄積されている現停止プログラ
ム識別情報を入力し、これをソースモジュール情報付加
手段308に与える。
■ ソースモジュール情報付加手段308は、蓄積装置
116中のソースモジュール情報を参照して、上記入力
された現停止プログラム識別情報で識別されるプログラ
ム単位を構成する全ブロシジャの先頭番地を求め、これ
を人力解析と処理起動手段300に返す. ■ 入力解析と処理起動手段300は上記の返された全
プロシジャの先頭番地情報をプロシジャ単位走行制御千
段304に与え、プロシジャ単位走行制御手段304は
これを内部に蓄積する.■ 次に利用者は、必要に応じ
て、入力装置(114,115)から視覚化したいデー
タのシンボル名を入力し、視覚化したいデータを変更す
る.このときの入力解析と処理起動手段300,ソース
モジュール情報付加手段308.ターゲットマシン情報
読み取り手段307の動作は(A)の場合と同じである
. ■ その後、利用者が入力装置(114,115)から
組込ソフトウェア走行開始指示を入力すると、入力解析
と処理起動手段300は、内部に記録された視覚化単位
がブロシジャであることから、ブロシジャ単位走行制御
手段304を起動し、単位走行停止報告受信手段306
からの停止報告待ちとなる. ■ プロシジャ単位走行制御手段304は、最初の起動
なので、■において内部に蓄積した全ブロシジャの先頭
番地情報を付加してターゲットマシン100ヘプロシジ
中単位走行命令を発行する.■ 上記のブロシジャ単位
走行命令はターゲットマシン100のソフトウェア制御
装置102における通信制御手段200で受信され、プ
ロシジャ単位走行停止制御手段202が上記受信された
ブロシジャ単位走行命令で起動される. ■ ブロシジ中単位走行停止制御手段202は、ブロシ
ジャ単位走行命令に付加された全ブロシジャの先頭番地
情報を内部に蓄積し、その蓄積した番地情報の示す何れ
かの番地に組込ソフトウェア101の実行点が来るまで
走行させ、その番地の命令を実行した直後に組込ソフト
ウェア101を停止させ、停止情報を通信制御手段20
0を介してディバッグホストコンピュータ110に送出
する。
■ 上記の停止情報はディバノガプログラム112にお
ける単位走行停止報告受信千段306で受信され、この
手段306から入力解析と処理起動手段300に停止報
告が為される。なお、このとき実時間遅延手段205は
走行中における命令実行時間を累積し、若し予め定めら
れた値になれば姐込ソフトウェア101に割込を発生す
るものである. [相] 人力解析と処理起動手段300は上記の停止報
告により待ちを解除し、ターゲットマシン情報読み取り
手段307に対し組込ソフトウェア情報の読み取りを指
示し、それを起動する.これによって、(A)と同様に
ターゲットマシン情報読み取り手段307およびメモリ
・レジスタ読み取り手段204が動作して必要な情報が
収集され、その後制御が入力解析と処理起動手段300
に戻される。
■ 入力解析と処理起動手段300は、制御が戻される
と、ブロシジャ単位走行制御手段304を起動した旨の
情報を付加して出力手段301を起動する. ■ 出力手段301は、ターゲントマシン情報読み取り
手段307に蓄積されている情報の内の組込ソフトウェ
ア101の次走行開始番地情報を先ず読み取ってソース
モジュール情報付加手段308に与える. ■ ソースモジュール情報付加手段308は、蓄積装置
116中のソースモジュール情報を参照して、その次走
行開始番地情報の示す番地のマシン命令が属するプロシ
ジャの名前を求め、これを出力手段301に返す。
[相] 出力手段301はこの返されたプロシジャ名を
、出力装置(113)に停止点情報として出力する。
■ 次に、(A)の■〜@と同様な動作が行われ、出力
装置(113)のデータ表示部分に、読み取り対象情報
の実際値にかかる図形が出力された後、@御が入力解析
と処理起動手段300に返される.[相] 人力解析と
処理起動手段300は制御が戻されると、(A)の[相
]と同様に表示速度変更指示の入力の検出,それに応じ
た走行速度調整手段302の起動等を行った後、ディバ
ッグパラメータ入力待ちにならなければ、内部に記録さ
れている視覚化単位(今の場合はプロシジャ)に従って
、ブロシジャ単位走行制御手段304を再度起動し、走
行命令発行のサイクルを繰り返す.なお、このときブロ
シジ十単位走行制御手段304は2回目の起動なので、
全プロシジャの先頭番地情報を付加せずにターゲットマ
シン100ヘプロシジャ単位走行命令を発行し、またブ
ロシジャ単位走行停止@御手段202は1回目の起動時
に蓄積した全プロシジャの先頭番地情報を使用してプロ
グラムの停止をil1御する. 以上のような動作が繰り返し実行されることにより、出
力装置(1 1 3)には組込ソフトウェア101の注
目したいプログラム単位に含まれるブロシジャの名前,
視覚化データが、プロシジャの実行順に出力されること
になり、そのプログラム単位の概略動作を把握すること
が可能となる.このような概略動作の把握は、走行速度
調整千段302に与えるタイミング値に応した速度で行
うことが可能であり、詳しく動作を見たいプロシジャの
近くになったらタイミング値を増大して組込ソフトウェ
ア101の走行速度を落とし、該当するプロシジャの走
行開始となったら止めて次の(C)の作業に進む. (C)注目するプロシジャ単位の詳細な動作の把握. ■ 利用者が入力装置(114,115)からディバン
グパラメータとして、プログラム動作視覚化単位として
実行文単位を指定すると、入力解析と処理起動手段30
0は、視覚化単位が実行文であることを内部に記録する
. ■ 次に利用者は、必要に応じて、入力装置(l14,
115)から視覚化したいデータのシンボル名を入力し
、視覚化したいデータを変更する。
このときの入力解析と処理起動手段300, ソースモ
ジュール情報付加手段308,ターゲットマシン情報読
み取り手段307の動作は(A)の場合と同じである. ■ その後、利用者が入力装置(114,115)から
組込ソフトウェア走行開始指示を入力すると、入力解析
と処理起動手段300は、内部に記録された視覚化単位
が実行文であることから、実行文単位走行制御手段30
5を起動する. ■ 実行文単位走行制御千段305は起動されると、タ
ーゲットマシン情報読み取り手段307にその時点で蓄
積されている次走行開始番地情報を人力してソースモジ
ュール情報付加手段308に与えて該当する1実行文の
マシン命令数を取得し、このマシン命令数を付加したソ
ースモジュールレベル実行文単位走行命令をターゲフト
マシンl00へ発行し、制御を入力解析と処理起動手段
300に戻す.入力解析と処理起動手段300は制御が
戻されると、ターゲットマシン情報読み取り手段307
を起動する. ■ 実行文単位走行制御手段305で発行されたソース
モジュールレベル実行文単位走行命令は、ソフトウェア
i!iI1御装置102における通信制御手段200で
受信され、ソースモジュールレベル実行文単位走行停止
制御手段203が上記受信されたソースモジュールレベ
ル実行文単位走行命令で起動される. ■ ソースモジュールレベル実行文単位走行停止11a
1手段203は、そのソースモジュールレベル実行文単
位走行命令に付加されたマシン命令数だけ組込ソフトウ
ェア101を走行させて停止させる.なお、このとき実
時間遅延手段205は走行中における命令実行時間を累
積し、若し予め定められた値になれば組込ソフトウェア
101に割込を発生するものである. ■ 他方、■において起動されたターゲットマシン情報
読み取り手段307は、(A)と同様にしてメモリ・レ
ジスタ読み取り手段204にターゲットマシン情報読み
取り命令を発行することにより、上記停止した組込ソフ
トウェア101のその時点における実際値等を収集し、
制御を入力解析と処理起動手段300に戻す. ■ 入力解析と処理起動千段300は、制御が戻される
と、実行文単位走行制御手段305を起動した旨の情報
を付加して出力手段301を起動する. ■ 出力手段301は、ターゲソトマシン情報読み取り
手段307に蓄積されている情報の内の組込ソフトウェ
ア101の次走行開始番地情報を先ず読み取り、ソース
リスト等の取得を指示してソースモジュール情報付加手
段308を起動する.[相] これに応答してソースモ
ジュール情報付加手段308は、蓄積装置116中のソ
ースモジュール情報を参照して、その次走行開始番地情
報のマシン命令の属する実行文を指定する情報およびそ
の実行文周辺のソースリストを作威し、これを出力装置
301に返す. ■ 出力手段301はこの返された内容をもとに、実行
文に印を付けたソースリストを出力装1(113)に出
力する. ■ 次に、(A)の■〜@と同様な動作が行われ、出力
装置(113)のデータ表示部分に、読み取り対象情報
の実際値にかかる図形が出力された後、制御が入力解析
と処理起動手段300に返される。
■ 入力解析と処理起動手段300は制御が戻されると
、(A)の[相]と同様に表示速度変更指示の入力の検
出.それに応じた走行速度調整手段30−2の起動等を
行った後、ディバッグパラメータ入力待ちにならなけれ
ば、内部に記録されている視覚化単位(今の場合は実行
文)に従って、実行文単位走行制御手段305を再度起
動し、走行命令発行のサイクルを繰り返す. 以上のような動作が繰り返し実行されることにより、出
力装! (1 1 3)には組込ソフトウェア101の
注目したいプロシジャ単位に相当するソースリストが表
示されると共に、実行文の行に走行に合わせて印が移る
表示が為され、且つ視覚化したいデータが実行順に出力
されることになり、そのブロシジ中の詳細な動作を把握
することが可能となる. 以上説明した本実施例によれば、次のような効果を得る
ことができる. (イ)組込ソフトウェア101の概略動作の把握がプロ
グラム単位ででき、更に再度プログラム単位で走行させ
、もっと詳しく動作を見たいプログラム単位の近くにな
ったら組込ソフトウェア10lの走行速度を落とし、該
当プログラム単位の走行開始となったら止めてプロシジ
ャ単位での走行をさせてプロシジャ名表示による視覚化
を行い、更に詳細な動作を見たい所で実行文単位での走
行をさせると、ソースリストを表示して実行文の行に走
行に合わせて印が移る表示による視覚化を行うので、誤
りの発生した箇所まで動作をソースモジュールレベルの
情報を見ながら絞り込んでいくディバッグができる. (口)データが誤りに関与する場合、データも任意の場
所について且つ任意個数、ソースモジュールレベルで各
走行単位に合わせてその内容を表示させることができる
ので、(イ)と同じようにデータに着目して絞り込んで
いくディバッグができる。
(ハ)ターゲットマシン100上で組込ソフトウェア1
01を走行させるので、組込ソフトウェア101の走行
環境等をシミュレートする必要がなく、高速な実行が可
能となる。
(二)走行表示と走行が一致していることにより、表示
に合わせて走行制御ができる。
(ホ)実時間遅延手段205で組込ソフトウェア101
が実走行した時間に基づいて周期割込を発生させている
為、組込ソフトウェア101の周期動作に対しディバッ
グしている時間の影響を与えない.このことと(二)と
により、岨込ソフトウェア101の実時間性を狂わすこ
となく、ディバッグの走行速度を動作の視覚認識の速さ
に合わせてディバッグができる. 〔発明の効果〕 以上説明したように、本発明のディバッグ支援方式にお
いては、組込ソフトウェアの命令実行時間を累積しその
累積値が一定値に達する毎に組込ソフトウェアに対し割
込を発生して周期動作を行わせるソフトウェア制御装置
を設けたことにより、組込ソフトウェアの周期割込によ
る周期動作を、実環境下と同しにしてディバッグ支援を
行うことができる効果がある.
【図面の簡単な説明】
第1図は本発明の一実施例の構戒図、 第2図はソフトウェア制御装置の機能ブロック図および
、 第3図はディバッガプログラムの機能ブロック図である
. 図において、 100・・・ターゲットマシン 101・・・岨込ソフトウェア 102・・・ソフトウェア制御装置 110・・・ディバッグホストコンピュータ111・・
・通信制御装置 112・・・ディバンガプログラム 113・・・ブラウン管装置 114・・・キーボー 115・・・マウス 116・・・蓄積装置 120・・・通信回線 ド

Claims (1)

  1. 【特許請求の範囲】 ディバッグ対象となる組込ソフトウェアの走行するター
    ゲットマシンに通信回線を介してディバッグホストコン
    ピュータを接続し、前記ディバッグホストコンピュータ
    より対話的な方法で前記ターゲットマシン上の組込ソフ
    トウェアの走行、停止、状態表示を行わせるディバッグ
    支援方式において、 前記ターゲットマシン上に、前記組込ソフトウェアの命
    令実行時間を累積し該累積値が一定値に達する毎に前記
    組込ソフトウェアに対し割込を発生させるソフトウェア
    制御装置を設けてなることを特徴とするディバッグ支援
    方式。
JP1189896A 1989-07-21 1989-07-21 ディバッグ支援方式 Pending JPH0354643A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP1189896A JPH0354643A (ja) 1989-07-21 1989-07-21 ディバッグ支援方式

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP1189896A JPH0354643A (ja) 1989-07-21 1989-07-21 ディバッグ支援方式

Publications (1)

Publication Number Publication Date
JPH0354643A true JPH0354643A (ja) 1991-03-08

Family

ID=16249003

Family Applications (1)

Application Number Title Priority Date Filing Date
JP1189896A Pending JPH0354643A (ja) 1989-07-21 1989-07-21 ディバッグ支援方式

Country Status (1)

Country Link
JP (1) JPH0354643A (ja)

Similar Documents

Publication Publication Date Title
US7178135B2 (en) Scope-based breakpoint selection and operation
JPH0354643A (ja) ディバッグ支援方式
JPH10240578A (ja) マルチタスク処理装置、マルチタスク処理方法およびマルチタスク処理表示方法
WO1987005725A1 (en) Method of executing emulation
JPH08263130A (ja) シミュレーション方式
JPH03127122A (ja) データ処理装置における演算処理方式
JPH07295612A (ja) 高級言語シーケンス命令プログラム生成装置および汎用シーケンサ
CN111143141B (zh) 一种状态机设置方法及系统
JPH08185340A (ja) 並列プログラムデバッグ方法および並列プログラム可視化装置
JPH07200350A (ja) ソフトウェアデバッガ
JPH02220145A (ja) プログラムトレース方式
JP2009157534A (ja) プログラム作成支援システム、そのプログラマブルコントローラ支援装置、プログラマブル表示器支援装置
JP2786024B2 (ja) メールボックス情報表示方式
WO1999061986A1 (fr) Equipements peripheriques pour controleur programmable et leur procede de surveillance
JPS60120437A (ja) ロボット言語実行方法
CN113656013A (zh) 一种基于图形化编程平台的线程展示方法、装置及设备
JP2827724B2 (ja) プログラムデバッグ処理方法
JP2795290B2 (ja) タスク表示方式
JPH04238564A (ja) コマンドプロシージャのファイル入出力方式
JP2001209412A (ja) シーケンスプログラムのシミュレーション装置
JPH0619746B2 (ja) 情報処理装置
JPS63189948A (ja) 対話形デバツガにおけるバツチ形デバツグ方式
JP2001306356A (ja) タスクスケジューリング予測表示方法および装置
JPH09160806A (ja) デバッグ支援方法および装置
McKeeman Corporate integration through systems software