JP2001067245A - シミュレーション方法及びシミュレーション装置 - Google Patents

シミュレーション方法及びシミュレーション装置

Info

Publication number
JP2001067245A
JP2001067245A JP24406799A JP24406799A JP2001067245A JP 2001067245 A JP2001067245 A JP 2001067245A JP 24406799 A JP24406799 A JP 24406799A JP 24406799 A JP24406799 A JP 24406799A JP 2001067245 A JP2001067245 A JP 2001067245A
Authority
JP
Japan
Prior art keywords
break
function
simulation
instruction
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
JP24406799A
Other languages
English (en)
Inventor
Naoki Hattori
直樹 服部
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 IC Microcomputer Systems Co Ltd
Original Assignee
NEC IC Microcomputer Systems 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 NEC IC Microcomputer Systems Co Ltd filed Critical NEC IC Microcomputer Systems Co Ltd
Priority to JP24406799A priority Critical patent/JP2001067245A/ja
Publication of JP2001067245A publication Critical patent/JP2001067245A/ja
Pending legal-status Critical Current

Links

Landscapes

  • Debugging And Monitoring (AREA)

Abstract

(57)【要約】 【課題】 本発明の課題は、デバッグ方式における関数
のブレーク処理を高速に実現できるシミュレータ及びデ
バッグ・プログラムを記録したコンピュータ読み取り可
能な記録媒体を提供することを目的とする。 【解決手段】 全ての関数の先頭アドレスでのブレーク
指示が要求されると、シミュレーション実行命令の種類
が関数呼出命令かどうかを1ステップ実行毎に検索す
る。そして、ブレーク条件であるシミュレーション実行
命令の種類に対応した関数が検索及び判断された場合に
ブレーク処理を行う。

Description

