JPH0264747A - 関数トレース・ステップトレース切り替え制御方式 - Google Patents

関数トレース・ステップトレース切り替え制御方式

Info

Publication number
JPH0264747A
JPH0264747A JP63215913A JP21591388A JPH0264747A JP H0264747 A JPH0264747 A JP H0264747A JP 63215913 A JP63215913 A JP 63215913A JP 21591388 A JP21591388 A JP 21591388A JP H0264747 A JPH0264747 A JP H0264747A
Authority
JP
Japan
Prior art keywords
trace
function
program
tracing
control 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.)
Granted
Application number
JP63215913A
Other languages
English (en)
Other versions
JPH0833846B2 (ja
Inventor
Yuichi Ueda
裕一 上田
Yutaka Watanabe
豊 渡邊
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.)
Fujitsu Ltd
Original Assignee
Fujitsu 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 Fujitsu Ltd filed Critical Fujitsu Ltd
Priority to JP63215913A priority Critical patent/JPH0833846B2/ja
Publication of JPH0264747A publication Critical patent/JPH0264747A/ja
Publication of JPH0833846B2 publication Critical patent/JPH0833846B2/ja
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Landscapes

  • Debugging And Monitoring (AREA)

Abstract

(57)【要約】本公報は電子出願前の出願データであるた
め要約のデータは記録されません。

Description

