JP2570108B2 - ソフトウェアデバッグ方法 - Google Patents

ソフトウェアデバッグ方法

Info

Publication number
JP2570108B2
JP2570108B2 JP5160576A JP16057693A JP2570108B2 JP 2570108 B2 JP2570108 B2 JP 2570108B2 JP 5160576 A JP5160576 A JP 5160576A JP 16057693 A JP16057693 A JP 16057693A JP 2570108 B2 JP2570108 B2 JP 2570108B2
Authority
JP
Japan
Prior art keywords
output
instruction
input
program
interrupt
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.)
Expired - Fee Related
Application number
JP5160576A
Other languages
English (en)
Other versions
JPH0721056A (ja
Inventor
考司 沼田
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 JP5160576A priority Critical patent/JP2570108B2/ja
Publication of JPH0721056A publication Critical patent/JPH0721056A/ja
Application granted granted Critical
Publication of JP2570108B2 publication Critical patent/JP2570108B2/ja
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Landscapes

  • Debugging And Monitoring (AREA)

Description

【発明の詳細な説明】
【0001】
【産業上の利用分野】本発明は、ソフトウェアデバッグ
方法に関し、特に一つの命令を実行するごとに割込みを
発生することができるシングルステップ機能を有するプ
ロセッサを用いて、デバッガプログラムにより被デバッ
グプログラムに対するデバッグを行うソフトウェアデバ
ッグ方法に関する。
【0002】
【従来の技術】従来のソフトウェアデバッグ方法は、被
デバッグプログラムの中の不正な部分を見つけるため
に、マイクロプロセッサのシングルステップ機能を用い
て、特定のレジスタやメモリのアドレスまたは被デバッ
グプログラムの命令実行カウンタの内容を出力装置に出
力することにより、それらの内容がどのように変化する
かあるいは被デバッグプログラムの中で制御がどのよう
に移り変るかなどを確認している。
【0003】このような従来のソフトウェアデバッグ方
法についての参考文献の一例としては、特開平2−27
447号“デバッグ方式”がある。
【0004】
【発明が解決しようとする課題】上述した従来のソフト
ウェアデバッグ方法は、入出力ポートを通じて入出力し
ている入出力データを確認するために、被デバッグプロ
グラムに対するシングルステップ機能を用いた割込みが
発生するごとに、デバッガプログラム上で動作中の被デ
バッグプログラムにおける制御の移動を調べて、必要に
応じてキーボードからコマンドを入力して入出力ポート
にある入出力データを、ディスプレイ上に表示させたり
プリンタへ出力させたりしなければならないので、作業
者が単純な作業を繰返して実行する必要があるという欠
点を有している。
【0005】さらに、従来のソフトウェアデバッグ方法
は、特定の周辺装置を制御する制御回路を動作させるプ
ログラムに対するデバッグを行うためには、一連の連続
した入出力データに対する入出力動作を確認する必要が
あるけれども、上記のように作業者が単純な作業を繰返
して実行しなければならないので、手間や時間を必要と
することにより、このような入出力動作の確認がしずら
いという欠点を有している。
【0006】本発明の目的は、デバッガプログラムによ
り入出力ポートを通じて入出力する入出力データを容易
に確認することができるとともに、特定の周辺装置を制
御するための制御回路を動作させる被デバッグプログラ
ムに対するデバッグを容易に実施することができるソフ
トウェアデバッグ方法を提供することにある。
【0007】
【課題を解決するための手段】第1の発明のソフトウェ
アデバッグ方法は、一つの命令を実行するごとに割込み
を発生することができるシングルステップ機能を有する
プロセッサを用いて、デバッガプログラムにより被デバ
ッグプログラムのデバッグを行うソフトウェアデバッグ
方法において、(A)前記被デバッグプログラムを起動
させたときには、一つの命令を実行するごとにシングル
ステップ割込みを発生させるシングルステップモードに
設定するシングルステップモード設定手段と、(B)前
記シングルステップ割込みが発生するごとに、その直前
に実行した命令を解析することにより、その命令が入出
力命令であるか否かを判断するシングルステップ割込み
解析手段と、(C)前記シングルステップ割込み解析手
段からの入出力命令である旨の通知を受けて、その入出
力命令で使用した入出力ポートにある入出力データを取
出して入出力履歴ファイルの中に出力する入出力データ
履歴出力手段と、(D)前記シングルステップ割込みの
直前に実行された命令のアドレスを調べて異常値である
ときに、および、ある入出力ポートに対する同一の入出
力データが特定の回数以上に渡って前記入出力履歴ファ
イルの中に出力されたときに、前記被デバッグプログラ
ムの異常を知らせるエラーメッセージを出力する被デバ
ッグプログラム異常検出手段と、を前記デバッガプログ
ラムの中に備えている。
【0008】また、第2の発明のソフトウェアデバッグ
方法は、一つの命令を実行するごとに割込みを発生する
ことができるシングルステップ機能を有しているプロセ
ッサを用いて、デバッガプログラムにより、被デバッグ
プログラムのデバッグを行うソフトウェアデバッグ方法
において、(A)前記被デバッグプログラムを起動させ
て、一つの命令を実行するごとに、シングルステップ割
込みを発生させるシングルステップモードに設定し、
(B)前記シングルステップ割込みが発生するごとに、
その直前に実行した命令を解析することにより、その命
令が入出力命令であるか否かを判断し、(C)入出力命
令であるときには、その入出力命令で用いた入出力ポー
トにある入出力データを取出して入出力履歴ファイルの
中に出力し、(D)前記シングルステップ割込みの直前
に実行された命令のアドレスを調べて異常値であるとき
に、および、ある入出力ポートに対する同一の入出力デ
ータが特定の回数以上に渡って前記入出力履歴ファイル
の中に出力されたときに、前記被デバッグプログラムの
異常を知らせるエラーメッセージを出力する、ことを含
んでいる。
【0009】一方、第3の発明のソフトウェアデバッグ
方法は、一つの命令を実行するごとに割込みを発生する
ことができるシングルステップ機能を有しているプロセ
ッサを用いて、デバッガプログラムにより、被デバッグ
プログラムのデバッグを行うソフトウェアデバッグ方法
において、(A)前記被デバッグプログラムを起動させ
たときには、一つの命令を実行するごとにシングルステ
ップ割込みを発生させるシングルステップモードに設定
するイニシャル処理と、(B)前記シングルステップ割
込みが発生するごとに、その直前に実行した命令を解析
することにより、その命令が入出力命令であるか否かを
判断して、入出力命令であるときには、その入出力命令
で用いた入出力ポートにある入出力データを取出して入
出力履歴ファイルに出力し、前記シングルステップ割込
みの直前に実行された命令のアドレスを調べて異常値で
あるときには、および、ある入出力ポートに対する同一
の入出力データが特定の回数以上に渡って、前記入出力
履歴ファイルに出力されたときには、使用者に対して、
前記被デバッグプログラムの異常を知らせるエラーメッ
セージを出力する割込み処理と、を前記デバッガプログ
ラムの中に備えている。
【0010】
【実施例】次に、本発明の実施例について、図面を参照
して説明する。図1は、本発明のソフトウェアデバッグ
方法の一実施例を示す流れ図である。また、図2は、本
実施例のソフトウェアデバッグ方法を適用したコンピュ
ータシステムの一例を示すブロック図である。
【0011】図2に示している本実施例のソフトウェア
デバッグ方法を用いたコンピュータシステムは、システ
ム全体の制御を行うCPU11と、CPU11を動作さ
せるためのデバッガプログラムを格納するROM12
と、そのデバッガプログラムが実行する際に使用する作
業領域および被デバッグプログラム等を格納するRAM
13と、この被デバッグプログラムにより制御される制
御回路14と、デバッグ結果を出力するための履歴ファ
イルを格納しているファイル装置15と、CPU11,
ROM12,RAM13,制御回路14,ファイル装置
15等を接続するメモリバス16と、CPU11,制御
回路14を接続する入出力ポート17と、制御回路14
によって制御される周辺装置18とを有している。
【0012】そして、CPU11は、一つの命令を実行
するごとに割込みを発生することができるシングルステ
ップ機能を有するプロセッサを使用している。
【0013】そこで、図1に示すように、本実施例のソ
フトウェアデバッグ方法を用いて、イニシャル処理1お
よび割込み処理2から構成されるデバッガプログラムを
動作させることにより、被デバッグプログラム3のデバ
ッグを行う。
【0014】まず、デバッガプログラムを動作させる
と、シングルステップモード設定手段であるイニシャル
処理1は、ステップS11で、割込みベクタの書換を行
って、一つの命令を実行するごとにシングルステップ割
込みの発生を行える状態にし、ステップS12で、シン
グルステップ割込みの実行モードに設定している。
【0015】このため、被デバッグプログラム3を起動
させたときに、一つの命令A,B,C,……を実行する
ごとにシングルステップ割込みが発生するので、割込み
処理2に移行し、割込み処理2は、シングルステップ割
込み解析手段であるステップS21,S22,S23に
より、ステップS21では、シングルステップ割込みの
直前に実行した命令コードを読込み、ステップS22で
は、その命令コードを解析することにより、ステップS
23で、その命令が入出力命令であるか否かを判断して
いる。
【0016】そして、その命令が入出力命令であるとき
には、入出力データ履歴出力手段であるステップS2
4,S25により、ステップS24で、その命令のオペ
ランドを解析し、ステップS25では、その入出力命令
で使用した入出力ポートにある入出力データを取出して
入出力履歴ファイルの中に出力している。
【0017】さらに、被デバッグプログラム異常検出手
段であるステップS26,S27,S28,S29,S
30により、ステップS26で、入出力履歴ファイルに
出力された前回の入出力データと今回の入出力データと
を比較して、ステップS27で、一定の回数以上に渡っ
て同一であるかどうかを検出し、一定の回数以上同一で
あった場合に、ステップS30で、被デバッグプログラ
ム3の異常を知らせるエラーメッセージを出力してい
る。
【0018】また、ステップS28で、シングルステッ
プ割込みの直前に実行された命令のアドレスを調べてそ
れが異常値であるときには、ステップS29で、被デバ
ッグプログラム3の異常を知らせるエラーメッセージを
出力している。
【0019】
【発明の効果】以上に説明しているように、本発明のソ
フトウェアデバッグ方法は、デバッガプログラムによ
り、入出力ポートを通じて入出力する入出力データを容
易に確認することができるとともに、特定の周辺装置を
制御するための制御回路を動作させる被デバッグプログ
ラムのデバッグを容易に実施することができるという効
果を有している。
【0020】そして、本発明のソフトウェアデバッグ方
法は、被デバッグプログラムの誤りや周辺装置を制御す
る制御回路の誤動作により、被デバッグプログラムの実
行が無限ループに入ってしまったとしても、これを検出
してエラーメッセージを出力するので、被デバッグプロ
グラムに対するデバッグを強制的に終了する等の処置を
行うことにより、デバッグ効率が向上できるという効果
を有している。
【0021】また、本発明のソフトウェアデバッグ方法
は、入出力履歴ファイルを解析するソフトウェアを使用
することにより、自動的に被デバッグプログラムや制御
回路の誤りを検出することができるので、人手による作
業を少なくできるという効果を有している。
【図面の簡単な説明】
【図1】本発明のソフトウェアデバッグ方法の一実施例
を示す流れ図である。
【図2】本実施例のソフトウェアデバッグ方法を適用し
たコンピュータシステムの一例を示すブロック図であ
る。
【符号の説明】
1 イニシャル処理 2 割込み処理 3 被デバッグプログラム 11 CPU 12 ROM 13 RAM 14 制御回路 15 ファイル装置 16 メモリバス 17 入出力ポート 18 周辺装置

Claims (3)

    (57)【特許請求の範囲】
  1. 【請求項1】 一つの命令を実行するごとに割込みを発
    生することができるシングルステップ機能を有するプロ
    セッサを用いて、デバッガプログラムにより被デバッグ
    プログラムのデバッグを行うソフトウェアデバッグ方法
    において、(A)前記被デバッグプログラムを起動させ
    たときには、一つの命令を実行するごとにシングルステ
    ップ割込みを発生させるシングルステップモードに設定
    するシングルステップモード設定手段と、(B)前記シ
    ングルステップ割込みが発生するごとに、その直前に実
    行した命令を解析することにより、その命令が入出力命
    令であるか否かを判断するシングルステップ割込み解析
    手段と、(C)前記シングルステップ割込み解析手段か
    らの入出力命令である旨の通知を受けて、その入出力命
    令で使用した入出力ポートにある入出力データを取出し
    て入出力履歴ファイルの中に出力する入出力データ履歴
    出力手段と、(D)前記シングルステップ割込みの直前
    に実行された命令のアドレスを調べて異常値であるとき
    に、および、ある入出力ポートに対する同一の入出力デ
    ータが特定の回数以上に渡って前記入出力履歴ファイル
    の中に出力されたときに、前記被デバッグプログラムの
    異常を知らせるエラーメッセージを出力する被デバッグ
    プログラム異常検出手段と、を前記デバッガプログラム
    の中に備えることを特徴とするソフトウェアデバッグ方
    法。
  2. 【請求項2】 一つの命令を実行するごとに割込みを発
    生することができるシングルステップ機能を有するプロ
    セッサを用いて、デバッガプログラムにより被デバッグ
    プログラムのデバッグを行うソフトウェアデバッグ方法
    において、(A)前記被デバッグプログラムを起動させ
    て、一つの命令を実行するごとに、シングルステップ割
    込みを発生させるシングルステップモードに設定し、
    (B)前記シングルステップ割込みが発生するごとに、
    その直前に実行した命令を解析することにより、その命
    令が入出力命令であるか否かを判断し、(C)入出力命
    令であるときには、その入出力命令で用いた入出力ポー
    トにある入出力データを取出して入出力履歴ファイルの
    中に出力し、(D)前記シングルステップ割込みの直前
    に実行された命令のアドレスを調べて異常値であるとき
    に、および、ある入出力ポートに対する同一の入出力デ
    ータが特定の回数以上に渡って前記入出力履歴ファイル
    の中に出力されたときに、前記被デバッグプログラムの
    異常を知らせるエラーメッセージを出力する、ことを特
    徴とするソフトウェアデバッグ方法。
  3. 【請求項3】 一つの命令を実行するごとに割込みを発
    生することができるシングルステップ機能を有するプロ
    セッサを用いて、デバッガプログラムにより被デバッグ
    プログラムのデバッグを行うソフトウェアデバッグ方法
    において、(A)前記被デバッグプログラムを起動させ
    たときには、一つの命令を実行するごとにシングルステ
    ップ割込みを発生させるシングルステップモードに設定
    するイニシャル処理と、(B)前記シングルステップ割
    込みが発生するごとに、その直前に実行した命令を解析
    することにより、その命令が入出力命令であるか否かを
    判断して、入出力命令であるときには、その入出力命令
    で用いた入出力ポートにある入出力データを取出して入
    出力履歴ファイルに出力し、前記シングルステップ割込
    みの直前に実行された命令のアドレスを調べて異常値で
    あるときには、および、ある入出力ポートに対する同一
    の入出力データが特定の回数以上に渡って、前記入出力
    履歴ファイルに出力されたときには、使用者に対して、
    前記被デバッグプログラムの異常を知らせるエラーメッ
    セージを出力する割込み処理と、を前記デバッガプログ
    ラムの中に備えることを特徴とするソフトウェアデバッ
    グ方法。
JP5160576A 1993-06-30 1993-06-30 ソフトウェアデバッグ方法 Expired - Fee Related JP2570108B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP5160576A JP2570108B2 (ja) 1993-06-30 1993-06-30 ソフトウェアデバッグ方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP5160576A JP2570108B2 (ja) 1993-06-30 1993-06-30 ソフトウェアデバッグ方法

Publications (2)

Publication Number Publication Date
JPH0721056A JPH0721056A (ja) 1995-01-24
JP2570108B2 true JP2570108B2 (ja) 1997-01-08

Family

ID=15717955

Family Applications (1)

Application Number Title Priority Date Filing Date
JP5160576A Expired - Fee Related JP2570108B2 (ja) 1993-06-30 1993-06-30 ソフトウェアデバッグ方法

Country Status (1)

Country Link
JP (1) JP2570108B2 (ja)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111984521B (zh) * 2019-05-23 2022-11-29 核工业理化工程研究院 一种无需jtag介入的板级调试方法

Family Cites Families (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS6457342A (en) * 1987-08-27 1989-03-03 Mitsubishi Electric Corp Malfunction detector for data processor
JPH02204845A (ja) * 1989-02-02 1990-08-14 Nec Corp 内部動作履歴記録装置
JPH03296146A (ja) * 1990-04-13 1991-12-26 Sharp Corp プログラム開発支援装置
JPH04142626A (ja) * 1990-10-04 1992-05-15 Nec Corp マイクロプロセッサの停止制御回路
JPH04337847A (ja) * 1991-05-14 1992-11-25 Oki Electric Ind Co Ltd プログラムチェック方法
JPH05100894A (ja) * 1991-10-08 1993-04-23 Nec Corp トレースメモリ付lsi
JPH05128019A (ja) * 1991-11-07 1993-05-25 Fujitsu Ltd 入出力システムの動作状態のテスト方法

Also Published As

Publication number Publication date
JPH0721056A (ja) 1995-01-24

Similar Documents

Publication Publication Date Title
JP2570108B2 (ja) ソフトウェアデバッグ方法
JPH03113648A (ja) プログラムデバツグ方式
JP2738360B2 (ja) マルチタスクプログラムのデバッグ方法およびデバッグシステム
JPH0736510A (ja) プログラマブルコントローラ
JPS6118045A (ja) プログラムの暴走検出方式
JPH05204680A (ja) 情報処理装置の誤動作防止方式
JP3183982B2 (ja) ディジタル制御装置
JP2005267349A (ja) プロセッシングモジュールおよびその制御方法
JPH05197408A (ja) 数値制御装置
JPS61267137A (ja) 割込み動作制御方式
JPS6116338A (ja) 仮想計算機システムにおける割込み処理方式
JPH02178864A (ja) Ipl処理方式
JPH05282167A (ja) 障害処理方法
JPH08263324A (ja) デバッグ容易化装置
JPH06324911A (ja) プログラム実行の中断方法
JPH0553879A (ja) プログラム障害情報収集方式
JPH05108402A (ja) デバツグ装置
JPS62217332A (ja) 電子計算機制御方式
JPH05100719A (ja) プログラマブルコントローラ
JP2000172523A (ja) インサーキットエミュレータおよび飽和演算処理方法
JPS60254251A (ja) デバツク方式
JPH0527963A (ja) 異種の浮動小数点演算命令の同時サポート方法
JPH02105234A (ja) デバッグ処理装置
JPH05151021A (ja) 常駐領域組み込み型デバツガによるデバツグ方式
JPH10293703A (ja) 暴走監視装置並びに暴走監視方法、及びマイクロコンピュータ並びに情報処理方法

Legal Events

Date Code Title Description
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 19960820

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20071024

Year of fee payment: 11

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20081024

Year of fee payment: 12

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20091024

Year of fee payment: 13

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20091024

Year of fee payment: 13

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20101024

Year of fee payment: 14

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20111024

Year of fee payment: 15

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20111024

Year of fee payment: 15

S111 Request for change of ownership or part of ownership

Free format text: JAPANESE INTERMEDIATE CODE: R313113

R371 Transfer withdrawn

Free format text: JAPANESE INTERMEDIATE CODE: R371

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20111024

Year of fee payment: 15

S111 Request for change of ownership or part of ownership

Free format text: JAPANESE INTERMEDIATE CODE: R313113

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20121024

Year of fee payment: 16

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20121024

Year of fee payment: 16

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20121024

Year of fee payment: 16

LAPS Cancellation because of no payment of annual fees