JPS62121536A - プログラム処理装置 - Google Patents

プログラム処理装置

Info

Publication number
JPS62121536A
JPS62121536A JP60261264A JP26126485A JPS62121536A JP S62121536 A JPS62121536 A JP S62121536A JP 60261264 A JP60261264 A JP 60261264A JP 26126485 A JP26126485 A JP 26126485A JP S62121536 A JPS62121536 A JP S62121536A
Authority
JP
Japan
Prior art keywords
module
program
execution
modules
file
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.)
Pending
Application number
JP60261264A
Other languages
English (en)
Inventor
Yasuo Nagai
永井 保夫
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.)
Toshiba Corp
Original Assignee
Toshiba 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 Toshiba Corp filed Critical Toshiba Corp
Priority to JP60261264A priority Critical patent/JPS62121536A/ja
Publication of JPS62121536A publication Critical patent/JPS62121536A/ja
Pending legal-status Critical Current

Links

Landscapes

  • Debugging And Monitoring (AREA)

Abstract

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

Description

【発明の詳細な説明】 [発明の技術分野] この発明はプログラムデバッグ時にユーザの負担が軽減
された装置に関する。
〔発明の技術的背景とその問題点〕
ある程度以上のプログラム作成にあたってはプログラム
を小規模で、ある程度まとまった機能を実行するモジュ
ールの集まりとするのが普通である。
例えば、Fortran 8語ではサブルーチン、Li
5p言語では関数と呼ばれるモジュールの集まりとして
プログラムを作成する。これによりプログラムの作成が
容易になることは知られている。
一方、モジュールはいくつかのファイル(ディスク、磁
気テープ、カード等の媒体を問わない)に分散され、格
納記憶されるのが普通である。これにより、各ファイル
の大きさを小さくでき、プログラムの管理が容易になり
、間接的にプログラムの作成が容易になることも知られ
ている。
上記のように、複数のファイルに複数のモジュールが格
納されたプログラムの実行において、あるモジュール中
の実行中に異常が生ずるとユーザはプログラムのデバッ
グを行なうために異常事態を発生したプログラムのあち
こちを参照して異常事態を起こす原因となったモジュー
ルとそれを呼び出しているすべてのモジュールをデータ
の流れを保持したうえで捜し出さなければならないとい
う負担を強いられている。この操作は比較的モジュール
数の少ない場合には容易であるが、多い場合には複雑で
やっかいなものとなる。
特に、Li5p言語の場合には関数型言語特有の特長の
ため、プログラムをトップダウンに解析していけばその
動作が容易に理解できる手続き型言語と比較して、モジ
ュールの階層的呼び出しが複雑となっている。そのため
プログラムを理解するためには新しい関数名が出現する
ごとにその関数の定義をいちいち把握しておかなければ
ならない。
その解決策としては 0エデイタを使ってプログラム(モジュール)を参照す
る。
0クロスリフアレンスをつ<す、’hモモジュール間関
係を参照する。
0各フアイル中のプログラム(モジュール)をリストと
して出力しそれを参照する。
等が行なわれているが、各々 0モジユールごとにエディタを呼び出してその内容を参
照しなければならない。
Oモジュール間の関係はよく理解できるが、そのモジュ
ールの内容の把握ができない。
O該当するモジュールがどのファイルに存在しているか
を捜してその内容を理解するということを繰り返さなけ
ればならない。
といりた欠点があり、特にLi sp言語では他言語(
手続き型)と比較して非常に多くの時間がかかり誤りを
犯しやすくプログラム作成上の一種のネックとなってい
る。
〔発明の目的〕
この発明は上述した従来装置の欠点を改良したもので、
プログラムのデバッグ時にユーザの負担軽減を図る情報
処理装置の提供を目的とする。
〔発明の概要〕
プログラミング環境において実行待異常事態が発生した
場合1本装置はユーザの実行指示したプログラムが呼び
出しているモジュールを参照にしながら異常事態の発生
原因となったモジュールをトップダウンにたどっていき
、そこへ到るまでのすべてのモジュールの呼び出し関係
データの生成を行なう。この際、モジュールの呼び出し
関係における谷モジュールにはファイル中の自身の位置
清報が生成付加される。
このモジュールの呼び出し関係を出力することによって
、従来ユーザ自身が行なっていたデバッグ時の作業を軽
減でき、デバッグの効率性の向上も期待される。
〔発明の効果〕
ユーザがプログラムをデバッグする場合、従来は実行し
たプログラムが呼び出しているモジュールをトップダウ
ンに実行時具常事態の発生原因となったモジュールを発
見するまでたどっていった。
このようなことをユーザはファイル中のプログラム(モ
ジュール)のあちこちを参照することによってプログラ
ム全体の構造を理解しながらデバッグしていった。
本発明により上述のようなデバッグに欠くことのできな
い情報をユーザに提供することでデバッグ時の負担を軽
減し効率的な作業が可能となる。
[発明の実施例] 発明の実施例について図面を用いて説明する。
第1図には本発明の実施列である装置の概略構成が示さ
れている。入力装置1よりプログラム名を入力する。そ
の場合、出力装置2上にはそのプログラムが表示されて
いる。プログラム実行部3でプログラムを実行し、実行
待異常事態が発生したかどうかを異常状態検知部4で調
べる。この異常状態検知部4は入力されたプログラムが
実行待異常状態に陥った原因となっているモジエールを
捜し出す。これは通常のプログラム言語処理系に組み込
まれているエラー処F5機嘴と同等なものである。格納
解析部6はファイル中に存在しているプログラム(モジ
ュール)とファイルとの関係をテーブル形式11で生成
する。呼び出し解析部5は入力実行したプログラムが呼
び出しているモジュールをトップダウンに実行待異常状
態の発生原因となりたモジュールに到達するまでたどっ
ていき、その際に得られた各モジュールをトリー形式で
表現する。つまり、モジュール呼び出し関係データ10
が生成される。表示部7は生成されたモジエールの呼び
出し関係データを参照して、入力実行されたモジュール
の呼び出し図をインデンテーションをつけて出力装置2
に表示する。また、表示された図(モジュールの呼び出
し情報)だけではなく、その中のモジニールがプログラ
ム(モジュール)中のどのような位置に存在しているか
すなわちどのようなファイルに属しているかを付加して
表示したり、ファイルにおける該当関数の位置情報の表
示をも行なう。第2図には装置全体の制御部分のフロー
チャートを示す。
更に具体的に説明する。第3図に示すモジュールはLi
5p 8語で記述されている。
第3図のde funは関数の定義を行なう関数、  
fnで始まるシンボルは関数名(但し最後にシンボルキ
が付いているものはユーザ定義の関数名ではなく、シス
テムで定義されている関数である)。
ar、9で始まるシンボルは引数を表わしている。ここ
では、第3図の例を用b1関数fn5=:l″のスペJ
しを間違えてシステムに未定義関数が存在するというエ
ラー(実行待異常事態)が発生した@会について示す。
この場合、関数fn5$が未定義のため、i&終的には
ユーザが実行を指示した関数1口1がエラーを発生した
とみなされる。従って本装置によって第4図のような関
数の呼び出し図が出力される。
第4図においては関数fnlが関数fn2とfn3を。
関数fn2がfn4’#−を、関数fn3がfn541
−をそれぞれ呼び出していることを意味する。この例は
関数fnlは5ource 1というファイルに、関数
fn2は5ource 2というファイル知、関数f−
03は5ource 3というファイル中に存在してお
り% 1口3は未定義エラーとなった関数fn5$を呼
び出している。なお、この図は第1図における呼び出し
解析部5より作成されたモジュールの呼び出し表現1o
を参照にして得られたものである。
第5図は第3図の例でのファイル中の関数の配置を示し
ている。さらに、関数(モジュール)呼び出し図中の関
数のファイルの位置情報の表示列を第6図に示す。第6
図は関数fnlの位置情報(強調のためブリンクされて
表示)の例であり、第1図における格納解析部6より作
成されたモジュールとファイルの関係データ11を参照
にして得られたものである。
次にモジニール(関数)名が与えられたとき。
ファイル中から該当するモジュール(関数)を探索する
ことが重要となり、たとえば以下のようにして行なう。
該当したモジュール(関1j!りがまずどのファイルに
あるのかをプログラム(モジュール又は関数)とファイ
ルとの関係テーブルを参照して特定する。
そして、特定されたファイルを初めから順番に検索して
いき、該当するプログラム(モジュール又は関数)を探
し出す。
【図面の簡単な説明】
第1図は本発明の一実施例の構成図、第2図はその制御
部分のフローチャート、第3図は関数の定義の例を示す
図、第4図は出力された関数fnlの関数呼び出し図、
第5図は第4図の例でのファイル中の関数の配置を示す
図、第6図はファイル中に格納された関数の位置情報表
示の列を示す図である。 1・・・入力装置、2・・・出力装置、3・・・実行部
、4・・・異常状態検知部、5・・・呼び出し解析部、
6・・・格納解析部、7・・・表示部。 代理人 弁理士  則 近 庸 佑 同       竹  花 喜久男 141[へメ奈゛1雀ヱ七〒’+f)′ローう−vJ第
2図 (de−fc、、  f、Lt  (αi@ l )(
f7+、2  0−トyl) (fn3  噂1 啼)) (def−+n2   (q2) (f711tヰ 岬2)) 第a 図関叛e楚4−nイケ1 第 4  図出力さ+T;関数f、、t−、閘tひ吟0
但し固     −f−へし第 5  図 7.イル+
、l関数^6む1SOu−ce−fr(e narne
      Stomlfunci;□n5oLLhc
ef            f−n 1(、ff fn21 : ; 7フイ]し1;キ各糸内さ]℃T=関型<=rw 1−
tti呪d辷矛、。停止第6図

Claims (1)

    【特許請求の範囲】
  1. 複数のモジュールからなり、モジュールはモジュールを
    呼び出す事があり、ユーザはそのうちの1つを指定して
    実行させ、モジュールは複数のファイルに格納記憶され
    ているプログラム処理装置において、モジュール間の呼
    び出し関係データを作成する呼び出し解析部と、モジュ
    ールのファイルへの格納関係データを作成する格納解析
    部を有し、モジュールの実行中にエラーが生じた場合、
    上記解析部の作成するデータを用いてユーザの指定した
    モジュールからエラーが生じたモジュールまでの各モジ
    ュールの呼び出し経路及び存在ファイル名、そのファイ
    ル中の位置を出力する事を特徴とするプログラム処理装
    置。
JP60261264A 1985-11-22 1985-11-22 プログラム処理装置 Pending JPS62121536A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP60261264A JPS62121536A (ja) 1985-11-22 1985-11-22 プログラム処理装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP60261264A JPS62121536A (ja) 1985-11-22 1985-11-22 プログラム処理装置

Publications (1)

Publication Number Publication Date
JPS62121536A true JPS62121536A (ja) 1987-06-02

Family

ID=17359407

Family Applications (1)

Application Number Title Priority Date Filing Date
JP60261264A Pending JPS62121536A (ja) 1985-11-22 1985-11-22 プログラム処理装置

Country Status (1)

Country Link
JP (1) JPS62121536A (ja)

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0264747A (ja) * 1988-08-30 1990-03-05 Fujitsu Ltd 関数トレース・ステップトレース切り替え制御方式
JPH0264748A (ja) * 1988-08-30 1990-03-05 Fujitsu Ltd 関数トレース処理方式
JPH0573367A (ja) * 1991-09-18 1993-03-26 Fujitsu Ltd 複数トレースバツクマツプ出力方式
JPH05151030A (ja) * 1991-11-29 1993-06-18 Nec Corp 利用者プログラム異常終了時の情報表示方式

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0264747A (ja) * 1988-08-30 1990-03-05 Fujitsu Ltd 関数トレース・ステップトレース切り替え制御方式
JPH0264748A (ja) * 1988-08-30 1990-03-05 Fujitsu Ltd 関数トレース処理方式
JPH0573367A (ja) * 1991-09-18 1993-03-26 Fujitsu Ltd 複数トレースバツクマツプ出力方式
JPH05151030A (ja) * 1991-11-29 1993-06-18 Nec Corp 利用者プログラム異常終了時の情報表示方式

Similar Documents

Publication Publication Date Title
US8091075B2 (en) Method and apparatus for breakpoint analysis of computer programming code using unexpected code path conditions
EP0785510B1 (en) Program debugging system for debugging a program having a graphical user interface
US8010949B2 (en) Database breakpoint apparatus and method
US8336032B2 (en) Implementing enhanced template debug
Chapin New format for flowcharts
CN117149658A (zh) 呈现代码实体调用之间的差异
US20100251214A1 (en) Apparatus, system, and method for dynamic module flow analysis
JPS62121536A (ja) プログラム処理装置
WO2007071615A1 (en) Methods, apparatus and computer programs for handling parameters associated with call statements
CN104145249A (zh) 调试方法和计算机程序产品
JPH02275539A (ja) デバッグ処理方式
Sarraga Static data flow analysis of PL/I programs with the PROBE system
US20220308985A1 (en) Debugging sql statements
JP3098501B2 (ja) ソースステップ実行方法およびその装置
JP3077627B2 (ja) デバッグ方法およびデバッグプログラムを記録する記録媒体
Metcalf Aspects of FORTRAN in large-scale programming
JPH0431933A (ja) 原始プログラム解析装置
Wolman Debugging PL/I programs in the Multics environment
JP3130421B2 (ja) プログラム解析方法および装置
CN111309615A (zh) 基于PyCharm的代码选择执行方法、装置、设备及存储介质
JPH04229343A (ja) 対話型デバッガにおけるメモリ内容表示方式
JP2001202272A (ja) デバッグの方法とこの方法を用いたデバッグ装置及びデバッグの方法を記録した記録媒体
Earley et al. VERS Manual: Version 4
JPH10289124A (ja) データフロー異常検査装置
JPS5846439A (ja) 計算機のプログラム編集方法