JPH05204698A - デバッガ処理方式 - Google Patents

デバッガ処理方式

Info

Publication number
JPH05204698A
JPH05204698A JP4014935A JP1493592A JPH05204698A JP H05204698 A JPH05204698 A JP H05204698A JP 4014935 A JP4014935 A JP 4014935A JP 1493592 A JP1493592 A JP 1493592A JP H05204698 A JPH05204698 A JP H05204698A
Authority
JP
Japan
Prior art keywords
debugger
command
sub
user interface
unit
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.)
Withdrawn
Application number
JP4014935A
Other languages
English (en)
Inventor
Kumiko Ezaki
久美子 江▲崎▼
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 JP4014935A priority Critical patent/JPH05204698A/ja
Publication of JPH05204698A publication Critical patent/JPH05204698A/ja
Withdrawn legal-status Critical Current

Links

Landscapes

  • Debugging And Monitoring (AREA)

Abstract

(57)【要約】 【目的】 最適化されたオブジェクト・モジュールに対
しても、デバッグのための再コンパイル工数を削減する
デバッガ処理方式を提供する。 【構成】 本発明のデバッガ処理方式は、ユーザ・イン
タフェース部11、コマンド解析部12、コマンドプロ
セス間通信処理部13およびコマンド結果表示部14を
含む主デッガ1と、ユーザ・インタフェース部31、コ
マンド解析部32、コマンド実行部33およびコマンド
結果表示部34を含む副デバッガ3と、ユーザ・インタ
フェース部41、コマンド解析部42、コマンド実行部
43およびコマンド結果表示部44を含む副デバッガ4
と、により形成されるデバッガと、ディスプレイ2と、
最適化オブジエクト5と、出力ファイル6および9と、
入力ファイル7と、非最適化オブジェクト8とを備えて
構成される。

Description