【発明の詳細な説明】
【0001】
【発明の属する技術分野】この発明は、プログラムのデ
バッグ時に行われるブレーク処理のシミュレーション方
法、シミュレーション方法をコンピュータに実行させる
プログラムを記録したコンピュータ読み取り可能な記録
媒体及びシミュレーション装置に関するものである。
【0002】
【従来の技術】近年、ソースコードの複雑化に伴い、既
存ソースコードの解析に多大な時間を要している。一般
にプログラムの解析又はデバッグを行う場合、例えば最
初はプログラムの概要の把握又はデバッグ箇所を特定す
るために大まかにトレースする。次に、あるモジュール
は部分的に細かくトレースするというようなデバッグを
行い、処理の流れ(関数の流れ)を把握するという方法
が一般的である。
【0003】以上説明した方法に用いられる装置の一例
として、特開平7−64819号公報に開示されている
デバッグ装置を、図5(a)、(b)及び図6を参照し
て説明する。図5(a)は従来のデバッグ装置を示すブ
ロック図、図5(b)は、記憶部15に格納されるデー
タ構造の一例を示す図であり、図6は作用を示すフロー
チャートである。図5(a)に示したデバッグ装置は、
キーボードやマウスなどの入力部13を有している。係
る入力部13でデバッグ処理の起動命令や、ブレークポ
イント設定箇所並びに条件などを入力する。この入力部
13の出力が、プログラム実行部14及び記憶部15に
接続されている。そして、プログラム実行部14は、入
力部13から与えられる上記起動命令に基づいて処理対
象のプログラム並びに所定の各種デバッグコマンド等を
実装するもので、いわゆるデバッガの本体部分である。
そして、このプログラム実行部14では、関数が引かれ
る都度、次段のブレーク判定部16にその関数名を送る
ようになっていた。
【0004】また、記憶部15は、ブレーク条件を格納
しておく手段である。図5(b)に示すようにプログラ
ムを一時停止させるための関数名及びその関数に与えら
れる引数の値(異常な引数)を対にしたブレークポイン
トのテーブル(ブレークポイントテーブル)を作成して
いる。そしてブレーク判定部16では、プログラム実行
部14で検出されたブレークポイント設定箇所での引数
と、記憶部15に格納されたブレークポイントテーブル
とを比較し、ブレーク処理を行うか否かの判断を行う。
その判定結果をプログラム実行部14に送り返すと共
に、ブレーク処理する場合にはそのブレークポイントが
設定された関数のソースコードを表示部17に送る。係
る表示部17において前記ソースコードを表示するよう
になっていた。
【0005】次に、上述した従来のデバッグ装置の作用
を図6を参照して説明する。図6は、従来のデバッグ装
置の作用を示すフローチャートである。先ず、入力部1
3を介してデバッグ処理起動命令がプログラム実行部1
4に入力され、また、ブレークポイントが設定(ブレー
ク処理する関数及び異常な引数に対して記憶部15に格
納)される(S101、S102)。例えば図6に示す
ように、ブレーク条件としてある関数f(x)が呼ばれ
た時に、その関数に与えられる引数xの値が「0」の場
合にブレーク処理するようにする。
【0006】次に、プログラム実行部14では、予めセ
ットされたプログラム中の各命令及びコマンドを順次実
行していく(S103)。そして、プログラム中に関数
があるとそれがブレーク判定部16に送られ、その関数
があるとそれがブレーク判定部16に送られ、f(x)
であるか否かが判断される(S104)。その関数がブ
レーク条件の1つであるf(x)でなければ、続行命令
がプログラム実行部14に送られる。送られた関数がブ
レーク条件の1つであるf(x)でなければ、続行命令
がプログラム実行部14に送られ、プログラム実行部1
4では、命令並びにコマンドの実行を継続する。
【0007】一方、関数がf(x)とすると、その関数
が呼ばれた時に与えられる引数の値を参照し、その値が
記憶部15に格納された異常な値(0)であるか否かを
判定し(S106)、0でなければS103に戻りプロ
グラムの実行を継続する。また、0の時には、ブレーク
処理を行い、プログラムを一時停止すると共に、その時
の関数のソースコードを表示部17に表示する(S10
7、S108)。
【0008】即ち、たとえブレーク条件の1つである関
数f(x)がプログラム中に呼ばれたとしても、そこに
入力される引数の値が正常なもの(0以外)の場合には
ブレーク処理されずにプログラムが実行継続される。前
記引数が異常な値の時に初めてブレーク処理されるた
め、一度のブレーク処理で問題発生時の関数が特定され
る。
【0009】以上の構成及び作用により、関数及びその
関数に呼ばれる引数の値を対にして設定し、両者の条件
が一致した時にブレーク処理をするようにしてあった。
例え記憶手段に格納されたブレークポイントとなる関数
名と同じ関数が呼ばれたとしても、係る関数に与えられ
る引数の値が正常なもの(記憶手段に格納したものと異
なる)であれば、ブレーク処理されることなくプログラ
ムの実行が継続される。従って、一度のブレーク処理で
問題発生時の関数を特定することができ、デバッグ効率
が向上される利点があった。
【0010】
【発明が解決しようとする課題】しかし、以上の特開平
7−64819号公報に開示されたデバッグ装置におい
ては次のような問題があった。係るデバッグ装置におい
ては、デバッグ処理開始に先立ち、予め関数アドレスの
ブレークポイントを設定しなければならずデバッグに伴
う作業が煩雑となり、作業性が低下していた。更に、プ
ログラム実行中にプログラム中に存在する全ての関数が
順次ブレーク判定部16に送られ、予め設定されたブレ
ークポイントと判定部に送られた関数とが比較されてい
た。このような動作が必要なため、1ステップ実行する
ごとに予め設定されたブレークポイントと判定部に送ら
れた関数とが比較判定されなければならず、多大なデバ
ッグ時間を要するという問題があった。
【0011】本発明は以上の従来技術における問題に鑑
みてなされたものであって、デバッグ方式における関数
のブレーク処理を高速に実現できるシミュレータ及びデ
バッグ・プログラムを記録したコンピュータ読み取り可
能な記録媒体を提供することを目的とする。
【0012】
【課題を解決するための手段】前記課題を解決する本出
願第1の発明は、プログラム入力手段によってプログラ
ムが入力される工程と、コマンド入力手段によってシミ
ュレーション実行命令が入力される工程と、命令実行手
段によって読み込まれたシミュレーション実行命令に基
づいてプログラムが実行される工程と、プログラム中の
全関数の先頭アドレスでのブレーク指示がコマンド入力
手段によって入力されることで、ブレーク指示がブレー
ク位置を設定する設定手段に格納される工程と、実行命
令判断手段によってシミュレーション実行命令の種類を
解析させ、ブレーク条件であるシミュレーション実行命
令の種類に適合するプログラム中の関数をステップ実行
毎に検索させ、ブレーク条件と適合する関数の先頭アド
レスを特定させ、係る関数の先頭アドレスでブレーク処
理を行う工程と、からなることを特徴とするシミュレー
ション方法である。
【0013】したがって、本出願第1の発明のシミュレ
ーション方法によれば、実行命令判断手段によってシミ
ュレーション実行命令の種類を解析させ、ブレーク条件
であるシミュレーション実行命令の種類に適合するプロ
グラム中の関数をステップ実行毎に検索させ、ブレーク
条件と適合する関数の先頭アドレスを特定させ、係る関
数の先頭アドレスでブレーク処理を行わせることで、関
数の先頭アドレスでのブレーク処理が高速に実現され
る。また、シミュレーション実行命令の種類でブレーク
処理させる関数の先頭アドレスを特定することから、予
めブレークポイントを設定するといった作業上の煩雑さ
が解消され、作業性が向上される利点がある。
【0014】また本出願第2の発明は、プログラムを構
成している関数とブレーク位置を特定するブレーク条件
とによって、ブレーク条件を満たす関数が特定され、そ
の特定された関数に基づいてブレーク処理が行われるシ
ミュレーション方法であって、ブレーク条件がシミュレ
ーション実行命令の種類であることを特徴とするシミュ
レーション方法である。
【0015】したがって本出願第2の発明のシミュレー
ション方法によれば、ブレーク条件がシミュレーション
実行命令の種類であることから、予めブレークポイント
を設定するといった作業上の煩雑さが解消され、作業性
が向上される利点がある。更に、関数の先頭アドレスで
のブレーク処理が高速に実現される。
【0016】また本出願第3の発明は、ブレーク条件で
あるシミュレーション実行命令の種類が関数呼出命令で
あることを特徴とする。
【0017】したがって本出願第3の発明のシミュレー
ション方法によれば、ブレーク条件であるシミュレーシ
ョン実行命令の種類が関数呼出命令であることから、関
数の先頭アドレスでのブレーク処理を確実且つ高速に行
うことができる。よって、作業性が向上される利点があ
る。
【0018】また本出願第4の発明は、ブレーク条件で
あるシミュレーション実行命令の種類がアセンブラ命令
であることを特徴とする。
【0019】したがって本出願第4の発明のシミュレー
ション方法によれば、ブレーク条件であるシミュレーシ
ョン実行命令の種類がアセンブラ命令であることから、
関数の先頭アドレスでのブレーク処理を高速に行うこと
ができる。よって、作業性が向上される利点がある。
【0020】また本出願第5の発明は、特定される関数
がユーザ記述の関数であることを特徴とする。
【0021】したがって本出願第5の発明シミュレーシ
ョン方法によれば、特定される関数がユーザ記述の関数
であることから、関数の特定に要する時間が短縮され
る。よって関数の先頭アドレスでのブレーク処理が高速
に実現される利点がある。
【0022】また本出願第6の発明は、プログラム入力
手段によってプログラムが入力される工程と、コマンド
入力手段によってシミュレーション実行命令が入力され
る工程と、命令実行手段によって読み込まれたシミュレ
ーション実行命令に基づいてプログラムが実行され、全
関数の先頭アドレスでのブレーク指示がコマンド入力手
段によって入力され、係るブレーク指示がブレーク位置
等を設定する設定手段に格納される工程と、実行命令判
断手段によってシミュレーション実行命令の種類を解析
させると共に、ブレーク条件であるシミュレーション実
行命令の種類に適合するプログラム中の関数をステップ
実行毎に検索させ、ブレーク条件と適合する関数の先頭
アドレスを特定させ、係る関数の先頭アドレスでブレー
ク処理を行う工程と、からなることを特徴とするシミュ
レーション方法をコンピュータに実行させるプログラム
を記録したコンピュータ読み取り可能な記録媒体であ
る。
【0023】したがって、第6の発明のシミュレーショ
ン方法をコンピュータに実行させるプログラムを記録し
たコンピュータ読み取り可能な記録媒体によれば、プロ
グラム入力手段によってプログラムが入力される工程
と、コマンド入力手段によってシミュレーション実行命
令が入力される工程と、命令実行手段によって読み込ま
れたシミュレーション実行命令に基づいてプログラムが
実行され、全関数の先頭アドレスでのブレーク指示がコ
マンド入力手段によって入力され、係るブレーク指示が
ブレーク位置等を設定する設定手段に格納される工程
と、実行命令判断手段によってシミュレーション実行命
令の種類を解析させると共に、ブレーク条件であるシミ
ュレーション実行命令の種類に適合するプログラム中の
関数をステップ実行毎に検索させ、ブレーク条件と適合
する関数の先頭アドレスを特定され、係る関数の先頭ア
ドレスでブレーク処理が行われる工程と、からなること
から、関数の先頭アドレスでのブレーク処理が高速に実
現される。また、シミュレーション実行命令の種類でブ
レーク処理させる関数の先頭アドレスを特定することか
ら、予めブレークポイントを設定するといった作業上の
煩雑さが解消され、作業性が向上される利点がある。
【0024】また、本出願第7の発明は、プログラムを
構成している関数とブレーク位置を特定するブレーク条
件とによって、前記ブレーク条件を満たす関数が特定さ
れ、特定された関数でブレーク処理が行われるシミュレ
ーション方法であって、ブレーク条件がシミュレーショ
ン実行命令の種類であることを特徴とするシミュレーシ
ョン方法をコンピュータに実行させるプログラムを記録
したコンピュータ読み取り可能な記録媒体である。
【0025】したがって、本出願第7の発明のシミュレ
ーション方法をコンピュータに実行させるプログラムを
記録したコンピュータ読み取り可能な記録媒体によれ
ば、ブレーク条件がシミュレーション実行命令の種類で
あることから、予めブレークポイントを設定するといっ
た作業上の煩雑さが解消され、作業性が向上される利点
がある。更に、関数の先頭アドレスでのブレーク処理が
高速に実現される。
【0026】また、本出願第8の発明は、ブレーク条件
であるシミュレーション実行命令の種類が関数呼出命令
であることを特徴とする。
【0027】したがって、本出願第8の発明のシミュレ
ーション方法をコンピュータに実行させるプログラムを
記録したコンピュータ読み取り可能な記録媒体によれ
ば、ブレーク条件であるシミュレーション実行命令の種
類が関数呼出命令であることから、、関数の特定に要す
る時間が短縮される。よって関数の先頭アドレスでのブ
レーク処理が高速に実現される利点がある。
【0028】また、本出願第9の発明は、ブレーク条件
であるシミュレーション実行命令の種類がアセンブラ命
令であることを特徴とする。
【0029】したがって、本出願第9の発明のシミュレ
ーション方法をコンピュータに実行させるプログラムを
記録したコンピュータ読み取り可能な記録媒体によれ
ば、ブレーク条件であるシミュレーション実行命令の種
類がアセンブラ命令であることから、関数の先頭アドレ
スでのブレーク処理を高速に行うことができる。よっ
て、作業性が向上される利点がある。
【0030】また、本出願第10の発明は、特定される
関数がユーザ記述の関数であることを特徴とする。
【0031】したがって、本出願第10の発明のシミュ
レーション方法をコンピュータに実行させるプログラム
を記録したコンピュータ読み取り可能な記録媒体によれ
ば、特定される関数がユーザ記述の関数であることか
ら、関数の特定に要する時間が短縮される。よって関数
の先頭アドレスでのブレーク処理が高速に実現される利
点がある。
【0032】また、本出願第11の発明は、プログラム
及びシミュレーション実行命令を入力する入力手段と、
与えられたプログラム中の関数の特定を行うためのブレ
ーク条件及びブレーク位置の設定を格納するための設定
手段と、ブレーク条件と関数とを比較し、ブレーク条件
に適合する関数を特定する判断手段と、ブレーク条件成
立毎にブレーク条件によって特定された関数のステップ
実行及びブレークを行う命令実行手段と、処理全体の制
御を行う制御手段と、ブレーク処理された結果を出力す
る出力手段とを有するシミュレーション装置であって、
シミュレーション実行命令の種類を判断する実行判断手
段を有することを特徴とするシミュレーション装置であ
る。
【0033】したがって、本出願第11の発明のシミュ
レーション装置によれば、シミュレーション実行命令の
種類を判断する実行判断手段を有することから、関数の
先頭アドレスでのブレーク処理が高速に実現される。ま
た、シミュレーション実行命令の種類でブレーク処理さ
せる関数の先頭アドレスを特定することから、予めブレ
ークポイントを設定するといった作業上の煩雑さが解消
され、作業性が向上される利点がある。
【0034】また、本出願第12の発明は、ブレーク条
件であるシミュレーション実行命令の種類が関数呼出命
令であることを特徴とする。
【0035】したがって、本出願第12の発明のシミュ
レーション装置は、ブレーク条件であるシミュレーショ
ン実行命令の種類が関数呼出命令であることから、関数
の特定に要する時間が短縮される。よって関数の先頭ア
ドレスでのブレーク処理が高速に実現される利点があ
る。
【0036】また、本出願第13の発明は、ブレーク条
件であるシミュレーション実行命令の種類がアセンブラ
命令であることを特徴とする。
【0037】したがって、本出願第13の発明のシミュ
レーション装置によれば、ブレーク条件であるシミュレ
ーション実行命令の種類がアセンブラ命令であることか
ら、関数の先頭アドレスでのブレーク処理を高速に行う
ことができる。よって、作業性が向上される利点があ
る。
【0038】また、本出願第14の発明は、特定される
関数がユーザ記述の関数であることを特徴とする。
【0039】したがって、本出願第14の発明のシミュ
レーション方法をコンピュータに実行させるプログラム
を記録したコンピュータ読み取り可能な記録媒体によれ
ば、特定される関数がユーザ記述の関数であることか
ら、関数の特定に要する時間が短縮される。よって関数
の先頭アドレスでのブレーク処理が高速に実現される利
点がある。
【0040】
【発明の実施の形態】以下に本発明の実施の形態のシミ
ュレーション装置及びシミュレーション方法につき図面
を参照して説明する。
【0041】実施の形態1 図1は本発明の実施の形態1のシミュレーション装置を
示すブロック図である。図1に示すように本発明のシミ
ュレーション装置は、全体の処理を行う制御手段1、入
力手段2、コマンド実行手段3と出力手段4とから構成
される。入力手段2は、ブレーク処理させるための目的
プログラムを入力するプログラム入力手段5とステップ
実行等の指示を受け付けるコマンド入力手段6とを備え
ている。コマンド実行手段3は、命令実行手段7、表示
手段8、設定手段9と実行命令判断手段10とを備えて
いる。命令実行手段7は1ステップ実行及びRUN実行
等の実行系の処理を行う手段である。また、表示手段8
はレジスタ内容及びメモリ内容等を表示する手段であ
る。更に、設定手段9はブレーク処理が行われる関数の
所定の位置を格納しておく手段である。また、実行命令
判断手段10はシミュレーション実行命令の種類を判断
する手段である。また、実行命令判断手段10には予め
ブレーク条件となるシミュレーション実行命令の種類が
入力及び格納されている。出力手段4は、デバッグした
結果をファイルに出力する結果ファイル出力手段11と
結果を画面に表示する結果表示手段12とを備えてい
る。
【0042】本発明の実施の形態1のシミュレーション
装置及びシミュレーション方法の作用を以下に簡単に説
明する。先ず、プログラムはプログラム入力手段5によ
って読み込まれる。次に、コマンド入力手段6によって
受け取ったコマンドに従い、命令実行手段10によって
プログラムは実行される。その際、実行命令判断手段1
0は、コマンド入力手段6によって全関数の先頭アドレ
スでのブレーク指示が要求される(設定手段に格納され
る)と、シミュレーション実行命令が関数呼出命令か否
かを1ステップ実行毎に調べ、関数呼出し命令のときに
ブレーク処理を行う。
【0043】以下に本発明の実施の形態1のシミュレー
ション装置の動作及びシミュレーション方法を図1及び
図2を参照して更に詳細に説明する。図2はシミュレー
ション方法を示すフローチャートである。ここではコマ
ンド実行手段3を中心として説明をする。図2に示すよ
うに、S1で入力手段2入力されたコマンドをコマンド
実行手段3の実行命令判断手段10が読み込み、次にS
2で入力されたコマンドを解析する。表示系コマンドの
時には、S3により入力コマンドに対応した表示処理を
行った後、S1に戻り、再び次のコマンドを読み込む。
終了指示のとき、コマンド実行処理は終了する。また、
入力されたコマンドが実行系コマンドの時はS5に進
む。S5では入力コマンドが全関数の先頭アドレスでの
ブレーク実行コマンドかどうかを判断する。尚、通常の
実行コマンドのときには、S6により入力コマンドに対
応した実行処理を行いS1に戻る。全関数の先頭アドレ
スでのブレーク実行の時には、S7からS10までの処
理を行う。先ず、S7で次に実行する命令が関数呼び出
し命令か否かを判断する。関数呼出命令以外の時には、
S9bにより1ステップ実行を行った後、再びS7に戻
る。関数呼出命令の時には、処理はS8に移り、その飛
び先関数がユーザ記述の関数かどうか調べる。ユーザ記
述の関数以外のとき、例えば、翻訳プログラムの提供す
るライブラリ関数のときには、S9bにより1ステップ
実行を行った後、S10でブレーク処理が行われる。
【0044】また、図3の入力プログラムをシミュレー
ションする場合について説明する。前提条件として、全
ての関数の先頭でブレーク処理を行うというコマンドが
設定手段9に格納されているとする。図3に示した入力
プログラムは、図1のプログラム入力手段5によって読
み込まれ、コマンド入力手段6によって与えられた指示
に従ってコマンド実行手段3によってシミュレーション
が実行される。即ち、コマンド入力手段3によって入力
されたコマンドをコマンド実行手段3が読み込み(S
1)、入力されたコマンドを解析する(S2)。この場
合、全ての関数の先頭アドレスでのブレーク処理を行う
というコマンドが入力されているので、実行系のコマン
ドと判断される。次に、実行命令判断手段10によっ
て、入力コマンドが全ての関数の先頭アドレスでのブレ
ーク実行コマンドか否か判断する(S5)。しかし、全
ての関数の先頭アドレスでブレーク処理を行うというコ
マンド(実行コマンド)がすでに入力されていることか
ら、処理がS7に進行する。S7は、次に実行命令判断
手段10によって、実行する命令が関数呼出命令か否か
を判定する工程である。図3の命令301は関数呼出命
令ではないため、図2のS9bに従って1ステップ実行
を行う。この場合、図3の命令301が実行される。次
に再び処理は図2のS7に戻り、次に実行する命令が関
数呼出命令か否かを判定する。この時、図3の命令30
2は関数呼出命令であるため、処理はS8に進行する。
S8は、その飛び先関数がユーザ記述の関数か否か判定
する工程である。関数”func”はユーザ記述の関数
であるため、命令実行手段7により、S9aで1ステッ
プ実行後、S10にてブレーク処理を行う。こうして関
数の先頭アドレスである図3の304でのブレーク処理
が行われる。ブレーク処理を行った後、処理は図2のS
1に戻り再び入力コマンドの読み込みを行う。以上説明
した動作により、関数の先頭アドレスでのブレーク処理
が高速に実現される。
【0045】実施の形態2 次に本発明の実施の形態1とは異なる本発明の実施の形
態2につき、図面を参照して説明する。図4は本発明の
実施の形態2のシミュレーション方法を示すフローチャ
ートである。図4に示すように本発明の実施の形態2の
シミュレーション方法及びシミュレーション装置では、
実施の形態1のシミュレーション方法及びシミュレーシ
ョン装置とは異なり、全ての関数の先頭アドレスでもブ
レーク実行コマンドが指示されたか否かを判断する図2
のS5の代わりに、図4のS14で全ての関数の先頭ア
ドレスでもブレーク実行コマンドが設定されているか否
かを判定する点で異なる。また、図4では、先頭アドレ
スでのブレーク処理の設定に関する処理として、変数f
lagの初期化処理であるS11と、設定コマンドが指
定されたか否かを判断するS12が追加されている。更
に、設定コマンドが指定されたときに変数flagを”
ON”にするS13が追加されている。
【0046】次にその動作を図1、図3及び図4を参照
して、図3の入力プログラムをシミュレーションする場
合について説明する。先ず、全ての関数の先頭アドレス
でブレーク処理を行うという設定が始めに入力され、そ
の後実行コマンドが入力されたものとする。図3の入力
プログラムは、図1のプログラム入力手段5によって入
力され、コマンド入力手段6によって入力された指示に
従って、コマンド実行手段3によってシミュレーション
が実行される。先ず、コマンド実行手段3で、変数fl
agを”OFF”にする(S11)。次に、実行命令判
断手段10により、S1で入力されたコマンドを読み込
み、S2で入力されたコマンドを解析する。この時、全
ての関数の先頭アドレスでブレーク処理を行うという設
定コマンドが入力されているので、設定系のコマンドと
判断し、処理はS12に進行する。関数の先頭アドレス
でブレーク処理を行うという設定コマンドであるため、
S12は真となり、S13で変数flagを”ON”に
した後、処理はS1に戻り、次のコマンドを入力する。
コマンドが実行系のコマンドである場合、S2での判断
処理で実行系のコマンドと認識され、処理はS14に進
行する。S14は、変数flagが”ON”であるかど
うかを調べる工程である。変数flagには”ON”が
設定されているため、処理はS7に進行する。以上説明
した処理の後は実施の形態1で説明した処理と同様に行
うことができる。以上の様な処理を行っても図3の30
4でブレーク処理を行うことができ、実施の形態1と同
様の効果を奏する。
【0047】
【発明の効果】以上で説明した本発明のシミュレーショ
ン方法及びシミュレーション装置は、全ての関数の先頭
アドレスでのブレーク指示が要求されると、シミュレー
ション実行命令の種類が関数呼出命令かどうかを1ステ
ップ実行毎に検索する。そして、関数呼出命令のときに
ブレーク処理を行う。その結果、全ての関数の先頭アド
レスでのブレーク設定がなされた場合における関数の先
頭アドレスでのブレークを高速に実現することができ
る。また、予めブレークポイントを設定する必要性がな
いことから、作業性が向上する。
【図面の簡単な説明】
【図1】 本発明の実施の形態1におけるシミュレーシ
ョン装置のブロック図
【図2】 本発明の実施の形態1におけるシミュレーシ
ョン方法を示すフローチャート
【図3】 本発明の実施の形態1及び本発明の実施の形
態2における入力プログラムの一例を示す図
【図4】 本発明の実施の形態2におけるシミュレーシ
ョン方法を示すフローチャート
【図5】 (a)従来のデバッグ装置を示すブロック図
(b)従来のデバッグ装置の記憶部に格納されるデータ
構造を示す図
【図6】 従来のデバッグ装置の作用を示すフローチャ
ート
【符号の説明】
1 制御手段 2 入力手段 3 コマンド実行手段 4 出力手段 5 プログラム入力手段 6 コマンド入力手段 7 命令実行手段 8 表示手段 9 設定手段 10 実行命令判断手段 11 結果ファイル出力手段 12 結果表示手段 13 入力部 14 プログラム実行手段 15 記憶部 16 ブレーク判定部 17 表示部

