JP2659366B2 - デバッグ方法及びその装置 - Google Patents

デバッグ方法及びその装置

Info

Publication number
JP2659366B2
JP2659366B2 JP62031541A JP3154187A JP2659366B2 JP 2659366 B2 JP2659366 B2 JP 2659366B2 JP 62031541 A JP62031541 A JP 62031541A JP 3154187 A JP3154187 A JP 3154187A JP 2659366 B2 JP2659366 B2 JP 2659366B2
Authority
JP
Japan
Prior art keywords
location
information processing
breakpoint
object code
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 - Lifetime
Application number
JP62031541A
Other languages
English (en)
Other versions
JPS63200243A (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.)
Hitachi Ltd
Original Assignee
Hitachi 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 Hitachi Ltd filed Critical Hitachi Ltd
Priority to JP62031541A priority Critical patent/JP2659366B2/ja
Publication of JPS63200243A publication Critical patent/JPS63200243A/ja
Application granted granted Critical
Publication of JP2659366B2 publication Critical patent/JP2659366B2/ja
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Landscapes

  • Debugging And Monitoring (AREA)

Description

【発明の詳細な説明】 〔産業上の利用分野〕 本発明は高級言語で記述されたプログラムをデバッグ
する方法及びその装置に係り、特に、高級言語のレベル
でプログラムを参照しつつプログラムの実行を停止する
ブレークポイントを対話時に設定するのに好適なデバッ
グ方法及びその装置に関する。
〔従来の技術〕
既設の計算機、例えば既設の制御用計算機の上で使用
するプログラムの開発を、別に用意したプログラム開発
用計算機で行い、且つこの計算機上で実行オブジェクト
を生成(開発したソースプログラムは高級言語で書かれ
ており、これをコンパイルして機械語にすること)して
これを通信回線経由で制御用計算機にダウンロードする
ことが行われている。このシステムでは、制御用計算機
の稼働管理や保守もプログラム開発計算機で行うことが
望ましく、その一つとしてプログラムのデバッグ機能が
必要である。
従来のデバッグ装置は、特開昭61−82247号公報に開
示されているように、下位情報処理装置(上記の制御用
計算機)で実行する被デバッグプログラムを上位情報処
理装置(上記のプログラム開発用計算機)でデバッグす
るために、予めソースリスト内にブレークポイント(各
レジスタの値等を調べるためにプログラムの実行をその
位置で一時停止させる点)の設定のための文字を記述す
るようになっている。
第2図は上記従来のデバッグ装置の構成図である。下
位情報処理装置201上の被デバッグプログラム202を、上
位情報処理装置203内のデバッガ(デバッグ装置)205に
よりデバッグする。入出力装置240は操作者がデバック
に用いる。
第3図は、従来装置によるデバッグ作業の流れを示す
図である。同図は通常のプログラム作成の過程を示して
おり、ステップ301では高級言語のソースリストを上位
計算機203へ入力する。ステップ302でこれを翻訳し(コ
ンパイル)ステップ303で文法のチェックを行う。ミス
が見つかればステップ308でこれを修正して翻訳をしな
おし、文法上のミスがなくなればステップ304で被デバ
ッグプログラム(コンパイルしたオブジェクト)を下位
情報処理装置201にダウンロードする。ステップ305では
このロードしたプログラムを下位情報処理装置201上で
走らせてデバッグを行い、虫が見つかるとステップ306
からステップ308へ移り、ここでチェックしたい位置
に、ソースプログラムを修正してブレークポイントを設
定する。以下、再び、翻訳,ダウンロード,デバッグへ
と進み、設定したブレークポイントで各レジスタ等のチ
ェックを行う。
〔発明が解決しようとする課題点〕
上記の従来装置では、操作者が対話的にブレークポイ
ントを設定するというものではない。このためデバッグ
中に任意のところで停止させようとすると、高級言語の
ソースリストを先ず修正してブレークポイントを設定
し、この修正したソースリストを再度翻訳してダウンロ
ーディングすることが必要となり、効率的なデバッグが
行えないという問題がある。
本発明の目的は、ブレークポイント設定をプログラム
のソースリスト作成時に行うことなく、デバッグ作業時
に任意箇所に対話的に行うことができるようにしたデバ
ッグ方法及びその装置を提供することにある。
〔問題点を解決するための手段〕
上記の目的は、上位情報処理装置で作成したプログラ
ムをオブジェクトコードに翻訳し下位情報処理装置にダ
ウンロードして実行させながら上位情報処理装置でデバ
ッグを行う計算機システムにおいて、デバッグ作業中の
ブレークポイント設定時に前記プログラムのソースリス
トを上位情報処理装置の表示画面に表示し、該ソースリ
スト上でブレークポイントが指定されたとき前記オブジ
ェクトコードの対応箇所にブレークポイントを設定する
ことで、達成される。
このとき、被デバッグプログラムとソースリストのロ
ケーション対応を第1のテーブルに格納し、ソースリス
ト上の文で指定されたブレークポイントをこの第1のテ
ーブルを用いて被デバッグプログラム上のロケーション
に変換してブレークポイント設定を行い、かつその時得
たブレークポイントのロケーションを、そのロケーショ
ンを記憶するための第2のテーブルに格納するととも
に、被デバッグプログラムのブレークポイントロケーシ
ョンを格納したテーブルとロケーションカウンタを用い
て、下位情報処理装置で発生した割込みがブレークポイ
ント割り込みか否かを判別するようにする。
〔作用〕
操作者がブレークポイントを設定する際は、CRT画面
にソースリストを表示し、任意のブレークポイントを文
単位に指定する。デバッガはソースリストと被デバッグ
プログラムのロケーションを対応づける第1のテーブル
を参照して、被デバッグプログラムの当該ロケーション
にブレークポイントを設定する。このとき、設定したロ
ケーションをブレークポイントのロケーション記憶用の
第2のテーブルに登録する。
一方、下位情報処理装置からデバッガが割り込みを受
けると、現在のロケーションをロケーションカウンタか
ら得、ブレークポイントのロケーションを格納した第2
のテーブルを参照し、そのロケーションが該テーブル上
にあればブレークポイントであると判定し、その状態で
各部チェックを行える。
また、プログラムのデバッグでは多くの虫(バグ)が
内在しているのが一般的であり、虫により発生する異常
割込であるかその他の異常発生による割込であるかを識
別できることは、デバッグの効率を向上させる上で重要
である。
〔実施例〕
以下、本発明の一実施例を図面を参照して説明する。
第1図はデバッグ装置の一実施例を示した構成図であ
る。下位情報処理装置101には被デバッグプログラム102
及びブレークポイント設定ルーチンが内臓され、上位情
報処理装置103には、デバッガ105と、下位情報処理装置
101に設定したブレークポイントのロケーション列を格
納した第2のテーブル106と、実行時における被デバッ
グプログラム中のロケーションカウンタ107と、ソース
リスト上の文の被デバッグプログラムとのロケーション
を対応づける第1のテーブル108が内蔵されている。こ
のうちのデバッガ105の機能としては、被デバッグプロ
グラムへのブレークポイントの設定、下位情報処理装置
101に対する実行制御機能、下位情報処理装置101のメモ
リ、レジスタへのアクセス機能を持つ。通信線110,111
は、下位情報処理装置101のメモリ、レジスタを上位情
報処理装置103がアクセスしたり、上位情報処理装置103
にて翻訳し生成した被デバッグプログラムを下位情報処
理装置101にダウンローディングするための通信線であ
る。また、入出力装置104は操作者がデバッグを行うた
めのものである。
本実施例における処理の流れを第4図に示す。同図に
おいて、まずステップ401ではソースリストを上位情報
処理装置103へ入力し、ステップ402でこれをオブジェク
トへと翻訳し、ステップ403で文法的エラーのチェック
を行う。もしエラーがあればステップ409でソースリス
トを修正しステップ402の翻訳からやり直す。文法的エ
ラーがなくなるとステップ404でオブジェクトを下位情
報処理装置101へダウンロードし、ステップ405でこのオ
ブジェクトを走らせながら操作者によるデバッグを行
う。この途中でブレークポイント設定が必要な状態にな
ると(ステップ406)、後述のようにしてソースリスト
を参照しながらブレークポイントの設定を行い(ステッ
プ410)、デバッグステップ405へ戻る。ブレークポイン
ト設定が不要ならステップ407でデバッグが完了か否か
を判断し、修正が必要なときはステップ409へ戻る。
第5図は、第4図のステップ410におけるブレークポ
イント設定の詳細を示す流れ図である。第4図では省略
したが、上位情報処理装置103にてソースリストを翻訳
した際に(ステップ402)、ソースリストの文と被デバ
ッグプログラムのロケーション関係を示す第1テーブル
を作成しておく。第4図ステップ406でブレークポイン
ト設定が必要と判断されたときは、ステップ501で操作
者がその指示を出す。デバッガは操作者の指示したソー
スリスト上のロケーションがオブジェクト(デバッグさ
れるプログラム)上のどのロケーションに対応するかを
上記第1テーブルを参照して決定し(ステップ502)、
その決定したロケーションとともに下位情報処理装置10
1のブレークポイント設定ルーチン112に対し起動要求を
出す(ステップ503)。そうすると下位情報処理装置101
におけるブレークポイント設定ルーチンが起動され(ス
テップ505)、ブレークポイントがオブジェクトコード
内に設定されると(ステップ506)、上位情報処理装置1
03へ終了報告が送られる。上位情報処理装置103では、
この終了報告を受けると(ステップ504)、オブジェク
トコード上に設定したブレークポイントのロケーション
を第2のテーブルへ格納して処理を終える。
次に被デバッグプログラム実行時のブレークポイント
処理の流れを第6図に示す。下位情報処理装置101に割
り込みが発生し被デバッグプログラムの実行が停止する
と(ステップ601)、上位情報処理装置103のデバッガ10
5はこの割り込み通知を受け、この割り込みの停止ロケ
ーションをロケーションカウンタ107から知り(ステッ
プ602)、このロケーションが第2テーブル中にあるか
否かを第2テーブルを参照してしらべる(ステップ60
3)。第2テーブル上に停止ロケーションと同一エント
リが存在すれば(ステップ604)、デバッガ105はブレー
クポイント割込と判断し、ブレークポイントメッセージ
をCRT画面に出力し(ステップ605)、操作者からのデバ
ッグコマンド入力を待つ(ステップ607)。ブレークポ
イントによる割り込みでないとは何らかの異常による割
り込みと判断してその旨のメッセージをCRT画面へ出力
する(ステップ606)。
以上述べたように、本実施例では、ソースリスト上の
各文とその文に対応するオブジェクトコード上のロケー
ションとの対応表を上記翻訳時に生成して格納しておく
ための第1テーブルと、オブジェクトコード実行時の実
行コードのロケーションを示すためのロケーションカウ
ンタと、オブジェクトコードの実行を一時停止させるた
めに設定されたブレークポイントのロケーションを格納
するための第2テーブルと、操作者が上位情報処理装置
に接続された入出力装置からソースリスト上のブレーク
ポイントを指定したときに該ブレークポイントを設定す
べきオブジェクトコード上のロケーションを上記第1テ
ーブルを参照して決定し、該決定したロケーションにブ
レークポイントを設定し、かつ上記決定したロケーショ
ンを上記第2テーブルへ登録する機能を有した第1の処
理手段と、オブジェクトコードを実行している下位情報
処理装置で割り込みが発生してこれが上位情報処理装置
側に通知されたときに当該割り込みの発生したロケーシ
ョンを上記ロケーションカウンタから読みとり、該読み
とったロケーションが上記第2テーブルに登録されてい
るロケーションのいずれかと一致しているときにはブレ
ークポイントによる割り込みであり、一致するものがな
いときには異常発生による割り込みであると判断して入
出力装置を介して操作者にその旨を知らせる第2の処理
手段とを設けたので、ブレークポイントの設定を操作者
が対話的にソースリスト上で行うことにより、ソースリ
ストのオブジェクトへの翻訳、下位情報処理装置へのダ
ウンロードなどの処理を経ずにオブジェクトコードへ直
接ブレークポイント設定できるから、デバッグの作業効
率が著しく向上するという効果がある。
〔発明の効果〕
本発明によれば、ブレークポイント設定をプログラム
のソースリスト作成時に行うことなく、デバッグ作業時
に任意箇所に対話的に行うことができ、使い勝手が向上
する。
【図面の簡単な説明】
第1図は本発明のデバッグ装置の一実施例を示すブロッ
ク図、第2図は従来のデバッグ装置の構成図、第3図は
従来のデバッグ作業の流れを示す図、第4図は本発明に
おけるデバッグ作業の流れを示す図、第5図は第4図中
のブレークポイント設定ステップの詳細を示す流れ図、
第6図は下位情報処理装置に割り込みが発生した時の上
位情報処理装置における処理の流れ図である。 101……下位情報処理装置、102……被デバッグプログラ
ム、103……上位情報処理装置、104……入力装置、105
……デバッガ、106……ブレークポイントロケーション
格納テーブル、107……実行ロケーションカウンタ、108
……ソースリストと被デバッグプログラムの対応ロケー
ション格納テーブル。
───────────────────────────────────────────────────── フロントページの続き (72)発明者 綿谷 洋 日立市大みか町5丁目2番1号 株式会 社日立製作所大みか工場内 (56)参考文献 特開 昭61−296440(JP,A) 特開 昭60−254251(JP,A) 特開 昭63−178341(JP,A) 特開 昭59−68066(JP,A)