【発明の詳細な説明】
【0001】
【産業上の利用分野】本発明はデバッガ処理方式に関す
る。
【0002】
【従来の技術】従来のデバッガ処理方式においては、最
適化されたオブジェクトをソース・デバッガに読込む
と、最適化処理のフェーズを通過する際に命令の並べ替
え、または削除が行われて、当該オブジェクトに作成さ
れたデバッグ情報のソース・コードに相当する命令と実
際のオブジェクト・アドレスにずれが生じているため
に、正しいソース・イメージが得られない。
【0003】このように、デバッガの実行結果が実際の
オブジェクト・モジュールの実行結果に対応しないため
に、最適化されたオブシェクト・モジュールをソース・
デバッグすると、指定した行番号に対応した命令でブ
レークしないこと、削除された命令の結果が見られな
いこと、および実行順序が異なること等の事態が発生
し、このため、ソース・デバッグを行うことができな
い。
【0004】図4に示されるのは、従来のデバッガ処理
方式におけるデバッガ・サイクルを示す図である。図4
に示されるように、当該デバッガ・サイクルにおいて
は、コンパイル51において、デバッグするために最適
化を行わないオブジェクト52が生成され、生成された
オブジェクト52により、デバッグ53においてデバッ
グが行われる。デバッグ53においてバグが発見された
場合(バグ発見54においてYES)には、コーディン
グ58を介してソースファイル59の修正が行われる。
このような手順を介してデバッグが終了すると(バグ発
見54においてNO)、コンパイル51において最適化
されたオブジェクト55が生成され、生成されたオブジ
ェクト55は検査56においてバグの有無がチェックさ
れ、検査56においてバグが発見された場合(バグ発見
57においてYES)には、コーディング58を介して
ソースファイル59の修正が行われて、コンパイル51
に戻る。また、検査56においてバグが発見されない場
合(バグ発見57においてNO)には、デバッグ・サイ
クルは終了となる。
【0005】
【発明が解決しようとする課題】上述した従来のデバッ
ガ処理方式においては、最適化オブジェクトのデバッグ
ができないために、デバッグを行う前にソース・ファイ
ルを最適化なしでコンパイルしてデバッグが行われる。
このために、最終的なエンド・ユーザが使用する最適化
したオブジェクトとは異なるために、コンパイラの最適
化処理に不具合があった場合に、その原因を見つけるの
に時間を要するという欠点がある。また、デバッグにお
いて処理スピードを測定する場合においても、最適化な
しのオブジェクトでは、当該速度を測定することができ
ないという欠点がある。
【0006】
【課題を解決するための手段】本発明のデバッガ処理方
式は、コンパイラから出力されるオブジェクトをソース
・イメージでデバックする機能を有する電子計算機シス
テムにおいて、前記コンパイラの最適化レベルに応じ
て、デバッガ起動時にデバッガ自身が複数の子プロセス
としてデバッガを起動させる第1の手段と、ユーザの操
作を介して行われるデバッガのコマンドを、必要に応じ
て複数の子プロセスのデバッガに対して当該コマンドを
実行させる第2の手段と、前記デバッガのコマンドによ
り、複数の子プロセスのデバッガの一つを選択する第3
の手段と、前記第3の手段を介して選択されたデバッガ
の実行結果を表示する第4の手段と、を備えて構成され
る。
【0007】
【実施例】次に、本発明について図面を参照して説明す
る。
【0008】図1は本発明における各構成要件における
処理手順を、それぞれ第1、第2、第3および第4の各
手段に対応して、ユーザ、主デバッガ、副デバッガAお
よび副デバッガBの順に、表区分により示した図であ
る。また、図2は、本発明の第1の実施例の構成を示す
ブロック図である。図2に示されるように、本実施例
は、ユーザ・インタフェース部11、コマンド解析部1
2、コマンドプロセス間通信処理部13およびコマンド
結果表示部14を含む主デバッガ1と、ユーザ・インタ
フェース部31、コマンド解析部32、コマンド実行部
33およびコマンド結果表示部34を含む副デバッガ3
と、ユーザ・インタフェース部41、コマンド解析部4
2、コマンド実行部43およびコマンド結果表示部44
を含む副デバッガ4と、により形成されるデバッガと、
ディスプレイ2と、最適化オブジエクト5と、出力ファ
イル6および9と、入力ファイル7と、非最適化オブジ
ェクト8とを備えて構成される。
【0009】図1において、ユーザにより入力されたコ
マンドは、主デバッガにおいて解析されて、副デバッガ
Aまたは副デバッガBに送付される。副デバッガAまた
はBにおいては、主デバッガより受理されたコマンドが
実行され、その実行結果が主デバッガに送付される。主
デバッガにおいては、この受理された結果が選択され
て、表示される。以下、図2を参照して詳細に説明す
る。
【0010】主デバッガ1は、ユーザの入力したデバッ
ガのコマンド(デバッグ・コマンド)を子プロセスのデ
バッガに対して送信する機能を有しており、また、副デ
バッガA3および副デバッガB4は、それぞれ従来のデ
バッガと同様の機能を有している。主デバッガ1におい
ては、ユーザ・インタフェース部11を介して入力され
るユーザのデバック・コマンドは、コマンド解析部12
において解析され、コマンドプロセス間通信処理部13
に渡される。コマンドプロセス間通信処理部13におい
ては、コマンド解析部12の解析結果を基にして、当該
デバッグ・コマンドを送信する子プロセスが選択され
る。
【0011】副デバッガA3においては、コマンドプロ
セス間通信処理部13より送信されたデバッグ・コマン
ドはユーザ・インタフェース部31において受理され
て、コマンド解析部32に伝達される。コマンド解析部
32においては、当該デバッグ・コマンドが解析され、
その解析結果はコマンド実行部33に伝達される。そし
て、コマンド実行部33において実行された実行結果は
コマンド結果表示部34に送られて、コマンド結果表示
部34より、副デバッグA3の実行結果としてコマンド
プロセス間通信処理部13に送信される。なお、副デバ
ッガB4においても、上記の副デバッグA3の場合と同
様の処理が行われる。
【0012】コマンドプロセス間通信処理部13におい
ては、副デバッガA3および副デバッガB4のコマンド
結果表示部34および44より送られてくる結果はコマ
ンド結果表示部14に伝達され、コマンド結果表示部1
4においては、ユーザにより入力されたデバッグ・コマ
ンドに対応する結果として適当な結果が選択されて、デ
ィスプレイ2に表示される。
【0013】以下に、デバッグのコマンドの内容に応じ
たデバッガの動作を示す。先ず、関数の指定によりブレ
ーク・ポイントを設定して実行する場合には、本コマン
ドの場合、副デバッガA3および副デバッガB4を同時
に実行することができるので、それぞれのデバッガにコ
マンドを送って実行する。 (1) ユーザ・インタフェース部11において、デバッグ
・コマンド(関数にブレーク・ポイントを設定)を受け
取る。 (2) コマンド解析部12において、副デバッガA3およ
び副デバッガB4を選択する。 (3) コマンドプロセス間通信処理部13において、副デ
バッガA3および副デバッガB4にブレーク・コマンド
を送る。 (4) 副デバッガA3および副デバッガB4において、関
数のアドレスにブレーク命令を埋め込む(ブレーク命令
とは、デバッガに制御を戻す命令とする)。 (5) ユーザ・インタフェース部11において、デバッグ
・コマンド(実行)を受け取る。 (6) コマンド解析部12において、副デバッガA3およ
び副デバッガB4を選択する。 (7) コマンドプロセス間通信処理部13において、副デ
バッガA3および副デバッガB4に実行コマンドを送
る。 (8) 副デバッガA3および副デバッガB4を実行する。 (9) コマンドプロセス間通信処理部13において、副デ
バッガA3および副デバッガB4の結果を受け取る。 (10)コマンド結果表示部14において、副デバッガA3
の結果を選択する。 (11)以上の処理結果を出力する。
【0014】次に、行番号の指定によりブレーク・ポイ
ントを設定して実行する場合には、本コマンドの場合、
最適化なしのオブジェクトのみ実行が可能であるため
に、副デバッガB4のみにコマンドを送って実行する。 (1) ユーザ・インタフェース部11において、デバッグ
・コマンド(関数にブレーク・ポイントを設定)を受け
取る。 (2) コマンド解析部12において、副デバッガB4を選
択する。 (3) コマンドプロセス間通信処理部13において、副デ
バッガB4にブレーク・コマンドを送る。 (4) 副デバッガB4において、行のアドレスにブレーク
命令を埋め込む(ブレーク命令とは、デバッガに制御を
戻す命令とする)。 (5) ユーザ・インタフェース部11において、デバッグ
・コマンド(実行)を受け取る。 (6) コマンド解析部12において、副デバッガB4を選
択する。 (7) コマンドプロセス間通信処理部13において、副デ
バッガB4に実行コマンドを送る。 (8) 副デバッガB4を実行する。 (9) コマンドプロセス間通信処理部13において、副デ
バッガB4の結果を受け取る。 (10)コマンド結果表示部14において、副デバッガB4
の結果を選択する。 (11)以上の処理結果を出力する。
【0015】また、ソース・コード・レベルのステップ
実行の場合には、本コマンドの場合においても、前述の
行の指定によりブレーク・ポイントを設定して実行する
場合と同様に、副デバッガB4を選択して実行する。 (1) ユーザ・インタフェース部11において、デバッグ
・コマンド(ソース・コード・レベルのステップ実行)
を受け取る。 (2) コマンド解析部12において、副デバッガB4を選
択する。 (3) コマンドプロセス間通信処理部13において、副デ
バッガB4にステップ・コマンドを送る。 (4) 副デバッガB4を1ステップ実行する。 (5) コマンドプロセス間通信処理部13において、副デ
バッガB4の結果を受け取る。 (6) コマンド結果表示部14において、副デバッガB4
の結果を選択する。 (7) 以上の処理結果を出力する。
【0016】そして、最後に、変数を参照する場合にお
いては、本コマンドの場合も、前述の行の指定によりブ
レーク・ポイントを設定して実行する場合と同様に、副
デバッガB4を選択して実行する。 (1) ユーザ・インタフェース部11において、デバッグ
・コマンド(変数の参照)を受け取る。 (2) コマンド解析部12において、副デバッガB4を選
択する。 (3) コマンドプロセス間通信処理部13において、副デ
バッガB4に変数表示コマンドを送る。 (4) 副デバッガB4の非最適化オブジェクトの変数の値
を得る。 (5) コマンドプロセス間通信処理部13において、副デ
バッガB4の結果を受け取る。 (6) コマンド結果表示部14において、副デバッガB4
の結果を選択する。 (7) 以上の処理結果を出力する。
【0017】以上のように、最適化レベルに応じてデバ
ッガを起動することにより、ソース・レベルのデバッグ
を可能にするとともに、エンド・ユーザにおいて使用さ
れるオブジェクトも同時に実行されるために、正しく動
作が行われたか否かが確認される。
【0018】次に、本発明の第2の実施例について説明
する。図3は、本実施例の構成を示すブロック図であ
る。図3に示されるように、本実施例は、前述の第1の
実施例と同様に、ユーザ・インタフェース部11、コマ
ンド解析部12、コマンドプロセス間通信処理部13お
よびコマンド結果表示部14を含む主デバッガ1と、ユ
ーザ・インタフェース部31、コマンド解析部32、コ
マンド実行部33およびコマンド結果表示部34を含む
副デバッガ3と、ユーザ・インタフェース部41、コマ
ンド解析部42、コマンド実行部43およびコマンド結
果表示部44を含む副デバッガ4と、により形成される
デバッガと、ディスプレイ2と、最適化オブジエクト5
と、出力ファイル6および9と、入力ファイル7−1
と、非最適化オブジェクト8とを備えて構成されてい
る。本実施例におけるデバッガの動作自体は第1の実施
例の場合と同様であるが、第1の実施例においては、入
力ファイル7を、副デバッガA3および副デバッガB4
に対して共用しているのに対応して、この第2の実施例
においては、入力ファイルの要求が生じた場合に、入力
ファイル7−1をコピーして入力ファイル7−2を生成
し、副デバッガA3または副デバッガB4に対する入力
ファイルとしている点が異なっている。
【0019】
【発明の効果】以上説明したように、本発明は、最適化
されたオブジェクト・モジュールに対しても、ソース・
コード・イメージによりデバッグすることができるため
に、デバッグのために再コンパイルする手間が省かれ、
プログラム開発の工数を短縮することができるという効
果がある。
【図面の簡単な説明】
【図1】本発明の処理フローを示す図である。
【図2】本発明の第1の実施例の構成を示すブロック図
である。
【図3】本発明の第2の実施例の構成を示すブロック図
である。
【図4】従来例のデバッグ・サイクルを示す図である。
【符号の説明】
1 主デバッガ 2 ディスプレイ 3 副デバッガA 4 副デバッガB 5、55 最適化オブジェクト 6、9 出力ファイル 7、7−1、7−2 入力ファイル 8、52 非最適化オブジェクト 11、31、41 ユーザ・インタフェース部 12、32、42 コマンド解析部 13 コマンドプロセス間通信処理部 14、34、44 コマンド結果表示部 33、43 コマンド実行部 51 コンパイル 53 デバッグ 54、57 デバッグ発見 56 検査 58 コーディング 59 ソースファイル