Claims (14)

    【特許請求の範囲】
  1. 【請求項1】プログラム入力手段によってプログラムが
    入力される工程と、コマンド入力手段によってシミュレ
    ーション実行命令が入力される工程と、命令実行手段に
    よって読み込まれたシミュレーション実行命令に基づい
    てプログラムが実行される工程と、プログラム中の全関
    数の先頭アドレスでのブレーク指示がコマンド入力手段
    によって入力されることで、ブレーク指示がブレーク位
    置を設定する設定手段に格納される工程と、実行命令判
    断手段によってシミュレーション実行命令の種類を解析
    させ、ブレーク条件であるシミュレーション実行命令の
    種類に適合するプログラム中の関数をステップ実行毎に
    検索させ、ブレーク条件と適合する関数の先頭アドレス
    を特定させ、係る関数の先頭アドレスでブレーク処理を
    行わせる工程と、からなることを特徴とするシミュレー
    ション方法。
  2. 【請求項2】プログラムを構成している関数とブレーク
    位置を特定するブレーク条件とによって、ブレーク条件
    を満たす関数が特定され、その特定された関数に基づい
    てブレーク処理が行われるシミュレーション方法であっ
    て、ブレーク条件がシミュレーション実行命令の種類で
    あることを特徴とするシミュレーション方法。
  3. 【請求項3】ブレーク条件であるシミュレーション実行
    命令の種類が関数呼出命令であることを特徴とする請求
    項1又は請求項2に記載のシミュレーション方法。
  4. 【請求項4】ブレーク条件であるシミュレーション実行
    命令の種類がアセンブラ命令であることを特徴とする請
    求項1〜請求項3に記載のシミュレーション方法。
  5. 【請求項5】特定される関数がユーザ記述の関数である
    ことを特徴とする請求項1又は請求項2に記載のシミュ
    レーション方法。
  6. 【請求項6】プログラム入力手段によってプログラムが
    入力される工程と、コマンド入力手段によってシミュレ
    ーション実行命令が入力される工程と、命令実行手段に
    よって読み込まれたシミュレーション実行命令に基づい
    てプログラムが実行され、全関数の先頭アドレスでのブ
    レーク指示がコマンド入力手段によって入力され、係る
    ブレーク指示がブレーク位置等を設定する設定手段に格
    納される工程と、実行命令判断手段によってシミュレー
    ション実行命令の種類を解析させると共に、ブレーク条
    件であるシミュレーション実行命令の種類に適合するプ
    ログラム中の関数をステップ実行毎に検索させ、ブレー
    ク条件と適合する関数の先頭アドレスを特定させ、係る
    関数の先頭アドレスでブレーク処理を行わせる工程と、
    からなることを特徴とするシミュレーション方法をコン
    ピュータに実行させるプログラムを記録したコンピュー
    タ読み取り可能な記録媒体。
  7. 【請求項7】プログラムを構成している関数とブレーク
    位置を特定するブレーク条件とによって、前記ブレーク
    条件を満たす関数が特定され、特定された関数でブレー
    ク処理が行われるシミュレーション方法であって、ブレ
    ーク条件がシミュレーション実行命令の種類であること
    を特徴とするシミュレーション方法をコンピュータに実
    行させるプログラムを記録したコンピュータ読み取り可
    能な記録媒体。
  8. 【請求項8】ブレーク条件であるシミュレーション実行
    命令の種類が関数呼出命令であることを特徴とする請求
    項6又は請求項7に記載のシミュレーション方法をコン
    ピュータに実行させるプログラムを記録したコンピュー
    タ読み取り可能な記録媒体。
  9. 【請求項9】ブレーク条件であるシミュレーション実行
    命令の種類がアセンブラ命令であることを特徴とする請
    求項6〜請求項8に記載のシミュレーション方法をコン
    ピュータに実行させるプログラムを記録したコンピュー
    タ読み取り可能な記録媒体。
  10. 【請求項10】特定される関数がユーザ記述の関数であ
    ることを特徴とする請求項6又は請求項7に記載のシミ
    ュレーション方法をコンピュータに実行させるプログラ
    ムを記録したコンピュータ読み取り可能な記録媒体。
  11. 【請求項11】プログラム及びシミュレーション実行命
    令を入力する入力手段と、与えられたプログラム中の関
    数の特定を行うためのブレーク条件及びブレーク位置の
    設定を格納するための設定手段と、ブレーク条件と関数
    とを比較し、ブレーク条件に適合する関数を特定する判
    断手段と、ブレーク条件成立毎にブレーク条件によって
    特定された関数のステップ実行及びブレーク処理を行う
    命令実行手段と、処理全体の制御を行う制御手段と、ブ
    レーク処理された結果を出力する出力手段とを有するシ
    ミュレーション装置であって、シミュレーション実行命
    令の種類を判断する実行命令判断手段を有することを特
    徴とするシミュレーション装置。
  12. 【請求項12】ブレーク条件であるシミュレーション実
    行命令の種類が関数呼出命令であることを特徴とする請
    求項11に記載のシミュレーション装置。
  13. 【請求項13】ブレーク条件であるシミュレーション実
    行命令の種類がアセンブラ命令であることを特徴とする
    請求項11又は請求項12に記載のシミュレーション装
    置。
  14. 【請求項14】特定される関数がユーザ記述の関数であ
    ることを特徴とする請求項12又は請求項13に記載の
    シミュレーション装置。
