JPH03266037A - トレースプログラム挿入方式 - Google Patents
トレースプログラム挿入方式Info
- Publication number
- JPH03266037A JPH03266037A JP2064336A JP6433690A JPH03266037A JP H03266037 A JPH03266037 A JP H03266037A JP 2064336 A JP2064336 A JP 2064336A JP 6433690 A JP6433690 A JP 6433690A JP H03266037 A JPH03266037 A JP H03266037A
- Authority
- JP
- Japan
- Prior art keywords
- program
- trace
- assembler
- storage area
- instruction
- 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
Landscapes
- Debugging And Monitoring (AREA)
Abstract
(57)【要約】本公報は電子出願前の出願データであるた
め要約のデータは記録されません。
め要約のデータは記録されません。
Description
【発明の詳細な説明】
(目 次 )
概要
産業上の利用分野
従来の技術 (第14図乃至第17図)発明が解
決しようとする課題 課題を解決するための手段 (第1図)作 用
(第2図)実施例
(第3図乃至第13図)発明の効果 (概要) 高級1語により記述されたプログラムに、そのプログラ
ムの走行履歴を取得するプログラムを挿入するトレース
プログラム挿入方式に関し、ソースプログラムのアセン
ブラ展開時にトレースプログラムを必要な箇所に自動挿
入することができるようにすることを目的とし、 高級言語で記述されたプログラムを翻訳処理手段により
アセンブラ言語のプログラムに変換できる情服処理装置
において、命令やデータを入力する入力手段と、前記翻
訳処理手段を有してソースプログラムをアセンブラプロ
グラムに変換するとともにそのアセンブラプログラムを
オブジェクトプログラムに変換する処理手段と、ソース
プログラムおよびアセンブラプログラムならびにトレー
スプログラム等を格納する主記憶手段とを備え、前記処
理手段にはトレースプログラム付加手段を具備し、前記
入力手段からの指示を受けた前記処理手段の前記翻訳処
理手段により前記主記憶手段に格納されているソースプ
ログラムをアセンブラプログラムに変換し、その後に前
記トレースプログラム付加手段を起動して前記主記憶手
段に格納されているトレースプログラムをアセンブラプ
ログラムに自動挿入させるように構成したものである。
決しようとする課題 課題を解決するための手段 (第1図)作 用
(第2図)実施例
(第3図乃至第13図)発明の効果 (概要) 高級1語により記述されたプログラムに、そのプログラ
ムの走行履歴を取得するプログラムを挿入するトレース
プログラム挿入方式に関し、ソースプログラムのアセン
ブラ展開時にトレースプログラムを必要な箇所に自動挿
入することができるようにすることを目的とし、 高級言語で記述されたプログラムを翻訳処理手段により
アセンブラ言語のプログラムに変換できる情服処理装置
において、命令やデータを入力する入力手段と、前記翻
訳処理手段を有してソースプログラムをアセンブラプロ
グラムに変換するとともにそのアセンブラプログラムを
オブジェクトプログラムに変換する処理手段と、ソース
プログラムおよびアセンブラプログラムならびにトレー
スプログラム等を格納する主記憶手段とを備え、前記処
理手段にはトレースプログラム付加手段を具備し、前記
入力手段からの指示を受けた前記処理手段の前記翻訳処
理手段により前記主記憶手段に格納されているソースプ
ログラムをアセンブラプログラムに変換し、その後に前
記トレースプログラム付加手段を起動して前記主記憶手
段に格納されているトレースプログラムをアセンブラプ
ログラムに自動挿入させるように構成したものである。
本発明は、高級言語により記述されたプログラムに、そ
のプログラムの走行履歴を取得するプログラムを挿入す
る方式に関する。
のプログラムの走行履歴を取得するプログラムを挿入す
る方式に関する。
従来、高級言語により記述されたプログラムに、そのプ
ログラムの走行履歴を取得するプログラム(以下、トレ
ースプログラム、また、この−部をトレースルーチンと
いう)を挿入するには、第14図に示すように、オペレ
ータが目的とするソースプログラム1のリストを見て、
その必声な箇所に、キーボードを叩いて直接にトレース
ルーチンを記述して挿入し、トレースルーチン入りのソ
ースプログラム2に直してから、その直したソースプロ
グラム2をコンパイルしてオブジェクトモジュール3に
変換することにより、必要な機能モジュールを得ていた
。
ログラムの走行履歴を取得するプログラム(以下、トレ
ースプログラム、また、この−部をトレースルーチンと
いう)を挿入するには、第14図に示すように、オペレ
ータが目的とするソースプログラム1のリストを見て、
その必声な箇所に、キーボードを叩いて直接にトレース
ルーチンを記述して挿入し、トレースルーチン入りのソ
ースプログラム2に直してから、その直したソースプロ
グラム2をコンパイルしてオブジェクトモジュール3に
変換することにより、必要な機能モジュールを得ていた
。
例えば、C言語によるプログラムを書き換えてコンパイ
ルし、オブジェクトモジュールを得る場合を例にして具
体的に述べるとする。
ルし、オブジェクトモジュールを得る場合を例にして具
体的に述べるとする。
第15図(a)で示す出口トレースが1つの場合では、
そのプログラム1aの第5行目の前後に入口トレースを
指示する命令(as−trace();)と、出口トレ
ースを指示する命令(as−retun() ; )を
挿入して、第15図(C)で示すトレース挿入プログラ
ム2aを作成し、その後にコンパイルしてオブジェクト
モジュールを得る。
そのプログラム1aの第5行目の前後に入口トレースを
指示する命令(as−trace();)と、出口トレ
ースを指示する命令(as−retun() ; )を
挿入して、第15図(C)で示すトレース挿入プログラ
ム2aを作成し、その後にコンパイルしてオブジェクト
モジュールを得る。
このソースプログラムを機械語モジュール(オブジェク
トモジュール)の代りにアセンブラプログラム4aに変
換した場合を、第16図に示すと、ここで示すように、
出口トレースの位置と、アセンブラプログラムの処理を
終了してこのモジュールから出る位置との間に、リター
ンする時の返却値設定に関係する数行の命令が残され、
かならずしも両者の最終命令終了位置が一致するとは限
らない。
トモジュール)の代りにアセンブラプログラム4aに変
換した場合を、第16図に示すと、ここで示すように、
出口トレースの位置と、アセンブラプログラムの処理を
終了してこのモジュールから出る位置との間に、リター
ンする時の返却値設定に関係する数行の命令が残され、
かならずしも両者の最終命令終了位置が一致するとは限
らない。
第15図(b)で示す出口トレースが複数有る場合では
、そのプログラム1bの第4行目に入口トレースを指示
する命令(as−t、raceo ; )を挿入し、第
8行目の命令の直前に出口トレースを指示する命令(a
s、、、retun□ ; )を、第13行目の命令の
直前に2番目の出口トレースを指示する命令(as−r
etun() ; )を、第15行目の命令の直前に最
後の出口トレースを指示する命令(asretun()
;)をそれぞれ挿入する必要がある。しかし、このプロ
グラム1bでは、第15行目の命令がreturn命令
の中にsun命令が入っており、出口トレースをこの命
令の直前に挿入したのでは、このsun命令がトレース
できないことになる。そこで、第15図(d)に示すよ
うに、sun命令をreturn命令の中からワンステ
ップ前に出して、その出されたsum命令とリターン命
令との間に最後の出口トレースを挿入して、トレース挿
入プログラム2bを作成し、その後にコンパイルしてオ
ブジェクトモジュールを得る。
、そのプログラム1bの第4行目に入口トレースを指示
する命令(as−t、raceo ; )を挿入し、第
8行目の命令の直前に出口トレースを指示する命令(a
s、、、retun□ ; )を、第13行目の命令の
直前に2番目の出口トレースを指示する命令(as−r
etun() ; )を、第15行目の命令の直前に最
後の出口トレースを指示する命令(asretun()
;)をそれぞれ挿入する必要がある。しかし、このプロ
グラム1bでは、第15行目の命令がreturn命令
の中にsun命令が入っており、出口トレースをこの命
令の直前に挿入したのでは、このsun命令がトレース
できないことになる。そこで、第15図(d)に示すよ
うに、sun命令をreturn命令の中からワンステ
ップ前に出して、その出されたsum命令とリターン命
令との間に最後の出口トレースを挿入して、トレース挿
入プログラム2bを作成し、その後にコンパイルしてオ
ブジェクトモジュールを得る。
このソースプログラムについても機械語のモジュールの
代りにアセンブラプログラム4bに変換した場合を、第
17図に示すと、ここでは、第2番目と最終の出口トレ
ースの命令の後に、それぞれリターンする時の返却値設
定に関係する数行の命令が続き、次の命令に進む位置ま
たはアセンブラプログラムの処理を終了してこのモジュ
ールから出る位置と出口トレースの位置との間にずれが
生じ、かならずしもソースプログラムとアセンブラプロ
グラムとの実行命令終了位置が一致するとは限らない。
代りにアセンブラプログラム4bに変換した場合を、第
17図に示すと、ここでは、第2番目と最終の出口トレ
ースの命令の後に、それぞれリターンする時の返却値設
定に関係する数行の命令が続き、次の命令に進む位置ま
たはアセンブラプログラムの処理を終了してこのモジュ
ールから出る位置と出口トレースの位置との間にずれが
生じ、かならずしもソースプログラムとアセンブラプロ
グラムとの実行命令終了位置が一致するとは限らない。
(発明が解決しようとする課題 )
上記従来のソースプログラムへのトレースプログラム挿
入方法では、ソースプログラムの命令によってはトレー
スできない部分(トレースプログラム未挿入箇所)が生
じる場合がある。また、プログラムの書き換えにおける
オペレーションミス(エディタ操作ミス等によるプログ
ラム破壊)やトレースプログラム挿入箇所に対する挿入
忘れ等の人為的ミスの発生する確率が高い。従って、特
にプログラム試験完了後にトレースプログラムを組み込
む場合等では、このためだけに再試験を行う必要が生じ
、不要な工数を費やすことになるという問題点があった
。
入方法では、ソースプログラムの命令によってはトレー
スできない部分(トレースプログラム未挿入箇所)が生
じる場合がある。また、プログラムの書き換えにおける
オペレーションミス(エディタ操作ミス等によるプログ
ラム破壊)やトレースプログラム挿入箇所に対する挿入
忘れ等の人為的ミスの発生する確率が高い。従って、特
にプログラム試験完了後にトレースプログラムを組み込
む場合等では、このためだけに再試験を行う必要が生じ
、不要な工数を費やすことになるという問題点があった
。
本発明は、上記問題点に鑑みて成されたものであり、そ
の解決を目的として設定される技術的課題は、ソースプ
ログラムのアセンブラ展開時にトレースプログラムを必
要な箇所に自動挿入することができるようにした、トレ
ースプログラム挿入方式を提供することにある。
の解決を目的として設定される技術的課題は、ソースプ
ログラムのアセンブラ展開時にトレースプログラムを必
要な箇所に自動挿入することができるようにした、トレ
ースプログラム挿入方式を提供することにある。
(課題を解決するための手段 )
本発明は、上記課題を解決するための具体的な手段とし
て、トレースプログラム挿入方式を構成するにあたり、
第1図に示すように、高級言語で記述されたプログラム
を翻訳処理手段12aによりアセンブラ言語のプログラ
ムに変換できる情報処理装置において、命令やデータを
入力する入力手段11と、翻訳処理手段12aを有して
ソースプログラムをアセンブラプログラムに変換すると
ともにそのアセンブラプログラムをオブジェクトプログ
ラムに変換する処理手段12と、ソースプログラムおよ
びアセンブラプログラムならびにトレースプログラム等
を格納する主記憶手段13とを備え、前記処理手段12
にはトレースプログラム付加手段12bを具備し、前記
入力手段11からの指示を受けた前記処理手段12によ
り前記主記憶手段13に格納されているソースプログラ
ムをアセンブラプログラムに変換し、その後トレースプ
ログラム付加手段12bを起動して前記主記憶手段13
に格納されているトレースプログラムをアセンブラプロ
グラムに自動挿入させるものである。
て、トレースプログラム挿入方式を構成するにあたり、
第1図に示すように、高級言語で記述されたプログラム
を翻訳処理手段12aによりアセンブラ言語のプログラ
ムに変換できる情報処理装置において、命令やデータを
入力する入力手段11と、翻訳処理手段12aを有して
ソースプログラムをアセンブラプログラムに変換すると
ともにそのアセンブラプログラムをオブジェクトプログ
ラムに変換する処理手段12と、ソースプログラムおよ
びアセンブラプログラムならびにトレースプログラム等
を格納する主記憶手段13とを備え、前記処理手段12
にはトレースプログラム付加手段12bを具備し、前記
入力手段11からの指示を受けた前記処理手段12によ
り前記主記憶手段13に格納されているソースプログラ
ムをアセンブラプログラムに変換し、その後トレースプ
ログラム付加手段12bを起動して前記主記憶手段13
に格納されているトレースプログラムをアセンブラプロ
グラムに自動挿入させるものである。
(作用)
本発明は上記構成に基づき、第2図に示すように、入力
手段11からの指示により処理手段12の翻訳処理手段
12aが起動されて、主記憶手段13に格納されている
ソースプログラム21をアセンブラプログラム22に変
換し、その後に、トレースプログラム付加手段12bを
起動して、アセンブラプログラム22の実行命令に関し
て走行履歴が取得できるように、主記憶手段13に格納
されているトレースプログラム23をアセンブラプログ
ラム22の必要箇所へ自動挿入させる。
手段11からの指示により処理手段12の翻訳処理手段
12aが起動されて、主記憶手段13に格納されている
ソースプログラム21をアセンブラプログラム22に変
換し、その後に、トレースプログラム付加手段12bを
起動して、アセンブラプログラム22の実行命令に関し
て走行履歴が取得できるように、主記憶手段13に格納
されているトレースプログラム23をアセンブラプログ
ラム22の必要箇所へ自動挿入させる。
この後、入力手段11から処理手段12に変換指示を出
して、トレースプログラム入りのアセンブラプログラム
24を翻訳処理手段12aによりオブジェクトモジュー
ル25に変換する。
して、トレースプログラム入りのアセンブラプログラム
24を翻訳処理手段12aによりオブジェクトモジュー
ル25に変換する。
(実施例 )
以下、本発明の実施例としてC言語のプログラムに対し
て、その関数をトレース挿入単位とした場合について図
示説明する。
て、その関数をトレース挿入単位とした場合について図
示説明する。
構成を第3図に示す。ここで、31はキーボード等から
なる入力装置であり、ここから命令やデータを入力させ
る。
なる入力装置であり、ここから命令やデータを入力させ
る。
32はCRTデイスプレィまたは液晶デイスプレィ等か
らなる出力装置であり、処理結果を目に見えるかたちで
表示する。
らなる出力装置であり、処理結果を目に見えるかたちで
表示する。
33はマイクロプロセッサMC68010(モトローラ
社製)等からなる処理装置で、入力装置31から受けた
指示に従って必要な処理を実行する。
社製)等からなる処理装置で、入力装置31から受けた
指示に従って必要な処理を実行する。
34は主記憶装置であり、プログラムおよびデータ等を
格納する。
格納する。
処理装置33には、翻訳プログラムの手順に従って高級
言語からアセンブリ言語のアセンブラプログラムに変換
するまたはアセンブリ言語から機械語のオブジェクトプ
ログラムに変換する翻訳処理手段33aと、翻訳後のプ
ログラムおよび翻訳後のプログラムに付加した他のプロ
グラムを整理して処理効率の良い命令列にする編集処理
手段33bと、既存のプログラムにトレースプログラム
を付加するトレースプログラム付加手段33cとを備え
る。
言語からアセンブリ言語のアセンブラプログラムに変換
するまたはアセンブリ言語から機械語のオブジェクトプ
ログラムに変換する翻訳処理手段33aと、翻訳後のプ
ログラムおよび翻訳後のプログラムに付加した他のプロ
グラムを整理して処理効率の良い命令列にする編集処理
手段33bと、既存のプログラムにトレースプログラム
を付加するトレースプログラム付加手段33cとを備え
る。
主記憶装置34には、ソースプログラムを格納するソー
スプログラム格納領域34aと、ソースプログラムをア
センブラプログラムに翻訳するプログラムを格納する高
級言語翻訳プログラム格納領域34bと、アセンブラプ
ログラムを格納するアセンブラプログラム格納領域34
cと、アセンブラプログラムを機械語のオブジェクトプ
ログラムに翻訳するプログラムを格納するアセンブリ言
語翻訳プログラム格納領域34dと、モジュール化され
たオブジェクトプログラムを格納するオブジェクトモジ
ュール格納領域34eと、トレースプログラムを格納す
るトレースプログラム格納領域34fとを有する。
スプログラム格納領域34aと、ソースプログラムをア
センブラプログラムに翻訳するプログラムを格納する高
級言語翻訳プログラム格納領域34bと、アセンブラプ
ログラムを格納するアセンブラプログラム格納領域34
cと、アセンブラプログラムを機械語のオブジェクトプ
ログラムに翻訳するプログラムを格納するアセンブリ言
語翻訳プログラム格納領域34dと、モジュール化され
たオブジェクトプログラムを格納するオブジェクトモジ
ュール格納領域34eと、トレースプログラムを格納す
るトレースプログラム格納領域34fとを有する。
トレースプログラム格納領域34fには、入口トレース
プログラムを格納する入口トレースプログラム格納領域
34gと、出口トレースプログラムを格納する出口トレ
ースプログラム格納領域34hを設ける。
プログラムを格納する入口トレースプログラム格納領域
34gと、出口トレースプログラムを格納する出口トレ
ースプログラム格納領域34hを設ける。
トレースプログラム付加手段33cは、第4図に示すよ
うな処理手順をプログラム化して保有する処理手段を構
成する。
うな処理手順をプログラム化して保有する処理手段を構
成する。
この処理手順では、処理を開始すると、まずファイル終
了か否かを調べ(ステップ41)、ファイル終了ならば
処理を終り、終了していなければファイルより命令を1
行読み込む(ステップ42)。
了か否かを調べ(ステップ41)、ファイル終了ならば
処理を終り、終了していなければファイルより命令を1
行読み込む(ステップ42)。
次に、読み込まれた命令が1ink命令か否かを調べ(
ステップ43)、もし1ink命令であれば読み込み行
を出力しくステップ44)、入口トレース関数呼出し命
令を出力して(ステップ45)、ステップ41に戻る。
ステップ43)、もし1ink命令であれば読み込み行
を出力しくステップ44)、入口トレース関数呼出し命
令を出力して(ステップ45)、ステップ41に戻る。
また、1ink命令でなければunlk命令か否かを調
べ(ステップ46)、unlk命令ならば出口トレース
関数呼出し命令を出力しくステップ47)、読み込み行
を出力して(ステップ48)、ステップ41へ戻る。
べ(ステップ46)、unlk命令ならば出口トレース
関数呼出し命令を出力しくステップ47)、読み込み行
を出力して(ステップ48)、ステップ41へ戻る。
unlk命令でなければステップ47を飛び越し、ステ
ップ48に進む。
ップ48に進む。
走行履歴を得るためのトレースプログラムは、第5図に
示すように、入口トレースプログラム51と出口トレー
スプログラム52とに分割されたトレースプログラム5
3を構成し、このトレースプログラム53を呼び出す対
象プログラム54と、対象プログラム54を呼び出す親
プログラム55とが有るものとし、親プログラム55に
対して対象プログラム54が子、トレースプログラム5
3が孫に相当する階層構造の関係に形成する。
示すように、入口トレースプログラム51と出口トレー
スプログラム52とに分割されたトレースプログラム5
3を構成し、このトレースプログラム53を呼び出す対
象プログラム54と、対象プログラム54を呼び出す親
プログラム55とが有るものとし、親プログラム55に
対して対象プログラム54が子、トレースプログラム5
3が孫に相当する階層構造の関係に形成する。
プログラムの格納域は、第6図に示すように、親プログ
ラム55の格納域56に続けて、若干の領域をあけ、そ
の後に対象プログラム(子プログラム)54の格納域5
7を設け、その後に若干の領域をあけてから、トレース
プログラム(孫プログラム)53の格納域58を設ける
。親プログラム55が子プログラム54を呼出し、その
子プログラム54が孫プログラム53を呼び出した場合
、孫プログラム53の処理が終了した場合に子プログラ
ム54の孫プログラム呼出し位置の次の位置(戻り番地
■)に戻って処理が進められ、子プログラム54の処理
が終了すると親プログラム55の子プログラム呼出し位
置の次の位置(戻り番地■)に戻って処理が進められる
。
ラム55の格納域56に続けて、若干の領域をあけ、そ
の後に対象プログラム(子プログラム)54の格納域5
7を設け、その後に若干の領域をあけてから、トレース
プログラム(孫プログラム)53の格納域58を設ける
。親プログラム55が子プログラム54を呼出し、その
子プログラム54が孫プログラム53を呼び出した場合
、孫プログラム53の処理が終了した場合に子プログラ
ム54の孫プログラム呼出し位置の次の位置(戻り番地
■)に戻って処理が進められ、子プログラム54の処理
が終了すると親プログラム55の子プログラム呼出し位
置の次の位置(戻り番地■)に戻って処理が進められる
。
C言語における自動変数は、第7図に示すように、後部
先出し方式のメモリ領域(スタック域)59に割り当て
られ、トレースプログラム53のスタック域としては、
スタックポインタ(sp)の指示位置から一定の空領域
59aをあけてNo2アドレスレジスタ退避域59bと
No3アドレスレジスタ退避域59cを設け、それに続
いてフレームポインタ(fp)の指示位置が示す、対象
プログラム54の旧フレームポインタ格納域59dと、
戻り番地(■)格納域59eを設ける。
先出し方式のメモリ領域(スタック域)59に割り当て
られ、トレースプログラム53のスタック域としては、
スタックポインタ(sp)の指示位置から一定の空領域
59aをあけてNo2アドレスレジスタ退避域59bと
No3アドレスレジスタ退避域59cを設け、それに続
いてフレームポインタ(fp)の指示位置が示す、対象
プログラム54の旧フレームポインタ格納域59dと、
戻り番地(■)格納域59eを設ける。
そしてさらに格納域を、対象プログラム54のスタック
域として続け、空領域59fをあけてからレジスタ退避
域59gとローカル域(自動変数域)59hとを設け、
その後に続けて親プログラム55の旧フレームポインタ
格納域59iと、戻り番地(■)格納域59jを設け、
その後に4つの引数の格納域59 k 、 591 、
59 m 。
域として続け、空領域59fをあけてからレジスタ退避
域59gとローカル域(自動変数域)59hとを設け、
その後に続けて親プログラム55の旧フレームポインタ
格納域59iと、戻り番地(■)格納域59jを設け、
その後に4つの引数の格納域59 k 、 591 、
59 m 。
59nを設ける。
入口トレースプログラム51では、実行時に使用する走
行履歴データ等の取得情報の格納領域を、第8図(a)
に示すように、親プログラム55または対象プログラム
54の戻り番地を指定するプログラムカウンタの内容を
それぞれ格納するプログラムカウンタ格納領域51a、
51bと、4つの引数を格納する引数格納領域51C1
51d、51e、51fと、この入口トレースプログラ
ム51を呼び出した対象プログラム54のフレームポイ
ンタが指示する位置を格納するフレームポインタ格納領
域54gと、10m5のタイマ値を格納する10m5タ
イマ格納領域51hを設け、それぞれの格納領域とも2
ワード(4バイト)分の領域を与える。
行履歴データ等の取得情報の格納領域を、第8図(a)
に示すように、親プログラム55または対象プログラム
54の戻り番地を指定するプログラムカウンタの内容を
それぞれ格納するプログラムカウンタ格納領域51a、
51bと、4つの引数を格納する引数格納領域51C1
51d、51e、51fと、この入口トレースプログラ
ム51を呼び出した対象プログラム54のフレームポイ
ンタが指示する位置を格納するフレームポインタ格納領
域54gと、10m5のタイマ値を格納する10m5タ
イマ格納領域51hを設け、それぞれの格納領域とも2
ワード(4バイト)分の領域を与える。
出口トレースプログラム52では、実行時における走行
履歴データ等を含む取得情報の格納領域として、第8図
(b)に示すように、2つの0データ格納領域52a、
52bを設け、その後に続けて、対象プログラムに対す
るプログラムカウンタの内容を格納するプログラムカウ
ンタ格納領域52cと、親プログラムに対するプログラ
ムカウンタの内容を格納するプログラムカウンタ格納領
域52dと、データ型関数の返却値としてレジスタ情報
を格納するデータ型返却値格納領域52eと、ポインタ
型関数の返却値としてレジスタ情報を格納するポインタ
型返却値格納領域52fと、対象プログラムのNo2デ
ータレジスタの内容を格納するD2レジスタ用格納領域
52gと、対象プログラムのNo2アドレスレジスタの
内容を格納するA2レジスタ用格納領域52hを設け、
それぞれの格納領域とも2ワード(4バイト)分の領域
を与える。
履歴データ等を含む取得情報の格納領域として、第8図
(b)に示すように、2つの0データ格納領域52a、
52bを設け、その後に続けて、対象プログラムに対す
るプログラムカウンタの内容を格納するプログラムカウ
ンタ格納領域52cと、親プログラムに対するプログラ
ムカウンタの内容を格納するプログラムカウンタ格納領
域52dと、データ型関数の返却値としてレジスタ情報
を格納するデータ型返却値格納領域52eと、ポインタ
型関数の返却値としてレジスタ情報を格納するポインタ
型返却値格納領域52fと、対象プログラムのNo2デ
ータレジスタの内容を格納するD2レジスタ用格納領域
52gと、対象プログラムのNo2アドレスレジスタの
内容を格納するA2レジスタ用格納領域52hを設け、
それぞれの格納領域とも2ワード(4バイト)分の領域
を与える。
トレースプログラム53は入口トレースプログラム51
および出口トレースプログラム52をアセンブラ命令の
関数(サブルーチンサブプログラム)として形成する。
および出口トレースプログラム52をアセンブラ命令の
関数(サブルーチンサブプログラム)として形成する。
入口トレースプログラムによる具体的な処理手順は、第
9図に示すように、まず、フレームポインタが示す・ア
ドレス+4バイトの内容(戻り番地■:対象プログラム
の走行履歴)を入口トレース格納域のプログラムカウン
タ格納領域51aへ転送する(ステップ61)。
9図に示すように、まず、フレームポインタが示す・ア
ドレス+4バイトの内容(戻り番地■:対象プログラム
の走行履歴)を入口トレース格納域のプログラムカウン
タ格納領域51aへ転送する(ステップ61)。
フレームポインタが示すアドレスの内容によって示され
たアドレス+4バイトの内容(戻り番地■:親プログラ
ムの走行履歴)を入口トレース格納域のプログラムカウ
ンタ格納領域51bへ転送する(ステップ62)。
たアドレス+4バイトの内容(戻り番地■:親プログラ
ムの走行履歴)を入口トレース格納域のプログラムカウ
ンタ格納領域51bへ転送する(ステップ62)。
フレームポインタが示すアドレスの内容によって示され
たアドレス+8バイトの内容(引数1)を入口トレース
格納域の引数格納領域51cへ転送する(ステップ63
)。
たアドレス+8バイトの内容(引数1)を入口トレース
格納域の引数格納領域51cへ転送する(ステップ63
)。
フレームポインタが示すアドレスの内容によって示され
たアドレス+12バイトの内容(引数2)を入口トレー
ス格納域の引数格納領域51dへ転送する(ステップ6
4)。
たアドレス+12バイトの内容(引数2)を入口トレー
ス格納域の引数格納領域51dへ転送する(ステップ6
4)。
フレームポインタが示すアドレスの内容によって示され
たアドレス+16バイトの内容(引数3)を入口トレー
ス格納域の引数格納領域51eへ転送する(ステップ6
5)。
たアドレス+16バイトの内容(引数3)を入口トレー
ス格納域の引数格納領域51eへ転送する(ステップ6
5)。
フレームポインタが示すアドレスの内容によって示され
たアドレス+20バイトの内容(引数4)を入口トレー
ス格納域の引数格納領域51fへ転送する(ステップ6
6)。
たアドレス+20バイトの内容(引数4)を入口トレー
ス格納域の引数格納領域51fへ転送する(ステップ6
6)。
フレームポインタの内容を入口トレース格納域のフレー
ムポインタ格納領域51gへ転送する(ステップ67)
・ そして、10m5タイマ取得システムコールを発行し、
その結果を入口トレース格納域の10m5タイマ格納領
域51hへ転送して(ステップ68)、この入口トレー
ス処理を呼び出したプログラムへ戻る。
ムポインタ格納領域51gへ転送する(ステップ67)
・ そして、10m5タイマ取得システムコールを発行し、
その結果を入口トレース格納域の10m5タイマ格納領
域51hへ転送して(ステップ68)、この入口トレー
ス処理を呼び出したプログラムへ戻る。
出口トレースプログラムによる具体的な処理手順は、第
10図に示すように、まず、0 (null)データ4
バイトを出口トレース格納域の0データ格納領域52a
へ転送する(ステップ71)。
10図に示すように、まず、0 (null)データ4
バイトを出口トレース格納域の0データ格納領域52a
へ転送する(ステップ71)。
その次にも0 (null)データ4バイトを出口トレ
ース格納域の0データ格納領域52bへ転送する(ステ
ップ72)。
ース格納域の0データ格納領域52bへ転送する(ステ
ップ72)。
フレームポインタの示すアドレス+4バイトの内容(戻
り番地■:対象プログラムの走行履歴)を出口トレース
格納域のプログラムカウンタ格納領域52cへ転送する
(ステップ73)。
り番地■:対象プログラムの走行履歴)を出口トレース
格納域のプログラムカウンタ格納領域52cへ転送する
(ステップ73)。
フレームポインタの示すアドレスの内容が示すアドレス
+4バイトの内容(戻り番地■:親プログラムの走行履
歴)を出口トレース格納域のプログラムカウンタ格納領
域52dへ転送する(ステップ74)。
+4バイトの内容(戻り番地■:親プログラムの走行履
歴)を出口トレース格納域のプログラムカウンタ格納領
域52dへ転送する(ステップ74)。
DOレジスタの内容(データ型関数の返却値)を出口ト
レース格納域のデータ型返却値格納領域52eへ転送す
る(ステップ75)。
レース格納域のデータ型返却値格納領域52eへ転送す
る(ステップ75)。
AOレジスタの内容(ポインタ型関数の返却値)を出口
トレース格納域のポインタ型返却値格納領域52fへ転
送する(ステップ76)。
トレース格納域のポインタ型返却値格納領域52fへ転
送する(ステップ76)。
D2レジスタの内容を出口トレース格納域のD2レジス
タ用格納領域52gへ転送する(ステップ77)。
タ用格納領域52gへ転送する(ステップ77)。
スタックポインタの示すアドレス+4バイトの内容(A
2レジスタの内容)をA2レジスタ用格納領域52hへ
転送して(ステップ78)、この出口トレース処理を呼
び出したプログラムへ戻る。
2レジスタの内容)をA2レジスタ用格納領域52hへ
転送して(ステップ78)、この出口トレース処理を呼
び出したプログラムへ戻る。
このようなトレースプログラム53の表示例を第11図
に示す。
に示す。
第11図(a)では、入口トレースプログラムおよび出
口トレースプログラムを関数型で表現した場合の表現形
式を示す。
口トレースプログラムを関数型で表現した場合の表現形
式を示す。
入口トレースプログラムの呼出し名はas−trace
で、その後にプログラムカウンタ(pc)、呼出し元プ
ログラムカウンタ、Nol引数、No2引数、No3引
数、No4引数、フレームポインタ、およびタイムカウ
ンタの転送を順に指定する。その処理命令の内容を、第
9図の流れ図に示したステップと対応させて、アセンブ
ラ形式により表現して第11図(b)に示す。
で、その後にプログラムカウンタ(pc)、呼出し元プ
ログラムカウンタ、Nol引数、No2引数、No3引
数、No4引数、フレームポインタ、およびタイムカウ
ンタの転送を順に指定する。その処理命令の内容を、第
9図の流れ図に示したステップと対応させて、アセンブ
ラ形式により表現して第11図(b)に示す。
出口トレースプログラムの呼出し名はas−retun
で、その後にO(null) 、0 (null) 、
プログラムカウンタ(pc)、呼出し元プログラムカウ
ンタ、DO返却値、AO返却値、D2レジスタ値、およ
びA2レジスタ値の転送を順に指定する。その処理命令
の内容も、第10図の流れ図に示したステップと対応さ
せて、アセンブラ形式により表現して第11図(b)に
示す。
で、その後にO(null) 、0 (null) 、
プログラムカウンタ(pc)、呼出し元プログラムカウ
ンタ、DO返却値、AO返却値、D2レジスタ値、およ
びA2レジスタ値の転送を順に指定する。その処理命令
の内容も、第10図の流れ図に示したステップと対応さ
せて、アセンブラ形式により表現して第11図(b)に
示す。
このように構成した実施例を用いて、Ci語のプログラ
ムを、いわゆる出口が1つの場合(第1の態様)と出口
が複数ある場合(第2の態様)とに分けて、トレースプ
ログラムを自動挿入させると以下のようになる。
ムを、いわゆる出口が1つの場合(第1の態様)と出口
が複数ある場合(第2の態様)とに分けて、トレースプ
ログラムを自動挿入させると以下のようになる。
第1の態様としては、第12図に示すように、1からm
axまで1を加算してその総和を計算するプログラムの
場合を例とすると、トレースプログラム53の挿入には
、入口トレースプログラム51および出口トレースプロ
グラム52が各1回だけ呼び出される。
axまで1を加算してその総和を計算するプログラムの
場合を例とすると、トレースプログラム53の挿入には
、入口トレースプログラム51および出口トレースプロ
グラム52が各1回だけ呼び出される。
そのC言語プログラム81を第12図(a)に示す。こ
のCMH(、プログラム81の中の第5行目にある関数
命令(for(・・・))の前後位置に、入口トレース
プログラム51および出口トレースプログラム52を挿
入することになる。
のCMH(、プログラム81の中の第5行目にある関数
命令(for(・・・))の前後位置に、入口トレース
プログラム51および出口トレースプログラム52を挿
入することになる。
このC言語プログラム81をアセンブラプログラム82
に翻訳して展開すると、第12図(b−1)に示すよう
になる。この段階では、まだトレースプログラム53が
挿入されていない。
に翻訳して展開すると、第12図(b−1)に示すよう
になる。この段階では、まだトレースプログラム53が
挿入されていない。
アセンブラプログラム82においては、入口トレースプ
ログラム51は最初の命令(link、l、ネストされ
たサブルーチン用にローカルエリアを確保する命令)の
次の行に、出口トレースプログラム52は最後の命令(
nop *何も実行しない命令)から逆行した3行目の
命令(unlk、 1ink命令で確保したスタックエ
リアを開放する命令)の前の行に、それぞれ挿入される
ことになる。
ログラム51は最初の命令(link、l、ネストされ
たサブルーチン用にローカルエリアを確保する命令)の
次の行に、出口トレースプログラム52は最後の命令(
nop *何も実行しない命令)から逆行した3行目の
命令(unlk、 1ink命令で確保したスタックエ
リアを開放する命令)の前の行に、それぞれ挿入される
ことになる。
トレースプログラム付加手段33cが起動されて自動挿
入が実行されると、第12図(b−2)に示すように、
最初の命令(link、1)の次に入口トレースプログ
ラム51の呼出し命令 (jsr −・・[as−tracel )が挿入され
、下から3行目の命令(unlk)の前に出口トレース
プログラム52の呼出し命令(jsr ・・・[as−
retunl)が挿入されて、それぞれに関数表現によ
って形成された入口トレースプログラム51と出口トレ
ースプログラム52とが実行可能に挿入され、その間に
おける各命令は元のままで変更はされない。
入が実行されると、第12図(b−2)に示すように、
最初の命令(link、1)の次に入口トレースプログ
ラム51の呼出し命令 (jsr −・・[as−tracel )が挿入され
、下から3行目の命令(unlk)の前に出口トレース
プログラム52の呼出し命令(jsr ・・・[as−
retunl)が挿入されて、それぞれに関数表現によ
って形成された入口トレースプログラム51と出口トレ
ースプログラム52とが実行可能に挿入され、その間に
おける各命令は元のままで変更はされない。
このように第1の態様では、アセンブラプログラムの段
階で、必要な位置に入口トレースプログラム51と出口
トレースプログラム52の呼び出し命令が挿入されて、
実行時にその呼出し位置に入口トレースプログラム51
と出口トレースプログラム52がそれぞれ挿入され、必
要な走行履歴が取得できる。
階で、必要な位置に入口トレースプログラム51と出口
トレースプログラム52の呼び出し命令が挿入されて、
実行時にその呼出し位置に入口トレースプログラム51
と出口トレースプログラム52がそれぞれ挿入され、必
要な走行履歴が取得できる。
第2の態様(別態様)としては、第13図に示すように
、C言語命令中の5tusの内容がそれぞれ正、零、負
によって、関数sum(・・・)を呼び分けるプログラ
ムで、C言語プログラム84では出口トレースプログラ
ム挿入箇所が複数箇所ある場合において、アセンブラプ
ログラム85中における出口を纏めて、出口トレースプ
ログラム52の呼び出し回数を1回だけになるようにト
レースプログラム53を挿入させるようにする。
、C言語命令中の5tusの内容がそれぞれ正、零、負
によって、関数sum(・・・)を呼び分けるプログラ
ムで、C言語プログラム84では出口トレースプログラ
ム挿入箇所が複数箇所ある場合において、アセンブラプ
ログラム85中における出口を纏めて、出口トレースプ
ログラム52の呼び出し回数を1回だけになるようにト
レースプログラム53を挿入させるようにする。
そのC言語プログラム84を第13図(a)に示す。こ
のC言語プログラム84でトレースプログラム53を挿
入するものとすれば、第8行目、第13行目、および第
15行目にある関数命令(retun(・・・))の後
に、出口トレースプログラム52を挿入することになる
が、第13図(b−i)のように、アセンブラプログラ
ム85に翻訳して展開し、その後に、トレースプログラ
ム付加手段33cによつて出口トレースプログラム52
の呼び出し命令を挿入するものとする。
のC言語プログラム84でトレースプログラム53を挿
入するものとすれば、第8行目、第13行目、および第
15行目にある関数命令(retun(・・・))の後
に、出口トレースプログラム52を挿入することになる
が、第13図(b−i)のように、アセンブラプログラ
ム85に翻訳して展開し、その後に、トレースプログラ
ム付加手段33cによつて出口トレースプログラム52
の呼び出し命令を挿入するものとする。
自動挿入を実行するには、あらかじめ編集処理手段33
bが起動されて、各ジャンプサブルーチン命令(jsr
)の行き先を調整し、その調整後にトレースプログラ
ム付加手段33cが起動され、第13図(b−2)に示
すアセンブラプログラム86のように、下から2番目に
ある命令(unlk)の前に出口トレースプログラム5
2の呼び出し命令(jsr−[as−retunl )
が挿入される。
bが起動されて、各ジャンプサブルーチン命令(jsr
)の行き先を調整し、その調整後にトレースプログラ
ム付加手段33cが起動され、第13図(b−2)に示
すアセンブラプログラム86のように、下から2番目に
ある命令(unlk)の前に出口トレースプログラム5
2の呼び出し命令(jsr−[as−retunl )
が挿入される。
この場合に、入口トレースプログラム51については、
第1の態様の場合と同じく、最初の命令(link、l
)の後に呼出し命令(jsr−[astracel )
を挿入する。
第1の態様の場合と同じく、最初の命令(link、l
)の後に呼出し命令(jsr−[astracel )
を挿入する。
このようにして第2の態様についても、C言語プログラ
ム84でトレースプログラムを挿入すれば複数の出口が
必要になるものであっても、アセンブラプログラム86
では出口トレースプログラムが1回呼び出されることに
よって、必要な走行履歴が取得でき、プログラムが短く
できて、処理を効率良く実行させることができる。
ム84でトレースプログラムを挿入すれば複数の出口が
必要になるものであっても、アセンブラプログラム86
では出口トレースプログラムが1回呼び出されることに
よって、必要な走行履歴が取得でき、プログラムが短く
できて、処理を効率良く実行させることができる。
このように実施例のトレースプログラム挿入方式では、
アセンブラプログラム中の各関数について、行き先を整
理した後で、そのプログラムにおける実行命令の最前列
と最後列に、各1回だけ入口トレースプログラム51と
出口トレースプログラム52をそれぞれ自動的に挿入し
、必要とする走行履歴が取得できるようにする。これに
より、トレースプログラム挿入時の工数が大幅に減少で
き、トレースプログラム入りプログラムの信頼性を高め
ることができて、そのトレースプログラム挿入後の試験
を不要にすることができる。
アセンブラプログラム中の各関数について、行き先を整
理した後で、そのプログラムにおける実行命令の最前列
と最後列に、各1回だけ入口トレースプログラム51と
出口トレースプログラム52をそれぞれ自動的に挿入し
、必要とする走行履歴が取得できるようにする。これに
より、トレースプログラム挿入時の工数が大幅に減少で
き、トレースプログラム入りプログラムの信頼性を高め
ることができて、そのトレースプログラム挿入後の試験
を不要にすることができる。
(発明の効果 )
以上のように本発明では、ソースプログラムをアセンブ
ラプログラムに変換させる場合に、その変換後に必要な
位置へトレースプログラムを自動挿入させて、アセンブ
ラプログラムの実行命令に関して、走行履歴が取得でき
るようにしたことにより、トレースプログラムの組み込
み工数が減少し、経費が安価になり、また、オペレーシ
ョンミスを起こす可能性が減少したことによって、作業
者の負担を軽減でき、しかもトレースプログラム入りプ
ログラムの信頼性を高めることができる。
ラプログラムに変換させる場合に、その変換後に必要な
位置へトレースプログラムを自動挿入させて、アセンブ
ラプログラムの実行命令に関して、走行履歴が取得でき
るようにしたことにより、トレースプログラムの組み込
み工数が減少し、経費が安価になり、また、オペレーシ
ョンミスを起こす可能性が減少したことによって、作業
者の負担を軽減でき、しかもトレースプログラム入りプ
ログラムの信頼性を高めることができる。
第1図は、本発明の原理構成図、
第2図は、本発明による処理手順を示す流れ図、第3図
は、実施例の構成図、 第4図は、実施例のトレースプログラム付加手段による
処理の流れ図、 第5図は、実施例のトレースプログラムと関連するプロ
グラムを示す構成図、 第6図は、実施例のプログラム格納域を示す配置図、 第7図は、実施例のスタック域を示す配置図、第8図は
、実施例のトレースプログラムの取得情報を格納する記
憶領域説明図、 第9図は、実施例の入口トレースプログラムによる処理
の流れ図、 第10図は、実施例の出口トレースプログラムによる処
理の流れ図、 第11図は、実施例のトレースプログラムを示す構成説
明図で、 (a)は表現形式、 (b)は0M語とアセンブラ言語を用いたプログラムリ
スト、 第12図は、実施例によるトレースプログラム自動挿入
例を示す構成説明図で、 (a)はC言語プログラム、 (b)はアセンブラ展開後の結果、 (b−i)は元のプログラム、 (b−2)はツールによる自動挿入後、第13図は、実
施例によるトレースプログラム自動挿入例の別態様を示
す構成説明図で、(a)はC言語プログラム、 (b)はアセンブラ展開後の結果、図、(b−1)は元
のプログラム、 (b−2)はツールによる自動挿入後、第14図は、従
来のトレースプログラム挿入手順を示す流れ図、 第15図は、従来のC言語プログラムにおけるトレース
挿入方法を示す動作説明図で、 (a)は出口トレースが単数の場合(トレース挿入前) (b)は出口トレースが複数の場合(トレース挿入前) (C)は出口トレースが単数の場合(トレース挿入後) (d)は出口トレースが複数の場合(トレース挿入後) 第16図は、従来のトレース挿入したソースプログラム
をアセンブラプログラムに置換した場合を示す動作説明
図(第15図(C)に対応)、第17図は、従来のトレ
ース挿入したソースプログラムをアセンブラプログラム
に置換した場合を示す動作説明図(第15図(d)に対
応)。 11・・・入力手段 12・・・処理手段 12a・・・翻訳処理手段 12b・・・トレースプログラム付加手段13・・・主
記憶手段
は、実施例の構成図、 第4図は、実施例のトレースプログラム付加手段による
処理の流れ図、 第5図は、実施例のトレースプログラムと関連するプロ
グラムを示す構成図、 第6図は、実施例のプログラム格納域を示す配置図、 第7図は、実施例のスタック域を示す配置図、第8図は
、実施例のトレースプログラムの取得情報を格納する記
憶領域説明図、 第9図は、実施例の入口トレースプログラムによる処理
の流れ図、 第10図は、実施例の出口トレースプログラムによる処
理の流れ図、 第11図は、実施例のトレースプログラムを示す構成説
明図で、 (a)は表現形式、 (b)は0M語とアセンブラ言語を用いたプログラムリ
スト、 第12図は、実施例によるトレースプログラム自動挿入
例を示す構成説明図で、 (a)はC言語プログラム、 (b)はアセンブラ展開後の結果、 (b−i)は元のプログラム、 (b−2)はツールによる自動挿入後、第13図は、実
施例によるトレースプログラム自動挿入例の別態様を示
す構成説明図で、(a)はC言語プログラム、 (b)はアセンブラ展開後の結果、図、(b−1)は元
のプログラム、 (b−2)はツールによる自動挿入後、第14図は、従
来のトレースプログラム挿入手順を示す流れ図、 第15図は、従来のC言語プログラムにおけるトレース
挿入方法を示す動作説明図で、 (a)は出口トレースが単数の場合(トレース挿入前) (b)は出口トレースが複数の場合(トレース挿入前) (C)は出口トレースが単数の場合(トレース挿入後) (d)は出口トレースが複数の場合(トレース挿入後) 第16図は、従来のトレース挿入したソースプログラム
をアセンブラプログラムに置換した場合を示す動作説明
図(第15図(C)に対応)、第17図は、従来のトレ
ース挿入したソースプログラムをアセンブラプログラム
に置換した場合を示す動作説明図(第15図(d)に対
応)。 11・・・入力手段 12・・・処理手段 12a・・・翻訳処理手段 12b・・・トレースプログラム付加手段13・・・主
記憶手段
Claims (1)
- 【特許請求の範囲】 高級言語で記述されたプログラムを翻訳処理手段(12
a)によりアセンブラ言語のプログラムに変換できる情
報処理装置において、 命令やデータを入力する入力手段(11)と、前記翻訳
処理手段(12a)を有してソースプログラムをアセン
ブラプログラムに変換するとともにそのアセンブラプロ
グラムをオブジェクトプログラムに変換する処理手段(
12)と、 ソースプログラムおよびアセンブラプログラムならびに
トレースプログラム等を格納する主記憶手段(13)と
を備え、 前記処理手段(12)にはトレースプログラム付加手段
(12b)を具備し、 前記入力手段(11)からの指示を受けた前記処理手段
(12)の前記翻訳処理手段(12a)により前記主記
憶手段(13)に格納されているソースプログラムをア
センブラプログラムに変換し、その後に前記トレースプ
ログラム付加手段(12b)を起動して前記主記憶手段
(13)に格納されているトレースプログラムをアセン
ブラプログラムに自動挿入させることを特徴とするトレ
ースプログラム挿入方式。
Priority Applications (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP2064336A JPH03266037A (ja) | 1990-03-16 | 1990-03-16 | トレースプログラム挿入方式 |
Applications Claiming Priority (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP2064336A JPH03266037A (ja) | 1990-03-16 | 1990-03-16 | トレースプログラム挿入方式 |
Publications (1)
| Publication Number | Publication Date |
|---|---|
| JPH03266037A true JPH03266037A (ja) | 1991-11-27 |
Family
ID=13255300
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| JP2064336A Pending JPH03266037A (ja) | 1990-03-16 | 1990-03-16 | トレースプログラム挿入方式 |
Country Status (1)
| Country | Link |
|---|---|
| JP (1) | JPH03266037A (ja) |
Cited By (1)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US7676795B2 (en) * | 2005-01-13 | 2010-03-09 | International Business Machines Corporation | Error detection in a data processing system |
-
1990
- 1990-03-16 JP JP2064336A patent/JPH03266037A/ja active Pending
Cited By (1)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US7676795B2 (en) * | 2005-01-13 | 2010-03-09 | International Business Machines Corporation | Error detection in a data processing system |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| EP0785510B1 (en) | Program debugging system for debugging a program having a graphical user interface | |
| US8448152B2 (en) | High-level language, architecture-independent probe program compiler | |
| US6467082B1 (en) | Methods and apparatus for simulating external linkage points and control transfers in source translation systems | |
| US5404531A (en) | Method and apparatus for compiler processing on program related to data transfer and calculation, and method of managing memory | |
| JPH05346332A (ja) | 試験プログラム実行方法 | |
| US7222064B1 (en) | Instruction processor emulation having inter-processor messaging accounting | |
| JPH03266037A (ja) | トレースプログラム挿入方式 | |
| JPH10187461A (ja) | 言語処理方式 | |
| Kieburtz et al. | A type-checking program linkage system for Pascal | |
| Essel et al. | Goosy, the new gsi acquisition and analysis system for experiment data | |
| JP3461185B2 (ja) | ロードモジュールへのソースコード行番号登録方法および装置 | |
| CA1259138A (en) | Method of compiling high level language statements into low level language instruction sets | |
| JPS5922140A (ja) | 対話型コンパイル方式 | |
| JPH0510692B2 (ja) | ||
| KR100279731B1 (ko) | 칠 언어에 대한 제어 흐름 표시방법 | |
| JPH05134854A (ja) | ソフトウエア開発支援装置 | |
| Oudshoorn et al. | Generating an implementation of a parallel programming language from a formal semantic definition | |
| JPS63317826A (ja) | シンボリックデバッグ方式 | |
| JP3424596B2 (ja) | シンボル参照情報のキャッシュ方法ならびに装置 | |
| Gutz | An extension of the syntax of a FORTRAN compiler for hybrid computation | |
| Perrott | Software Engineering Tools | |
| JP2786689B2 (ja) | コンパイラ処理方法 | |
| JP3196743B2 (ja) | 意味検査プログラム生成装置、方法及び記録媒体 | |
| JPH05108372A (ja) | コンパイラ最適化処理内容の出力方式 | |
| Isoda | SoftDA—a computer-aided software engineering system |