Claims (1)

    【特許請求の範囲】
  1. 【請求項1】 コンパイラから出力されるオブジェクト
    をソース・イメージでデバックする機能を有する電子計
    算機システムにおいて、 前記コンパイラの最適化レベルに応じて、デバッガ起動
    時にデバッガ自身が複数の子プロセスとしてデバッガを
    起動させる第1の手段と、 ユーザの操作を介して行われるデバッガのコマンドを、
    必要に応じて複数の子プロセスのデバッガに対して当該
    コマンドを実行させる第2の手段と、 前記デバッガのコマンドにより、複数の子プロセスのデ
    バッガの一つを選択する第3の手段と、 前記第3の手段を介して選択されたデバッガの実行結果
    を表示する第4の手段と、 を備えることを特徴とするデバッガ処理方式。
JP4014935A 1992-01-30 1992-01-30 デバッガ処理方式 Withdrawn JPH05204698A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP4014935A JPH05204698A (ja) 1992-01-30 1992-01-30 デバッガ処理方式

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP4014935A JPH05204698A (ja) 1992-01-30 1992-01-30 デバッガ処理方式

Publications (1)

Publication Number Publication Date
JPH05204698A true JPH05204698A (ja) 1993-08-13

Family

ID=11874828

Family Applications (1)