Claims (2)

    (57)【特許請求の範囲】
  1. 【請求項1】高級言語で書かれたソースリストの作成お
    よびオブジェクトコードへの変換を行う上位情報処理装
    置から回線を介して下位情報処理装置に上記オブジェク
    トコードがダウンロードされ該下位情報処理装置にて該
    オブジェクトコードが実行されるときの上位情報処理装
    置におけるデバッグ方法において、ソースリスト上の各
    文とその文に対応するオブジェクトコード上のロケーシ
    ョンとの対応表を上記変換時に生成して第1テーブルに
    格納しておき、オブジェクトコード実行時の実行コード
    のロケーションをロケーションカウンタでカウントし、
    オブジェクトコードの実行を一時停止させるために設定
    されたブレークポイントのロケーションを第2テーブル
    に格納しておき、上位情報処理装置に接続された入出力
    装置からソースリスト上のブレークポイントが指定され
    たときに該ブレークポイントを設定すべきオブジェクト
    コード上のロケーションを上記第1テーブルを参照して
    決定し、該決定したロケーションにブレークポイントを
    設定し、かつ上記決定したロケーションを上記第2テー
    ブルへ登録し、オブジェクトコードを実行している下位
    情報処理装置で割り込みが発生してこれが上位情報処理
    装置側に通知されたときに当該割り込みの発生したロケ
    ーションを上記ロケーションカウンタから読み取り、該
    読み取ったロケーションが上記第2テーブルに登録され
    ているロケーションのいずれかと一致しているときには
    ブレークポイントによる割り込みであると判断し、一致
    するものがないときには異常発生による割り込みである
    と判断して上記入出力装置に該判断結果を出力すること
    を特徴とするデバッグ方法。
  2. 【請求項2】高級言語で書かれたソースリストの作成お
    よびオブジェクトコードへの変換を行う上位情報処理装
    置から回線を介して下位情報処理装置に上記オブジェク
    トコードがダウンロードされ該下位情報処理装置にて該
    オブジェクトコードが実行されるときの上位情報処理装
    置側に設けられたデバッグ装置において、 ソースリスト上の各文とその文に対応するオブジェクト
    コード上のロケーションとの対応表を上記変換時に生成
    して格納しておくための第1テーブルと、 オブジェクトコード実行時の実行コードのロケーション
    を示すためのロケーションカウンタと、 オブジェクトコードの実行を一時停止させるために設定
    されたブレークポイントのロケーションを格納するため
    の第2テーブルと、 上位情報処理装置に接続された入出力装置からソースリ
    スト上のブレークポイントが指定されたときに該ブレー
    クポイントを設定すべきオブジェクトコード上のロケー
    ションを上記第1テーブルを参照して決定し、該決定し
    たロケーションにブレークポイントを設定し、かつ上記
    決定したロケーションを上記第2テーブルへ登録する機
    能を有した第1の処理手段と、 オブジェクトコードを実行している下位情報処理装置で
    割り込みが発生してこれが上位情報処理装置側に通知さ
    れたときに当該割り込みの発生したロケーションを上記
    ロケーションカウンタから読み取り、該読み取ったロケ
    ーションが上記第2テーブルに登録されているロケーシ
    ョンのいずれかと一致しているときにはブレークポイン
    トによる割り込みであると判断し、一致するものがない
    ときには異常発生による割り込みであると判断して上記
    入出力装置に該判断結果を出力する第2の処理手段と を備えることを特徴とするデバッグ装置。