JP24406799A 1999-08-30 1999-08-30 シミュレーション方法及びシミュレーション装置 Pending JP2001067245A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP24406799A JP2001067245A (ja) 1999-08-30 1999-08-30 シミュレーション方法及びシミュレーション装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP24406799A JP2001067245A (ja) 1999-08-30 1999-08-30 シミュレーション方法及びシミュレーション装置

Publications (1)

Publication Number Publication Date
JP2001067245A true JP2001067245A (ja) 2001-03-16

Family

ID=17113253

Family Applications (1)

Application Number Title Priority Date Filing Date
JP24406799A Pending JP2001067245A (ja) 1999-08-30 1999-08-30 シミュレーション方法及びシミュレーション装置

Country Status (1)

Country Link
JP (1) JP2001067245A (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2008033849A (ja) * 2006-08-01 2008-02-14 Hitachi Ltd 障害解析システム

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2008033849A (ja) * 2006-08-01 2008-02-14 Hitachi Ltd 障害解析システム

Similar Documents

Publication Publication Date Title
EP0785510B1 (en) Program debugging system for debugging a program having a graphical user interface
US5987250A (en) Transparent instrumentation for computer program behavior analysis
US7178135B2 (en) Scope-based breakpoint selection and operation
US6981248B2 (en) Conditional breakpoint encountered indication
US7080360B2 (en) Breakpoint safety net
JP2000122886A (ja) 半導体試験装置のプログラム作成方式
JP2008033849A (ja) 障害解析システム
US20030018957A1 (en) Debugger monitor with anticipatory highlights
JPS62113244A (ja) プログラムテスト装置
JP2001067245A (ja) シミュレーション方法及びシミュレーション装置
JP2003263340A (ja) デバッグ装置
US7627859B2 (en) Method for configuring non-script language library files to be run as scripts
JPH05108404A (ja) デバツガシステム
JP2001344128A (ja) 逆アセンブル表示アドレスの設定方法および記録媒体
JPH11191072A (ja) デバッグのブレイク処理方法及びデバッグ処理装置
JP2006003987A (ja) デバッグ方法およびデバッガ
JPS6292033A (ja) プログラムデバツグ装置
JPH0468446A (ja) デバッグ支援装置
JPH05189224A (ja) 処理方法管理方式
JPH05342052A (ja) デバッグ方式
JP2003015907A (ja) デバッグ装置、デバッグプログラム、およびプログラム記録媒体
JPH09160806A (ja) デバッグ支援方法および装置
JPH07110780A (ja) デバッグ装置
JPS6172339A (ja) プログラム実行表示制御方式
JP2001067246A (ja) デバッグ装置、デバッグ方法、および、デバッグ用プログラムを記録した記録媒体