Application Number Title Priority Date Filing Date
JP4014935A Withdrawn JPH05204698A (ja) 1992-01-30 1992-01-30 デバッガ処理方式

Country Status (1)

Country Link
JP (1) JPH05204698A (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2012027639A (ja) * 2010-07-22 2012-02-09 Fuji Electric Co Ltd プログラマブルコントローラ、およびプログラマブルコントローラのデバッグ方法

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2012027639A (ja) * 2010-07-22 2012-02-09 Fuji Electric Co Ltd プログラマブルコントローラ、およびプログラマブルコントローラのデバッグ方法

Similar Documents

Publication Publication Date Title
JP2753500B2 (ja) 多重アーキテクチャ環境内で特にコードのデバッグを行う改良したソフトウェア・デバッグ・システムと方法
JP2795244B2 (ja) プログラムデバッグシステム
CA2143145C (en) Determining dynamic properties of programs
US7178135B2 (en) Scope-based breakpoint selection and operation
JP2000122886A (ja) 半導体試験装置のプログラム作成方式
JPH0748182B2 (ja) プログラム・エラー検出方法
JPH0766342B2 (ja) プログラムテスト装置
JPH05204698A (ja) デバッガ処理方式
JPH0554277A (ja) プラント監視装置
JP2007004516A (ja) 組込みシステムのプログラムデバッグ方法
JPH07253909A (ja) マイクロプログラム検証方法
JPH02220145A (ja) プログラムトレース方式
JP2672968B2 (ja) デバッグ用ソースリスト出力処理方式
JPS59128652A (ja) デイスプレイ装置を用いたプログラム検査方式
JPH05250221A (ja) シミュレータ実行方式
JPH11282722A (ja) プログラム検証方法
JP2002073370A (ja) デバッグ支援装置およびその装置によるデバッグ方法
JPH04358232A (ja) 情報処理装置の機能試験方法
JP2570119B2 (ja) ソフトウェアシミュレータ
JPH05334119A (ja) プログラムデバッグ方法
KR0175469B1 (ko) 칠프로그램 변수의 가시성 제어방법
JP2006350676A (ja) 組込みシステムのプログラムデバッグ方法
JPH0546434A (ja) プログラムデバツグ方式
JPH05127945A (ja) プログラム実行状況解析方式
JP2000076094A (ja) シミュレータ

Legal Events

Date Code Title Description
A300 Withdrawal of application because of no request for examination

Free format text: JAPANESE INTERMEDIATE CODE: A300

Effective date: 19990408