【発明の詳細な説明】 〔概要〕 デバッグ対象プログラムの実行制御を行い、デバッグ情
報を出力するデバッグシステムにおける関数トレース・
ステップトレース切り替え制御方式に関し。
関数単位のトレースとステップ単位のトレースとを簡単
に切り替えることができるようにし、効率的にデバッグ
対象プログラムの動作試験を実行可能とする手段を従供
することを目的とし。
デバッグ対象プログラムの構成情報および関数情報を記
憶するプログラム構成情報記憶部と、関数単位でトレー
スの制御を行う関数トレース制御部と、ソースモジヱー
ルのステップ単位でトレースの制御を行うステップトレ
ース制御部と、関数トレース画面またはステップトレー
ス画面により。
デバッグ対象プログラムの実行状況を表示する表示制御
部と、関数トレース制御部による制御とステップトレー
ス制御部による制御とを人力により切り替えるトレース
切り替え制御部とを備えるように構成する。
〔産業上の利用分野〕
本発明は、デバッグ対象プログラムの実行制御を行い、
デバッグ機能を出力するデバッグシステムにおける関数
トレース・ステップトレース切り替え制御方式に関する
開発したプログラムの信頬性を向上させるため。
そのプログラムが正常に動作するかどうかをテストする
ことは重要であり、そのデバッグに要する時間も9年々
増加する傾向にある。そのため、効率のよいデバッグを
行うことができるツールが必要とされている。
〔従来の技術〕
従来、デバッグのためのツールとして、ソースレベルで
デバッグするものや1機械語レベルでデバッグするもの
など、各種のデバッグシステム(デバッガ)が用いられ
ている。このようなデバッグシステムでは、デバッグ対
象プログラムの実行状況をトレースすることが行われる
プログラムをデバッグする場合1例えば最初は。
ソースプログラムのステップ単位で細かくトレースして
いくことが必要となるが、ある程度、正常に動作するこ
とをin認した後は、細かいトレースについては1部分
的に行い5大部分については。
大まかなトレースによって、効率よくデバッグすること
が必要となる。
しかし、従来のデバッグシステムでは、細かくステップ
単位でトレースしている途中で、トレース単位を、関数
単位やモジュール単位に変更したり、その逆のパターン
でトレース状況を見せたりするようなことはできなかっ
た。
〔発明が解決しようとする課題〕
従来のデバッグシステムでは、プログラムを構成する各
モジュールの関係を記述したモジュール構成情報や、各
モジュールで定義された関数の情報を持たないため、細
かいステップ単位でトレースすることはできても、関数
単位やモジュール単位での大まかなデバッグを、効率よ
く行うことはできなかった。
もし、関数単位やモジュール単位でトレースを行おうと
すると1人間がソースプログラムリストを調べて、関数
のアドレス等を抽出し、1つ1つブレークポイントを設
定して、デバッグ対象プログラムの実行を中断させるよ
うにしなければならないので、そのブレークポイントの
設定に、非常に時間がかかるという問題があった。
プログラムをデバッグしている途中で、大まかにトレー
スする機能と、細かくトレースする機能とを簡単に切り
替えることができれば、動作確認の程度に応じて、効率
的にデバッグすることができるようになると考えられる
本発明は上記問題点の解決を図り、関数単位のトレース
とステップ単位のトレースとを簡単に切り替えることが
できるようにし、効率的にデバッグ対象プログラムの動
作試験を実行可能とする手段を提供することを目的とし
ている。
〔課題を解決するための手段〕
第1図は本発明の構成例を示す。
第1図において、10はCPUおよびメモリ等からなる
処理装置、11はモジュール構成情報やモジュール別関
数情報や行情報等を記憶するプログラム構成情報記憶部
、12はデバッグ機能を提供するデバッガ、13はトレ
ース切り替え制御部。
14は関数トレース制御部、15はステップトレース制
御部、16は表示制御部、17は動作試験の対象となる
デバッグ対象プログラム、18はプログラム構成情報が
格納されたプログラム構成情報ファイル、19はデバッ
グ対象プログラム17のロードモジュールが格納された
ロードモジュールファイル、20はキーボードやマウス
等の入力装置、21はデイスプレィ装置、22は関数単
位のトレース状況を表示する関数トレース画面、23は
ステップ単位のトレース状況を表示するステップトレー
ス画面を表す。
プログラム構成情報ファイル18は、ソースプログラム
の作成時およびその翻訳・結合時に作成されるファイル
であり、プログラムのモジュール構成や、どのような関
数がどのモジュールで定義されているかを示すモジュー
ル別の関数情報が格納されているファイルである。
デバッガ12の起動時に、デバッグ対象プログラム17
のプログラム名が指定されると、プログラム構成情報フ
ァイル18の内容が、プログラム構成情報記憶部11に
読み出されるとともに、ロードモジュールファイル19
からデバッグ対象プログラム17のローディングが行わ
れる。
関数トレース制御部14は、プログラム構成情報記憶部
11に記憶されている情報に基づいて。
デバッグ対象プログラム17中の各関数の先頭に自動的
にブレークポイントを設定する処理を行う。
ブレークポイントを設定した後、デバッグ対象プログラ
ム17を実行させると、各関数の先頭で実行が中断し、
デバッガ12に制御が渡されることになる。
関数トレース制御部14は、デバッグ対象プログラム1
7の実行中断により、制御が渡されると表示制御部16
を呼び出す6表示制御部16は。
関数トレース制御部14から起動された場合、プログラ
ム構成情報記憶部11に記憶されている情報に基づいて
、デイスプレィ装置21に、関数トレース画面22を表
示する。関数トレース画面22には、デバッグ対象プロ
グラム17に係るソースモジュールの階層情報および各
モジュールで定義されている関数名の情報が表示される
。また。
関数トレース画面22において、実行中断に係る関数情
報が1反転1色の変更、網かけ、または矢印表示等によ
り、他の関数と区別できる態様で表示される。
ステップトレース制御部15は、ソースモジュールのス
テップ単位でトレース6制御を行うものでありで、従来
と同様なデバッグの制御を行うものである。ステップト
レース制御部15は9表示制御部16を介して、デイス
プレィ装置21に。
ステップトレース画面23を表示する。ステップトレー
ス画面23には、実行中の行を含むソースリストが行単
位に表示され、特に実行中の行は。
反転1色の変更、網かけ、または矢印表示等により示さ
れる。
本発明では、さらにトレース切り替え制御部13が設け
られ、トレース切り替え制御部13は。
デバッグ中に、入力装置20からの入力により。
関数トレース制御部14による制御と、ステップトレー
ス制御部15による制御とを切り替える処理を行う。
〔作用〕
トレース切り替え制御部13によって、関数トレース制
御部14と、ステップトレース制御部15とを切り替え
、細かくトレースしたい場合にはステップ単位によるト
レースを、大まかにトレースしたい場合には関数単位に
よるトレースを任意に選択できるので、実行状況に応じ
て5効率的にデバッグ作業を進めることができる。
(実施例〕 第2図は本発明の一実施例に係るプログラム構成情報の
例、第3図は本発明の一実施例に係る関数トレース画面
の例、第4図は本発明の一実施例に係る切り替え制御用
のメニューの例、第5図はロードモジュールの内容説明
図、第6図は本発明の一実施例に係るステップトレース
画面の例、第7図は本発明の一実施例処理フローを示す
本実施例では、第1図に示すプログラム構成情報記憶部
11において、プログラム構成情報を。
第2図(イ)に示す構造により管理する。
フィールド30は、デバッグ対象プログラム17のプロ
グラム名を記憶する。そして、ポインタ31から、先頭
のモジュール情報をポイントする。
各モジュール情報の記憶部は、モジュール名のフィール
ド32と、同しベルの兄弟モジュールへのポインタ33
と、下位レベルの子モジュールへのポインタ34と、関
数名リスト40へのポインタ35とを持つ。関数名リス
ト40は、各モジュールで定義されている関数名の一覧
表である。
例えば、デバッグ対象プログラムのプログラム名が“t
est″であり、そのプログラムが、主となるソースモ
ジュール“main、c”と、副となる2つのソースモ
ジュール“5ub1.c”および′″5ub2.c”と
から構成されているとする。また、ソースモジュール“
main、c″の中で、関数′″main”と“6rr
Or”が定義され、ソースモジュール“5ub1.c″
の中で、関数“5ubx”と“5uby“が定義され。
ソースモジュール″5ub2.c”の中で、関数“5u
bz”が定義されているとする。
このときのプログラム構成情報は、第2図(イ)に示す
形式によって、第2図(ロ)に示すような木構造になる
。すなわち、  main、c’から。
@5ub1.c”および5ub2.c”を連鎖的にポイ
ントし、各々関数名リスト40をポイントする。
関数トレースのモードの場合、第1図に示す表示制御部
16は、第2図(ロ)に示すようなプログラム構成情報
を基に9例えば第3図に示すような関数トレース画面2
2を表示する。
プログラムを構成するモジュールの関係が、すぐにわか
るように、モジュール間の親子関係を。
引き出し線を使って表す、また、各モジュールに対して
、その中で定義されている関数を並べて表示する。
また、現在、ブレークポイントによって実行が中断して
いる関数を1反転表示51により1表示する。この例で
は、モジュール″5ub1.c中の関数″5ubx”の
先頭で実行が中断している。なお、モジュール構成をブ
ロック図のような形式で表してもよい。また、実行中断
の関数を。
反転表示51ではなく、網かけ表示、ブリンク表示等に
より表してもよい。
本実施例では、さらに第3図に示すマウス・カーソル5
2を用いて、関数トレース画面22上で特定の関数を指
示し、マウス・ボタンを操作することにより、その特定
の関数だけで、実行を停止させることもできるようにな
っている。その場合。
指定された関数を記憶しておき、実行が中断したときに
、その中断点が、その関数に含まれるかどうかを判定し
、含まれるときにだけ、プログラムの実行を停止させる
関数単位のトレースと、ステップ単位のトレースの切り
替えは1例えば図示省略したグローバルメニューにより
、第4図に示すようなプルダウンメニューをオープンし
、そこで、関数トレースまたはステップトレースのモー
ドを、マウス等により選択することにより行う。
ステップトレースが選択された場合、第1図に示すステ
ップトレース制御部15を呼び出し、ステップ単位の細
かいトレース制御を行う。
ロードモジュールファイルには、翻訳時のデバッグオプ
ションによって、第5図に示すようにオブジェクトの命
令コードの他に1行番号とアドレスとの対応を示す行↑
り報や、シンボル名とアドレスとの対応を示すシンボル
テーブルが格納される。
そこで、トレースの制御には、それらの情報を用いる。
ステップ単位のトレースを行っているときにデイスプレ
ィ装置に表示される画面は1例えば第6図に示すような
ステップトレース画面23である。ステップトレース画
面23には、現在トレースしているソースステートメン
トが1行番号とともに表示される。このステップトレー
ス画面23でも、実行中、停止中のステップ情報が1反
転表示51により表示される。また、マウス・カーソル
52により、ブレークポイントを設定することなどがで
きるようになっている。このブレークポイントの設定処
理等については、従来技術により容易に実現できるので
、これ以上の詳細な説明を省略する。
第7図は9本発明の一実施例に係る処理の流れを示して
いる。以下の説明における■〜■は、第7図に示す処理
■〜■に対応する。
■ デバッガ12によって、最初、関数トレース制御部
14が起動される。関数トレース制御部14は、ディス
ク記憶装置等に設けられたプログラム構成情報ファイル
18から、モジュール構成と関数の情報を取り出し、プ
ログラム構成情報記憶部11に設定する。
■ 次に、ロードモジュールファイル19からデバッグ
対象プログラム17をロードし、プログラム構成情報記
憶部11に記憶されている情報に従って、デバッグ対象
プログラム17における各関数の先頭にブレークポイン
トを設定する。
ブレークポイントの設定は9例えば命令を書き換えるこ
とによって行う。各関数のアドレスは。
ロードモジュールファイル19中のシンボルテーブルか
ら得ることができる。ブレークポイントの設定後、デバ
ッグ対象プログラム17を起動実行する。
■ 最初は、メイン関数等の先頭に設定したブレークポ
イントでストップすることになる。関数トレース制御部
14に制御が戻されたならば。
表示制御部16を呼び出し、関数トレース画面22を編
集して、関数単位のトレース状況を表示rる。関数単位
のトレース制御を行っているときに、何らかの入力があ
ったならば、処理■へ移る。
■ 入力情報の解析を行う。実行キーが押下された場合
、処理■へ制御nを戻し1次のブレークポイントまでの
関数単位のトレースを継続する。
終了指示の入力があった場合、処理■へ移る。
メニュー等により、関数トレースからステップトレース
への切り替え指示があった場合には。
処理■へ移る。
■ 現在停止しているデバッグ対象プログラム17のア
ドレスから、その停止している関数部分のソースプログ
ラムを探す。
■ ソースプログラムをもとに、第6図に示すようなス
テップトレース画面23を編集し、デイスプレィ装置に
表示する。以後、第1図に示すステップトレース制御部
15によるステップ単位のトレース制御を行う。
■ 入力があったならば、その入力情報を解析する。実
行キーの入力であれば、処理■へ戻り。
ステップ単位のトレース制御によるデバッグ対象プログ
ラム17の実行を継続する。終了指示の場合、処理■へ
移る。ステップトレースから関数トレースへの切り替え
指示があったならば。
処理■を実行する。
■ 現在のステップがどの関数にあたるかを、プログラ
ム構成情報記憶部11に記憶されている情報に基づき抽
出する。そして、処理■に制御を戻し、関数単位のトレ
ース制御に移る。
■ デバッグ対象プログラム17が最後まで走行した場
合、または途中で実行終了の指示があった場合、終了メ
ツセージ等のガイド情報を出力し、デバッグ対象プログ
ラム17の終了処理を行う。
〔発明の効果〕
以上説明したように1本発明によれば、従来の細かいス
テップ単位のトレース機能に加え、関数単位やモジュー
ル単位の大まかなトレース機能を利用することができる
。従って、細かいトレースの不要な個所は、関数単位で
大まかに実行し、細かいトレースが必要になれば、ソー
スプログラムのリストを表示して、1ステップ単位のト
レースを行うことができる。これによって、効率的にデ
バッグ作業を進めることができるようになる。
【図面の簡単な説明】
第1図は本発明の構成例。 第2図は本発明の一実施例に係るプログラム構成情報の
例。 第3図は本発明の一実施例に係る関数トレース画面の例
。 第4図は本発明の一実施例に係る切り替え制御用のメニ
ューの例。 第5図はロードモジュールの内容説明図第6図は本発明
の一実施例に係るステップトレース画面の例。 第7図は本発明の一実施例処理フローを示す。 図中、10は処理装置、11はプログラム構成情報記憶
部、12はデバッガ、13はトレース切り替え制御部、
14は関数トレース制御部、15はステップトレース制
御部、16は表示制御部。 17はデバッグ対象プログラム、18はプログラム構成
情報ファイル、19はロードモジュールファイル、20
は入力装置、21はデイスプレィ装置、22は関数トレ
ース画面、23はステンプトレース画面を表す。

Claims (1)

  1. 【特許請求の範囲】 デバッグ対象プログラム(17)の実行制御を行い、デ
    バッグ情報を出力するデバッグシステムにおいて、 少なくともデバッグ対象プログラムの構成情報およびソ
    ースモジュールごとに定義されている関数情報を記憶す
    るプログラム構成情報記憶部(11)と、 このプログラム構成情報記憶部を参照し、関数単位でト
    レースの制御を行う関数トレース制御部(14)と、 前記プログラム構成情報記憶部を参照し、ソースモジュ
    ールのステップ単位でトレースの制御を行うステップト
    レース制御部(15)と、 関数トレース画面またはステップトレース画面により、
    デバッグ対象プログラムの実行状況を表示する表示制御
    部(16)と、 前記関数トレース制御部による制御と、前記ステップト
    レース制御部による制御とを入力により切り替えるトレ
    ース切り替え制御部(13)とを備えたことを特徴とす
    る関数トレース・ステップトレース切り替え制御方式。
JP63215913A 1988-08-30 1988-08-30 関数トレース・ステップトレース切り替え制御方式 Expired - Fee Related JPH0833846B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP63215913A JPH0833846B2 (ja) 1988-08-30 1988-08-30 関数トレース・ステップトレース切り替え制御方式

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP63215913A JPH0833846B2 (ja) 1988-08-30 1988-08-30 関数トレース・ステップトレース切り替え制御方式

Publications (2)

Publication Number Publication Date
JPH0264747A true JPH0264747A (ja) 1990-03-05
JPH0833846B2 JPH0833846B2 (ja) 1996-03-29

Family

ID=16680326

Family Applications (1)

Application Number Title Priority Date Filing Date
JP63215913A Expired - Fee Related JPH0833846B2 (ja) 1988-08-30 1988-08-30 関数トレース・ステップトレース切り替え制御方式

Country Status (1)

Country Link
JP (1) JPH0833846B2 (ja)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH05233363A (ja) * 1992-02-24 1993-09-10 Fujitsu General Ltd エミュレータのトレース装置
US6681343B1 (en) 1999-08-24 2004-01-20 Nec Electronics Corporation Debugging device and method as well as storage medium

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS57103549A (en) * 1980-12-19 1982-06-28 Fujitsu Ltd Computer system
JPS62121536A (ja) * 1985-11-22 1987-06-02 Toshiba Corp プログラム処理装置

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS57103549A (en) * 1980-12-19 1982-06-28 Fujitsu Ltd Computer system
JPS62121536A (ja) * 1985-11-22 1987-06-02 Toshiba Corp プログラム処理装置

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH05233363A (ja) * 1992-02-24 1993-09-10 Fujitsu General Ltd エミュレータのトレース装置
US6681343B1 (en) 1999-08-24 2004-01-20 Nec Electronics Corporation Debugging device and method as well as storage medium

Also Published As

Publication number Publication date
JPH0833846B2 (ja) 1996-03-29

Similar Documents

Publication Publication Date Title
US6243857B1 (en) Windows-based flowcharting and code generation system
US5157779A (en) User extensible testing system
US6658649B1 (en) Method, apparatus and article of manufacture for debugging a user defined region of code
US5513317A (en) System and method for permitting rapid refinement of data output from a debugger
US8336032B2 (en) Implementing enhanced template debug
US20120174077A1 (en) Backward post-execution software debugger
KR100339697B1 (ko) 반도체 시험장치의 프로그램 작성 시스템
CA2492367C (en) Data processing system
US20030177471A1 (en) System and method for graphically developing a program
JPH09503084A (ja) 実行中のリアルタイムシステムにおけるエラー分析用トレーサシステム
JPH0264747A (ja) 関数トレース・ステップトレース切り替え制御方式
JPH02275539A (ja) デバッグ処理方式
JPH0264748A (ja) 関数トレース処理方式
Westman et al. Graphical user interfaces for algorithmic debugging
US20050015677A1 (en) Method of executing a computer program
JPH02220145A (ja) プログラムトレース方式
JPH096644A (ja) ソフトウエアデバッグ方法
JPH03130840A (ja) オーバーレイモジュールのトレース制御方式
JPS63189948A (ja) 対話形デバツガにおけるバツチ形デバツグ方式
JPS63259735A (ja) プログラム実動作環境におけるプログラム図によるプログラムデバツク方式
CN117520155A (zh) 一种rpa流程调试方法、装置、电子设备及存储介质
JPH05108404A (ja) デバツガシステム
CN115757168A (zh) 车机ui自动化测试脚本录制方法、装置及电子设备
JPH0561717A (ja) プログラムデバツグ装置
JPH06250876A (ja) 対話型デバック支援システム

Legal Events

Date Code Title Description
LAPS Cancellation because of no payment of annual fees