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
Links
Landscapes
- Debugging And Monitoring (AREA)
Description
方法に関し、特に一つの命令を実行するごとに割込みを
発生することができるシングルステップ機能を有するプ
ロセッサを用いて、デバッガプログラムにより被デバッ
グプログラムに対するデバッグを行うソフトウェアデバ
ッグ方法に関する。
デバッグプログラムの中の不正な部分を見つけるため
に、マイクロプロセッサのシングルステップ機能を用い
て、特定のレジスタやメモリのアドレスまたは被デバッ
グプログラムの命令実行カウンタの内容を出力装置に出
力することにより、それらの内容がどのように変化する
かあるいは被デバッグプログラムの中で制御がどのよう
に移り変るかなどを確認している。
法についての参考文献の一例としては、特開平2−27
447号“デバッグ方式”がある。
ウェアデバッグ方法は、入出力ポートを通じて入出力し
ている入出力データを確認するために、被デバッグプロ
グラムに対するシングルステップ機能を用いた割込みが
発生するごとに、デバッガプログラム上で動作中の被デ
バッグプログラムにおける制御の移動を調べて、必要に
応じてキーボードからコマンドを入力して入出力ポート
にある入出力データを、ディスプレイ上に表示させたり
プリンタへ出力させたりしなければならないので、作業
者が単純な作業を繰返して実行する必要があるという欠
点を有している。
は、特定の周辺装置を制御する制御回路を動作させるプ
ログラムに対するデバッグを行うためには、一連の連続
した入出力データに対する入出力動作を確認する必要が
あるけれども、上記のように作業者が単純な作業を繰返
して実行しなければならないので、手間や時間を必要と
することにより、このような入出力動作の確認がしずら
いという欠点を有している。
り入出力ポートを通じて入出力する入出力データを容易
に確認することができるとともに、特定の周辺装置を制
御するための制御回路を動作させる被デバッグプログラ
ムに対するデバッグを容易に実施することができるソフ
トウェアデバッグ方法を提供することにある。
アデバッグ方法は、一つの命令を実行するごとに割込み
を発生することができるシングルステップ機能を有する
プロセッサを用いて、デバッガプログラムにより被デバ
ッグプログラムのデバッグを行うソフトウェアデバッグ
方法において、(A)前記被デバッグプログラムを起動
させたときには、一つの命令を実行するごとにシングル
ステップ割込みを発生させるシングルステップモードに
設定するシングルステップモード設定手段と、(B)前
記シングルステップ割込みが発生するごとに、その直前
に実行した命令を解析することにより、その命令が入出
力命令であるか否かを判断するシングルステップ割込み
解析手段と、(C)前記シングルステップ割込み解析手
段からの入出力命令である旨の通知を受けて、その入出
力命令で使用した入出力ポートにある入出力データを取
出して入出力履歴ファイルの中に出力する入出力データ
履歴出力手段と、(D)前記シングルステップ割込みの
直前に実行された命令のアドレスを調べて異常値である
ときに、および、ある入出力ポートに対する同一の入出
力データが特定の回数以上に渡って前記入出力履歴ファ
イルの中に出力されたときに、前記被デバッグプログラ
ムの異常を知らせるエラーメッセージを出力する被デバ
ッグプログラム異常検出手段と、を前記デバッガプログ
ラムの中に備えている。
方法は、一つの命令を実行するごとに割込みを発生する
ことができるシングルステップ機能を有しているプロセ
ッサを用いて、デバッガプログラムにより、被デバッグ
プログラムのデバッグを行うソフトウェアデバッグ方法
において、(A)前記被デバッグプログラムを起動させ
て、一つの命令を実行するごとに、シングルステップ割
込みを発生させるシングルステップモードに設定し、
(B)前記シングルステップ割込みが発生するごとに、
その直前に実行した命令を解析することにより、その命
令が入出力命令であるか否かを判断し、(C)入出力命
令であるときには、その入出力命令で用いた入出力ポー
トにある入出力データを取出して入出力履歴ファイルの
中に出力し、(D)前記シングルステップ割込みの直前
に実行された命令のアドレスを調べて異常値であるとき
に、および、ある入出力ポートに対する同一の入出力デ
ータが特定の回数以上に渡って前記入出力履歴ファイル
の中に出力されたときに、前記被デバッグプログラムの
異常を知らせるエラーメッセージを出力する、ことを含
んでいる。
方法は、一つの命令を実行するごとに割込みを発生する
ことができるシングルステップ機能を有しているプロセ
ッサを用いて、デバッガプログラムにより、被デバッグ
プログラムのデバッグを行うソフトウェアデバッグ方法
において、(A)前記被デバッグプログラムを起動させ
たときには、一つの命令を実行するごとにシングルステ
ップ割込みを発生させるシングルステップモードに設定
するイニシャル処理と、(B)前記シングルステップ割
込みが発生するごとに、その直前に実行した命令を解析
することにより、その命令が入出力命令であるか否かを
判断して、入出力命令であるときには、その入出力命令
で用いた入出力ポートにある入出力データを取出して入
出力履歴ファイルに出力し、前記シングルステップ割込
みの直前に実行された命令のアドレスを調べて異常値で
あるときには、および、ある入出力ポートに対する同一
の入出力データが特定の回数以上に渡って、前記入出力
履歴ファイルに出力されたときには、使用者に対して、
前記被デバッグプログラムの異常を知らせるエラーメッ
セージを出力する割込み処理と、を前記デバッガプログ
ラムの中に備えている。
して説明する。図1は、本発明のソフトウェアデバッグ
方法の一実施例を示す流れ図である。また、図2は、本
実施例のソフトウェアデバッグ方法を適用したコンピュ
ータシステムの一例を示すブロック図である。
デバッグ方法を用いたコンピュータシステムは、システ
ム全体の制御を行うCPU11と、CPU11を動作さ
せるためのデバッガプログラムを格納するROM12
と、そのデバッガプログラムが実行する際に使用する作
業領域および被デバッグプログラム等を格納するRAM
13と、この被デバッグプログラムにより制御される制
御回路14と、デバッグ結果を出力するための履歴ファ
イルを格納しているファイル装置15と、CPU11,
ROM12,RAM13,制御回路14,ファイル装置
15等を接続するメモリバス16と、CPU11,制御
回路14を接続する入出力ポート17と、制御回路14
によって制御される周辺装置18とを有している。
するごとに割込みを発生することができるシングルステ
ップ機能を有するプロセッサを使用している。
フトウェアデバッグ方法を用いて、イニシャル処理1お
よび割込み処理2から構成されるデバッガプログラムを
動作させることにより、被デバッグプログラム3のデバ
ッグを行う。
と、シングルステップモード設定手段であるイニシャル
処理1は、ステップS11で、割込みベクタの書換を行
って、一つの命令を実行するごとにシングルステップ割
込みの発生を行える状態にし、ステップS12で、シン
グルステップ割込みの実行モードに設定している。
させたときに、一つの命令A,B,C,……を実行する
ごとにシングルステップ割込みが発生するので、割込み
処理2に移行し、割込み処理2は、シングルステップ割
込み解析手段であるステップS21,S22,S23に
より、ステップS21では、シングルステップ割込みの
直前に実行した命令コードを読込み、ステップS22で
は、その命令コードを解析することにより、ステップS
23で、その命令が入出力命令であるか否かを判断して
いる。
には、入出力データ履歴出力手段であるステップS2
4,S25により、ステップS24で、その命令のオペ
ランドを解析し、ステップS25では、その入出力命令
で使用した入出力ポートにある入出力データを取出して
入出力履歴ファイルの中に出力している。
段であるステップS26,S27,S28,S29,S
30により、ステップS26で、入出力履歴ファイルに
出力された前回の入出力データと今回の入出力データと
を比較して、ステップS27で、一定の回数以上に渡っ
て同一であるかどうかを検出し、一定の回数以上同一で
あった場合に、ステップS30で、被デバッグプログラ
ム3の異常を知らせるエラーメッセージを出力してい
る。
プ割込みの直前に実行された命令のアドレスを調べてそ
れが異常値であるときには、ステップS29で、被デバ
ッグプログラム3の異常を知らせるエラーメッセージを
出力している。
フトウェアデバッグ方法は、デバッガプログラムによ
り、入出力ポートを通じて入出力する入出力データを容
易に確認することができるとともに、特定の周辺装置を
制御するための制御回路を動作させる被デバッグプログ
ラムのデバッグを容易に実施することができるという効
果を有している。
法は、被デバッグプログラムの誤りや周辺装置を制御す
る制御回路の誤動作により、被デバッグプログラムの実
行が無限ループに入ってしまったとしても、これを検出
してエラーメッセージを出力するので、被デバッグプロ
グラムに対するデバッグを強制的に終了する等の処置を
行うことにより、デバッグ効率が向上できるという効果
を有している。
は、入出力履歴ファイルを解析するソフトウェアを使用
することにより、自動的に被デバッグプログラムや制御
回路の誤りを検出することができるので、人手による作
業を少なくできるという効果を有している。
を示す流れ図である。
たコンピュータシステムの一例を示すブロック図であ
る。
Claims (3)
- 【請求項1】 一つの命令を実行するごとに割込みを発
生することができるシングルステップ機能を有するプロ
セッサを用いて、デバッガプログラムにより被デバッグ
プログラムのデバッグを行うソフトウェアデバッグ方法
において、(A)前記被デバッグプログラムを起動させ
たときには、一つの命令を実行するごとにシングルステ
ップ割込みを発生させるシングルステップモードに設定
するシングルステップモード設定手段と、(B)前記シ
ングルステップ割込みが発生するごとに、その直前に実
行した命令を解析することにより、その命令が入出力命
令であるか否かを判断するシングルステップ割込み解析
手段と、(C)前記シングルステップ割込み解析手段か
らの入出力命令である旨の通知を受けて、その入出力命
令で使用した入出力ポートにある入出力データを取出し
て入出力履歴ファイルの中に出力する入出力データ履歴
出力手段と、(D)前記シングルステップ割込みの直前
に実行された命令のアドレスを調べて異常値であるとき
に、および、ある入出力ポートに対する同一の入出力デ
ータが特定の回数以上に渡って前記入出力履歴ファイル
の中に出力されたときに、前記被デバッグプログラムの
異常を知らせるエラーメッセージを出力する被デバッグ
プログラム異常検出手段と、を前記デバッガプログラム
の中に備えることを特徴とするソフトウェアデバッグ方
法。 - 【請求項2】 一つの命令を実行するごとに割込みを発
生することができるシングルステップ機能を有するプロ
セッサを用いて、デバッガプログラムにより被デバッグ
プログラムのデバッグを行うソフトウェアデバッグ方法
において、(A)前記被デバッグプログラムを起動させ
て、一つの命令を実行するごとに、シングルステップ割
込みを発生させるシングルステップモードに設定し、
(B)前記シングルステップ割込みが発生するごとに、
その直前に実行した命令を解析することにより、その命
令が入出力命令であるか否かを判断し、(C)入出力命
令であるときには、その入出力命令で用いた入出力ポー
トにある入出力データを取出して入出力履歴ファイルの
中に出力し、(D)前記シングルステップ割込みの直前
に実行された命令のアドレスを調べて異常値であるとき
に、および、ある入出力ポートに対する同一の入出力デ
ータが特定の回数以上に渡って前記入出力履歴ファイル
の中に出力されたときに、前記被デバッグプログラムの
異常を知らせるエラーメッセージを出力する、ことを特
徴とするソフトウェアデバッグ方法。 - 【請求項3】 一つの命令を実行するごとに割込みを発
生することができるシングルステップ機能を有するプロ
セッサを用いて、デバッガプログラムにより被デバッグ
プログラムのデバッグを行うソフトウェアデバッグ方法
において、(A)前記被デバッグプログラムを起動させ
たときには、一つの命令を実行するごとにシングルステ
ップ割込みを発生させるシングルステップモードに設定
するイニシャル処理と、(B)前記シングルステップ割
込みが発生するごとに、その直前に実行した命令を解析
することにより、その命令が入出力命令であるか否かを
判断して、入出力命令であるときには、その入出力命令
で用いた入出力ポートにある入出力データを取出して入
出力履歴ファイルに出力し、前記シングルステップ割込
みの直前に実行された命令のアドレスを調べて異常値で
あるときには、および、ある入出力ポートに対する同一
の入出力データが特定の回数以上に渡って、前記入出力
履歴ファイルに出力されたときには、使用者に対して、
前記被デバッグプログラムの異常を知らせるエラーメッ
セージを出力する割込み処理と、を前記デバッガプログ
ラムの中に備えることを特徴とするソフトウェアデバッ
グ方法。
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)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111984521B (zh) * | 2019-05-23 | 2022-11-29 | 核工业理化工程研究院 | 一种无需jtag介入的板级调试方法 |
Family Cites Families (7)
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 | 入出力システムの動作状態のテスト方法 |
-
1993
- 1993-06-30 JP JP5160576A patent/JP2570108B2/ja not_active Expired - Fee Related
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 |