JPS61194544A - 可変記号トレ−ス方法 - Google Patents
可変記号トレ−ス方法Info
- Publication number
- JPS61194544A JPS61194544A JP60034364A JP3436485A JPS61194544A JP S61194544 A JPS61194544 A JP S61194544A JP 60034364 A JP60034364 A JP 60034364A JP 3436485 A JP3436485 A JP 3436485A JP S61194544 A JPS61194544 A JP S61194544A
- Authority
- JP
- Japan
- Prior art keywords
- program
- macro
- variable symbol
- debug
- output
- 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
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/36—Prevention of errors by analysis, debugging or testing of software
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Computer Hardware Design (AREA)
- Quality & Reliability (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Debugging And Monitoring (AREA)
Abstract
(57)【要約】本公報は電子出願前の出願データであるた
め要約のデータは記録されません。
め要約のデータは記録されません。
Description
【発明の詳細な説明】
〔発明の利用分野〕
本発明は、マクロ機能を利用しているアセン。
プラグログラムのデバッグに係り、tll!一定の可変
。
。
記号に対する特定範囲内の定義や参照を調べる。
のに好適な可変記号(マクロ変数)トレース方。
法に関する。
マクロデパックの方法としては、例えばアイ。
、ビー、エム(IBM)社のマニマアル「オー円スアセ
ンプラーエッチランゲージJ(O8,。
ンプラーエッチランゲージJ(O8,。
Azzarnblgr HLantluage )で
示されるMHELP命。
示されるMHELP命。
令O(ある。この■−IELP命令は特定のマクロに対
。
。
してその入口出口に於ける可変記号情報の出力。
やマク口内分岐のトレース出力を指定できるの。
で、必要なデパック情報が入手できる。しかし、−1こ
の方法は特定の呼び出し時のみに出力を限定。
の方法は特定の呼び出し時のみに出力を限定。
することはできないため、複雑でマクロ呼び出。
し回数の多いプログラムの場合は出力情報量が多すぎ、
かつアセンブル時間も膨大となり効率7の良いデパック
手段として&Z使用できなかった。。
かつアセンブル時間も膨大となり効率7の良いデパック
手段として&Z使用できなかった。。
また、可変記号への値の設定箇所はマク口内分岐トレー
スを使って自分でフォローするしか。
スを使って自分でフォローするしか。
なかった。
本発明の目的は、かかる従来方法の問題点を、。
解決して、マクロ機能を持つプログラムのデノミッグを
容易にする為に、プログラムを修正することな(特定の
範囲の可変記号の情報を必装な量だけ取り出す手段を提
供することにある。。
容易にする為に、プログラムを修正することな(特定の
範囲の可変記号の情報を必装な量だけ取り出す手段を提
供することにある。。
本発、明は、マクロデバッグ情報の処理対象と。
なる可変記号、及び範囲として出力開始及び終。
了を指示するアセン;ゲラ制御文と、その制御気を有効
にするか否かのヤプシ四ンを組み合わせ。
にするか否かのヤプシ四ンを組み合わせ。
て指定することによって、目的を実現しようと。
するものである。
〔発明の実施例〕 二以下、
図面を参照して本発明の一実施例を猟細に説明する。
図面を参照して本発明の一実施例を猟細に説明する。
第1図は、複数のマクロ呼び出しを5000回亘。
9ているプログラムの例である、。このプロゲラ。
ムのオブジェクトが作成者の意図した通りの実行結果を
出力しなかったとする。そして、そり原因が可変記号4
GAが破iされていて、周囲の。
出力しなかったとする。そして、そり原因が可変記号4
GAが破iされていて、周囲の。
状況からMCAL Iの2000回目頃の呼び出しによ
り。
り。
で破壊されていると考えられているものとする。
第2図は、第1図のプログラムのデバッグ微行う為の制
御文である。ここでは本制御文は、。
御文である。ここでは本制御文は、。
マクロ名MCAL1の2000から2100迄の間の呼
悶出しを範囲として指定しており1.iGAの値のべ更
される場所と、AIF及びAGOによる分岐トレ、−ス
を行うことを指定している。そしてC0PY文、によっ
て、対象となるプログラム全体、この場合第1図に示す
プログラム全体をcopy文以下に取り込んでくる。こ
のことによって問題の有るソ。
悶出しを範囲として指定しており1.iGAの値のべ更
される場所と、AIF及びAGOによる分岐トレ、−ス
を行うことを指定している。そしてC0PY文、によっ
て、対象となるプログラム全体、この場合第1図に示す
プログラム全体をcopy文以下に取り込んでくる。こ
のことによって問題の有るソ。
−スプログラムを全く変更することなしに、必要とする
デバッグ情報を出力することが可能に。
デバッグ情報を出力することが可能に。
なる。
出力回数を指定するMDBGの制御文が入力されるとア
センブラの処理系は、MDBG制御プロッ久を作成して
対象マクロ名、対象カウント、情報出力の範囲及び特定
可変記号を退避する。(+0+、)この時、対象マクロ
命令がマクロ命令テープ々に存在するならば、MDBG
制御ブロックアドレスをセットする。(102,105
)対象マクロ命令が奉登録であるならば、マクロ命令の
登録時に、 。
センブラの処理系は、MDBG制御プロッ久を作成して
対象マクロ名、対象カウント、情報出力の範囲及び特定
可変記号を退避する。(+0+、)この時、対象マクロ
命令がマクロ命令テープ々に存在するならば、MDBG
制御ブロックアドレスをセットする。(102,105
)対象マクロ命令が奉登録であるならば、マクロ命令の
登録時に、 。
MDBG制御ブロックの探索を行い、MDf3G制御文
の対象マクロであれば、MDBG制御ブロックアトにス
をセットする。(104)マクロ命令テーブル幌マクロ
命令が発行されるとそれに従って複数Ω・ 5 ・ 命令からなるルーチンの実行を開始させるため。
の対象マクロであれば、MDBG制御ブロックアトにス
をセットする。(104)マクロ命令テーブル幌マクロ
命令が発行されるとそれに従って複数Ω・ 5 ・ 命令からなるルーチンの実行を開始させるため。
に用いられるものである。
又、そのマクロの可変記号テーブルを用意し。
その中の指定された特定可変記号(4GA )に7゜ラ
グをたてておく。 ゛ 5次にc
opyで指定されたプロ夛ラムの実行を開、始せしめる
。(106)マクロ呼び出し文処理・を。
グをたてておく。 ゛ 5次にc
opyで指定されたプロ夛ラムの実行を開、始せしめる
。(106)マクロ呼び出し文処理・を。
″行う時に、MDBGブロックとチェインされていて。
かつ呼び出しカウンタが対象カウントの範囲内。
であるならば、デバッグ開麹伏態になる。本例。
では2000回のくり返しまではデバッグは行なわ。
れない。
ループの(り返し数は従来と同様カウントさ。
れる。そして対象マクロが呼び出され、マクロ。
命令テーブルが参照されると登録されたMDBG割御ブ
ロックアドレスをもとにし そ該当制御ジロッ〉を。
ロックアドレスをもとにし そ該当制御ジロッ〉を。
参照し対象カウントで指定された範囲に現在Q妥りロ命
令のくり返し数が入るかどうかを判定する。(107) デバッグ開始状態になっている時に、特定外。
令のくり返し数が入るかどうかを判定する。(107) デバッグ開始状態になっている時に、特定外。
゛ 4 。
変記号として指定された可変記号の値をその記号名とと
もに出力する。(108) 出力終了指定MDBG制御文を入力するとアセン。
もに出力する。(108) 出力終了指定MDBG制御文を入力するとアセン。
ゲラの処理系はマクロ命令テーブル中にある 。
MDBG制御プ四ツクアドレスをクリアして解放を。
行う。(109,110)
第5図はMCAL +の内容例である。これは4GA。
をアクセスするマクロ命令呼び出し命令である。。
第4図は、第1図及び第5図のプロ2ラムを。
第2図の制御文で実行した結果のデバッグ情報。
である。MCALlの2000回目から2050回目迄
の、トレース情報として14行のAGOの実行が出力さ
。
の、トレース情報として14行のAGOの実行が出力さ
。
れ、2051回目に10行のAIFが出力され、更に。
17行の4GAへの値の設定結果が出力される。 。
第7図(α)で示すように本発明によれば、 1゜20
00回から2100回までループの(り返し以外、は可
変記号の値の出力はな(、かつこの範囲□内にあっても
特定可変記号がアクセスされないマ。
00回から2100回までループの(り返し以外、は可
変記号の値の出力はな(、かつこの範囲□内にあっても
特定可変記号がアクセスされないマ。
クロ命令処理については何社出力されず、特定可変記号
がアクセスされるマクロ命令においテ、。
がアクセスされるマクロ命令においテ、。
もその特定可変記号のみが出力される。対比の。
ため、従来の方法で同じプログラムのデバッグ。
なしたとすると第7図Cb)で示すようにすべて。
の処理のすべての可変記号にわたってアクセスされるご
とにその1直が出力される。 5〔発明の効果
〕 以上述べたように、本発明によれば、アセン。
とにその1直が出力される。 5〔発明の効果
〕 以上述べたように、本発明によれば、アセン。
プラマクロ命令を用いたプログラムのデバッ久において
、デバッグ情報を特定の対象と特定の範囲に対する必要
十分なもののみを取り出すく。
、デバッグ情報を特定の対象と特定の範囲に対する必要
十分なもののみを取り出すく。
とが可能であり、効率的なデバッグを行うことが簡単に
できる。
できる。
第1図は、マクロ命令を使用したアセンブラ。
プログラム(名称はPROGA )を表わす図、第4゜
図は、PROGAというプログラムのデバッグの制御文
の例を表わす図、第5図は、マクロMCAL+。 の内容の例を示す図、第4図は、デバッグ情理の出力結
果の例を示す図、第5図、第6図は杏発明による処理を
示すフローチャート、第7−。 は本発明によるデバッグを説明する図である。。 101〜110・・・デバッグ処理ステップ葛1 図 、Li5’or ANor AIF C?−C7A>5ooの、EXITf’1CA
L1 前CAL2 g、CrA 5ETA IIc?A十IACr6
、Lbf)/’ キ 第2図 r”1DBcr SET、nAcF6(r’Ic八L
へ )、 CσUNT(2ooo−210の。 TKACE、WHEN(&QA) CDI’Y rFDGA 第3図 to AIFC’1.CrA>2050) 、
T)−INt4− /’+Q6 、NXT
15、、T)INANυF /7 、.9.QA SEすA ■qA士(す20
、NXT At46P 第牛閏 gyt MvF3Q 丁F<ACE DVIP
r”lAc尺i5(MCALl)C6uNT(2ooo
)木’ (’r5Tc> 5TATEhENTFKo
r’l 74 TO20”x*木ネx、を木*木xx*
**x*x*r**木21本、IK、tX )k X本
KA庫、XXk木。 x零r’14)Be TFACE DuMP
nAcR5mcAt−1)CbUNT(2θ50)オ木
66T6 5TATEf′1ENT FKδ
f’l 14− T6 .20
木本*木木*、IC木木木木A*−L*未スオ×
x木本木木末木木木木木木木X*末r1DBI;r
T尺ACE DLjrlP /IAC尺6
(rlcALl)(’6UNT(Zo!;p末 cr
2tT?> 5TATEr’1ENT F尺5r
’I 10 T5 If
8X沫ネネネオX木メ木太木ix未XxxχXXχ米
木XXXXχ宸木不X第 5 図 篤 7 図 イ匙束
図は、PROGAというプログラムのデバッグの制御文
の例を表わす図、第5図は、マクロMCAL+。 の内容の例を示す図、第4図は、デバッグ情理の出力結
果の例を示す図、第5図、第6図は杏発明による処理を
示すフローチャート、第7−。 は本発明によるデバッグを説明する図である。。 101〜110・・・デバッグ処理ステップ葛1 図 、Li5’or ANor AIF C?−C7A>5ooの、EXITf’1CA
L1 前CAL2 g、CrA 5ETA IIc?A十IACr6
、Lbf)/’ キ 第2図 r”1DBcr SET、nAcF6(r’Ic八L
へ )、 CσUNT(2ooo−210の。 TKACE、WHEN(&QA) CDI’Y rFDGA 第3図 to AIFC’1.CrA>2050) 、
T)−INt4− /’+Q6 、NXT
15、、T)INANυF /7 、.9.QA SEすA ■qA士(す20
、NXT At46P 第牛閏 gyt MvF3Q 丁F<ACE DVIP
r”lAc尺i5(MCALl)C6uNT(2ooo
)木’ (’r5Tc> 5TATEhENTFKo
r’l 74 TO20”x*木ネx、を木*木xx*
**x*x*r**木21本、IK、tX )k X本
KA庫、XXk木。 x零r’14)Be TFACE DuMP
nAcR5mcAt−1)CbUNT(2θ50)オ木
66T6 5TATEf′1ENT FKδ
f’l 14− T6 .20
木本*木木*、IC木木木木A*−L*未スオ×
x木本木木末木木木木木木木X*末r1DBI;r
T尺ACE DLjrlP /IAC尺6
(rlcALl)(’6UNT(Zo!;p末 cr
2tT?> 5TATEr’1ENT F尺5r
’I 10 T5 If
8X沫ネネネオX木メ木太木ix未XxxχXXχ米
木XXXXχ宸木不X第 5 図 篤 7 図 イ匙束
Claims (1)
- マクロ機能を使用しているアセンブラプログラムのアセ
ンブル時に、ソースプログラムを修正することなく、そ
のプログラムで使用した指定された可変記号に対して、
指定された範囲内に於ける値の設定や参照についての情
報を出力する可変記号トレース方法。
Priority Applications (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP60034364A JPS61194544A (ja) | 1985-02-25 | 1985-02-25 | 可変記号トレ−ス方法 |
Applications Claiming Priority (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP60034364A JPS61194544A (ja) | 1985-02-25 | 1985-02-25 | 可変記号トレ−ス方法 |
Publications (1)
| Publication Number | Publication Date |
|---|---|
| JPS61194544A true JPS61194544A (ja) | 1986-08-28 |
Family
ID=12412107
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| JP60034364A Pending JPS61194544A (ja) | 1985-02-25 | 1985-02-25 | 可変記号トレ−ス方法 |
Country Status (1)
| Country | Link |
|---|---|
| JP (1) | JPS61194544A (ja) |
Citations (2)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JPS4874147A (ja) * | 1971-12-29 | 1973-10-05 | ||
| JPS57157362A (en) * | 1981-03-25 | 1982-09-28 | Hitachi Ltd | Method and apparatus of execution path career data pickup for architecture program |
-
1985
- 1985-02-25 JP JP60034364A patent/JPS61194544A/ja active Pending
Patent Citations (2)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JPS4874147A (ja) * | 1971-12-29 | 1973-10-05 | ||
| JPS57157362A (en) * | 1981-03-25 | 1982-09-28 | Hitachi Ltd | Method and apparatus of execution path career data pickup for architecture program |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| JPS63304325A (ja) | 並列化コンパイル方法 | |
| JPS61194544A (ja) | 可変記号トレ−ス方法 | |
| JP3318051B2 (ja) | 翻訳処理方法 | |
| JP2000029678A (ja) | プログラム言語変換方法、変換装置および記録媒体 | |
| JPS59111526A (ja) | 信号処理方式 | |
| Zigouris et al. | Labview to ccs link for automating digital signal & image processing applications | |
| JP2595815B2 (ja) | プログラム修正量判定処理装置 | |
| JPH0283634A (ja) | プログラムデバッグ方式 | |
| JPH02287737A (ja) | テスト項目自動設計方式 | |
| GLIATTI et al. | Quality control as applied to imagery analysis(of reconnaissance systems) | |
| JPH11194958A (ja) | プログラムテストシステム | |
| JPS59178505A (ja) | システムの異常診断方式 | |
| JPH04330521A (ja) | クロスリファレンスリスト生成方式 | |
| JPS6297031A (ja) | 仮数部のビツト数整合方式 | |
| JPH02308355A (ja) | インタプリタにおける入力手続き管理方式 | |
| JPH05100866A (ja) | コンパイル・リンク方式 | |
| JPH04333931A (ja) | 書式付き入出力文高速化処理方式 | |
| JPH035828A (ja) | 仮変数を含むプログラムの翻訳実行方式 | |
| JPH04147342A (ja) | 宣言子解析方法 | |
| JPH06236261A (ja) | 手続き型言語プログラム・コンポーネントの分離方式 | |
| JPH07122880B2 (ja) | 文字列検索方式 | |
| JPH064348A (ja) | プログラムデバッグ方式 | |
| JPS62235651A (ja) | テストデ−タ作成装置 | |
| JPH038025A (ja) | 実引数付きマクロのマクロ展開処理方式 | |
| JPH01231137A (ja) | トレース情報出力方式 |