JP62031541A 1987-02-16 1987-02-16 デバッグ方法及びその装置 Expired - Lifetime JP2659366B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP62031541A JP2659366B2 (ja) 1987-02-16 1987-02-16 デバッグ方法及びその装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP62031541A JP2659366B2 (ja) 1987-02-16 1987-02-16 デバッグ方法及びその装置

Publications (2)

Publication Number Publication Date
JPS63200243A JPS63200243A (ja) 1988-08-18
JP2659366B2 true JP2659366B2 (ja) 1997-09-30

Family

ID=12334050

Family Applications (1)

Application Number Title Priority Date Filing Date
JP62031541A Expired - Lifetime JP2659366B2 (ja) 1987-02-16 1987-02-16 デバッグ方法及びその装置

Country Status (1)

Country Link
JP (1) JP2659366B2 (ja)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2642787B2 (ja) * 1991-02-18 1997-08-20 富士通株式会社 中断位置検索方式

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS61296440A (ja) * 1985-06-25 1986-12-27 Nec Corp マイクロコンピユ−タ・デバツグサポ−ト方式

Also Published As

Publication number Publication date
JPS63200243A (ja) 1988-08-18

Similar Documents

Publication Publication Date Title
JP2659366B2 (ja) デバッグ方法及びその装置
US6611924B1 (en) Reducing code size of debug output statements
JPS62113244A (ja) プログラムテスト装置
JP2888242B2 (ja) マイクロプロセッサのプログラム開発システム
JPH11110256A (ja) プログラムデバッグ装置、プログラムデバッグ方法及びその方法を記録したコンピュータ読取り可能な記録媒体
KR100214125B1 (ko) 전전자 교환기에서 함수 파라미터 추적 방법
CN114327648B (zh) 一种驱动调试方法、装置、电子设备及存储介质
WO2024069730A1 (ja) デバッグ装置及びデバッグ方法
JPH0465729A (ja) シンボリック・デバッガ
JPS61180342A (ja) 高級言語のステツプ実行方式
JPS626260B2 (ja)
JPS6292034A (ja) プログラムデバツグ装置
JP3077627B2 (ja) デバッグ方法およびデバッグプログラムを記録する記録媒体
Goldberg et al. The PRIM System: An alternative architecture for emulator development and use
JPS6292032A (ja) プログラムテスト方法
JPH05250221A (ja) シミュレータ実行方式
JPH06242943A (ja) ソースコードレベルデバッグ装置
JPH03294934A (ja) 高級プログラム言語用デバッガ
JPS63178341A (ja) プログラムデバツグ方式
JPH02210556A (ja) プログラム実行状態の視覚化装置
JPH03144833A (ja) デバッグ・システム
JPH0766343B2 (ja) プログラムテスト装置
JPH11191072A (ja) デバッグのブレイク処理方法及びデバッグ処理装置
JPS6292033A (ja) プログラムデバツグ装置
JPH0395638A (ja) デバッグ装置