JPS6277657A - 利用者プログラムの実行履歴情報収集方式 - Google Patents
利用者プログラムの実行履歴情報収集方式Info
- Publication number
- JPS6277657A JPS6277657A JP60218928A JP21892885A JPS6277657A JP S6277657 A JPS6277657 A JP S6277657A JP 60218928 A JP60218928 A JP 60218928A JP 21892885 A JP21892885 A JP 21892885A JP S6277657 A JPS6277657 A JP S6277657A
- Authority
- JP
- Japan
- Prior art keywords
- history information
- instruction
- user program
- execution history
- interrupt
- 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
- 238000000034 method Methods 0.000 claims description 19
- 238000010586 diagram Methods 0.000 description 2
- 238000007796 conventional method Methods 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 238000004088 simulation Methods 0.000 description 1
Landscapes
- Debugging And Monitoring (AREA)
Abstract
(57)【要約】本公報は電子出願前の出願データであるた
め要約のデータは記録されません。
め要約のデータは記録されません。
Description
【発明の詳細な説明】
発明の目的
産業上の利用分野
本発明は、電子計算機システムで実行される利用者プロ
グラムのデバッグなどに使用される実行履歴情報収集方
式に関し、特に実行履歴情報を命令単位の詳細さで収集
できる実行履歴情報収集方式に関する。
グラムのデバッグなどに使用される実行履歴情報収集方
式に関し、特に実行履歴情報を命令単位の詳細さで収集
できる実行履歴情報収集方式に関する。
従来の技術
電子計算機システムで実行される利用者プログラムでは
、デバッグなどの目的からその実行履歴情報を収集する
ことが必要になる。
、デバッグなどの目的からその実行履歴情報を収集する
ことが必要になる。
従来、このような実行履歴情報を収集する方式として、
原始プログラム中の要所要所に実行履歴情報収集用の命
令が挿入されるように原始プログラムを変更する方式が
知られている。
原始プログラム中の要所要所に実行履歴情報収集用の命
令が挿入されるように原始プログラムを変更する方式が
知られている。
他の方式として、プログラムの実行時に制御が渡ると予
想される領域中の命令を履歴情報収集用の命令に書換え
て履歴情報を収集したのち元の命令に戻す方式が知られ
ている。
想される領域中の命令を履歴情報収集用の命令に書換え
て履歴情報を収集したのち元の命令に戻す方式が知られ
ている。
更に他の方式として、利用者プログラムの命令を取り込
んでこれをシュミレートするようなモ二タブログラムを
リンク処理時に一緒にリンクする方式も知られている。
んでこれをシュミレートするようなモ二タブログラムを
リンク処理時に一緒にリンクする方式も知られている。
発明が解決しようとする問題点
上記従来方式のうち原始プログラムを変更する方式では
、デバッグ終了後は原始プログラムから履歴情報収集用
の命令を取り除くために再コンパイル処理を行う必要が
あり、手間がかかるという問題がある。
、デバッグ終了後は原始プログラムから履歴情報収集用
の命令を取り除くために再コンパイル処理を行う必要が
あり、手間がかかるという問題がある。
また、本来の命令を履歴情報収集用の命令に書替える方
式では、制御が渡ると予測した領域にプログラム実行中
の制御の乱れによって制御が渡らなくなると、肝心な履
歴情報が収集できなくなるという問題がある。
式では、制御が渡ると予測した領域にプログラム実行中
の制御の乱れによって制御が渡らなくなると、肝心な履
歴情報が収集できなくなるという問題がある。
さらに、シュミレート用のモニタプログラムをリンクす
る方式では、デバッグ終了後にこれをリンク対象から除
外するために再リンク処理が必要になり、手間がかかる
という問題がある。
る方式では、デバッグ終了後にこれをリンク対象から除
外するために再リンク処理が必要になり、手間がかかる
という問題がある。
発明の構成
問題点を解決するための手段
上記従来技術の問題点を解決する本発明の実行履歴情報
収集方式は、利用者プログラムのロードモジュールを主
記憶装置にロードする際又はこのロードモジュールの作
成の際に命令中に含ませた割込みフラグを実行履歴情報
収集指示に従い選択的にセントさせ、利用者プログラム
の実行に際し命令中の割込みフラグと割込み許可レジス
タが共にセットされている場合には割込みを発生させて
主記憶装置の所定領域に所定のレジスタの内容を退避さ
せ、退避されたレジスタの内容を実行履歴情報として収
集、保存したのちに利用者プログラムへ制御を戻すよう
に構成されている。
収集方式は、利用者プログラムのロードモジュールを主
記憶装置にロードする際又はこのロードモジュールの作
成の際に命令中に含ませた割込みフラグを実行履歴情報
収集指示に従い選択的にセントさせ、利用者プログラム
の実行に際し命令中の割込みフラグと割込み許可レジス
タが共にセットされている場合には割込みを発生させて
主記憶装置の所定領域に所定のレジスタの内容を退避さ
せ、退避されたレジスタの内容を実行履歴情報として収
集、保存したのちに利用者プログラムへ制御を戻すよう
に構成されている。
以下、本発明の作用を実施例と共に詳細に説明する。
実施例
第1図を参照すると、本発明の一実施例に係わる実行履
歴情報収集方式は、利用者プログラムのロードモジュー
ルのロード段階1と、利用者プログラムの実行段階2と
、実行履歴情報収集のための割込み段階3.収集/印字
段階4及び復帰段階5と、割込み許可レジスタ6と、利
用者プログラムのロードモジュールが格納される補助記
憶装置7と、利用者プログラムのロードモジュールがロ
ードきれる主記憶袋W8と、印字出力装置9とから構成
されている。 −まず利用者は、
収集/印字段階4で実行させる実行履歴情報収集/印字
プログラムのロードモジュールを、補助記憶装置7に格
納する。
歴情報収集方式は、利用者プログラムのロードモジュー
ルのロード段階1と、利用者プログラムの実行段階2と
、実行履歴情報収集のための割込み段階3.収集/印字
段階4及び復帰段階5と、割込み許可レジスタ6と、利
用者プログラムのロードモジュールが格納される補助記
憶装置7と、利用者プログラムのロードモジュールがロ
ードきれる主記憶袋W8と、印字出力装置9とから構成
されている。 −まず利用者は、
収集/印字段階4で実行させる実行履歴情報収集/印字
プログラムのロードモジュールを、補助記憶装置7に格
納する。
次に利用者は、ロードモジュール7内の利用者プログラ
ムを主記憶装置8にロードさせるため、第2図のフロー
チャートに例示するロード段階1をローダに実行させる
。
ムを主記憶装置8にロードさせるため、第2図のフロー
チャートに例示するロード段階1をローダに実行させる
。
ロード段階1が開始されると、まず、最初のステップ1
1において、実行履歴情報の収集の指定の有無が判定さ
れる。デバッグのためのテストラン時などにおいて実行
履歴情報の収集が指定されていれば、次のステップ12
において、補助記憶装置7に格納されている実行履歴情
報収集/印字プログラムのロードモジュールが主記憶装
置8の所定領域にロードされる。一方、デバッグの完了
後などにおいて実行履歴情報の収集が指定されていなけ
れば、上記ステップ12はスキップされる。
1において、実行履歴情報の収集の指定の有無が判定さ
れる。デバッグのためのテストラン時などにおいて実行
履歴情報の収集が指定されていれば、次のステップ12
において、補助記憶装置7に格納されている実行履歴情
報収集/印字プログラムのロードモジュールが主記憶装
置8の所定領域にロードされる。一方、デバッグの完了
後などにおいて実行履歴情報の収集が指定されていなけ
れば、上記ステップ12はスキップされる。
次のステップ13において、補助記憶装置7に格納され
ている利用者プログラムのロードモジュールが、主記憶
袋W8にロードされる。ステップ14において、実行履
歴情報の収集の指定の有無が再度判定され、これが指定
されていれば、ステップ15において主記憶装置7内の
利用者プログラムのロードモジュールの最初の命令が読
出される。
ている利用者プログラムのロードモジュールが、主記憶
袋W8にロードされる。ステップ14において、実行履
歴情報の収集の指定の有無が再度判定され、これが指定
されていれば、ステップ15において主記憶装置7内の
利用者プログラムのロードモジュールの最初の命令が読
出される。
ロードモジュール中の命令は、1オペランドの命令につ
いて第3図に例示するように、オペランドのアドレス部
31、命令コード32、割込みフラグ33、インデック
スレジスタ指定部34及びペースレジスタ指定部35か
ら構成されている。
いて第3図に例示するように、オペランドのアドレス部
31、命令コード32、割込みフラグ33、インデック
スレジスタ指定部34及びペースレジスタ指定部35か
ら構成されている。
次のステップ16において、主記憶装置8から読出され
た最初の命令中の割込みフラグ33がオンにセットされ
る。ステップ17において、利用者プログラム中の最終
命令について、その読出しと割込みフラグのセントが終
了したか否かが判定される。終了していない場合には、
ステップ15と16に戻り、次の命令の読出しとその命
令についての割込みフラグのセントが繰り返される。ス
テップ17で利用者プログラム中の最終命令についての
v1込みフラグのセントの終了が判定されるとロード段
階1の処理が終了する。
た最初の命令中の割込みフラグ33がオンにセットされ
る。ステップ17において、利用者プログラム中の最終
命令について、その読出しと割込みフラグのセントが終
了したか否かが判定される。終了していない場合には、
ステップ15と16に戻り、次の命令の読出しとその命
令についての割込みフラグのセントが繰り返される。ス
テップ17で利用者プログラム中の最終命令についての
v1込みフラグのセントの終了が判定されるとロード段
階1の処理が終了する。
次に、制御は主記憶装置8内にロードされている利用プ
ログラムの実行手段2へと移行し、利用プログラム中の
命令が主記憶装置8から順次読出されて実行される。各
命令の実行に先立って、その命令中の割込みフラグ33
と、割込み許可レジスタ6のオン/オフが検査される。
ログラムの実行手段2へと移行し、利用プログラム中の
命令が主記憶装置8から順次読出されて実行される。各
命令の実行に先立って、その命令中の割込みフラグ33
と、割込み許可レジスタ6のオン/オフが検査される。
この割込み許可レジスタ6は、実行履歴情報の収集処理
に専用のものとして設置されており、利用者プログラム
の実行開始に先立ってオンに初期設定されている。
に専用のものとして設置されており、利用者プログラム
の実行開始に先立ってオンに初期設定されている。
デバッグ終了後の実行時などにおいて、命令中の割込み
フラグ33又は割込み許可レジスタ6のいずれかがオフ
であれば、割込み段階3を経ることなく、次の命令が実
行される。これに対して、デバッグ中などにおいて、命
令中の割込みフラグ33と割込み許可レジスタ6が共に
オンであれば、第4図のフローチャートに示すような割
込み段階3、収集/印字段階4及び復帰段階5が順を追
って実行される。
フラグ33又は割込み許可レジスタ6のいずれかがオフ
であれば、割込み段階3を経ることなく、次の命令が実
行される。これに対して、デバッグ中などにおいて、命
令中の割込みフラグ33と割込み許可レジスタ6が共に
オンであれば、第4図のフローチャートに示すような割
込み段階3、収集/印字段階4及び復帰段階5が順を追
って実行される。
最初の割込み段階3が開始されると、ステップ21にお
いて命令中の割込みフラグ33と割込み許可レジスタ6
がリセットされたのち、次のステップ22において、中
央処理装置内のプログラム・カウンタを含む所定のレジ
スタの内容が、主記憶装置8の所定の領域に退避される
。
いて命令中の割込みフラグ33と割込み許可レジスタ6
がリセットされたのち、次のステップ22において、中
央処理装置内のプログラム・カウンタを含む所定のレジ
スタの内容が、主記憶装置8の所定の領域に退避される
。
この後、主記憶装置8内の実行履歴情報収集/印字プロ
グラム従って実行される収集/印字段階4に制御が渡さ
れる。すなわち、ステップ23において、退避されでい
る所定のレジスタの内容が主記憶装置8から読出され、
利用者が指定した形式に編集されたのち実行履歴情報と
して印字出力装置9に出力される。
グラム従って実行される収集/印字段階4に制御が渡さ
れる。すなわち、ステップ23において、退避されでい
る所定のレジスタの内容が主記憶装置8から読出され、
利用者が指定した形式に編集されたのち実行履歴情報と
して印字出力装置9に出力される。
続いて制御は復帰段階5に移行し、ステップ24におい
て、主記憶装置8に退避されていたレジスタの内容が中
央処理装置内の対応のレジスタに復帰させられる。続い
て、ステップ25で割込み許可レジスタ6がセットされ
たのち、最後のステップ26において、利用者プログラ
ム中の割込みを発生させた命令に制御が渡され、実行さ
れる。
て、主記憶装置8に退避されていたレジスタの内容が中
央処理装置内の対応のレジスタに復帰させられる。続い
て、ステップ25で割込み許可レジスタ6がセットされ
たのち、最後のステップ26において、利用者プログラ
ム中の割込みを発生させた命令に制御が渡され、実行さ
れる。
以上、利用者プログラム中の全命令に割込みフラグをセ
ットする構成を例示したが、これを分岐関係の命令など
特定の命令群に限定すること、により実行履歴情報の収
集範囲を適宜な大きさに絞ることもできる。
ットする構成を例示したが、これを分岐関係の命令など
特定の命令群に限定すること、により実行履歴情報の収
集範囲を適宜な大きさに絞ることもできる。
また、実行履歴情報を印字装置に編集・出力する代りに
、そ′のまま一旦主記憶装置に保存しておき、これを利
用者プログラムの実行の終了後に編集・出力する構成と
してもよい。
、そ′のまま一旦主記憶装置に保存しておき、これを利
用者プログラムの実行の終了後に編集・出力する構成と
してもよい。
また、命令中の割込みフラグのセントをローダではなく
、アセンブラやコンパイラに行わせてもよい。
、アセンブラやコンパイラに行わせてもよい。
発明の効果
以上詳細に説明したように、本発明の方式は、機械語命
令単位で実行履歴情報の収集を指定することができるた
め、利用者プログラムの実行中に制御が乱れて異常終了
したときでも、実行履歴情報の保存結果とリンクマツプ
情報およびオブジェクトモジュール・リストに基づき制
御が乱れた点を容易に探索できる。
令単位で実行履歴情報の収集を指定することができるた
め、利用者プログラムの実行中に制御が乱れて異常終了
したときでも、実行履歴情報の保存結果とリンクマツプ
情報およびオブジェクトモジュール・リストに基づき制
御が乱れた点を容易に探索できる。
また、デバッグ終了後においては、ロード段階において
実行履歴情報の収集を指定しないことにより、原始プロ
グラムの再コンパイル、再リンクの処理を行うことなく
デバッグ済みの利用者プログラムをそのまま実行するこ
とができる。
実行履歴情報の収集を指定しないことにより、原始プロ
グラムの再コンパイル、再リンクの処理を行うことなく
デバッグ済みの利用者プログラムをそのまま実行するこ
とができる。
なお、命令語中の割込みフラグのセットをローダではな
く、アセンブラやコンパイラに行わせた場合には、割込
み許可レジスタをオフに初期設定するだけで、デバッグ
済みの利用者プログラムをコンパイルし直すことなくそ
のまま利用することができる。
く、アセンブラやコンパイラに行わせた場合には、割込
み許可レジスタをオフに初期設定するだけで、デバッグ
済みの利用者プログラムをコンパイルし直すことなくそ
のまま利用することができる。
特に、命令中に割込みフラグを含ませたことにより利用
者がこのフラグのセット/リセットを容易に操作でき、
また、割込み後の処理もソフトウェア的に指定できるの
で、融通性のある。割込みプログラムを作成できるとい
う利点もある。
者がこのフラグのセット/リセットを容易に操作でき、
また、割込み後の処理もソフトウェア的に指定できるの
で、融通性のある。割込みプログラムを作成できるとい
う利点もある。
第1図は本発明の一実施例に係わる実行履歴情報収集方
式の全体構成図、第2図は第1図中のロード段階1の手
順を示すフローチャート、第3図は上記実施例における
命令形式を1オペランド命令の場合について例示する概
念図、第4図は第1図中の割込み段階3.収集/印字段
階4及び復帰段階の手順を示すフローチャートである。 1・・利用者プログラムのロード段階、2・・利用者プ
ログラムの実行手段、3・・割込み段階、4・・実行履
歴情報の収集/印字段階、5・・利用者プログラムへの
復帰段階、6・・割込み許可レジスタ、7・・補助記憶
装置、8・・主記憶装置、9・・印字出力装置。
式の全体構成図、第2図は第1図中のロード段階1の手
順を示すフローチャート、第3図は上記実施例における
命令形式を1オペランド命令の場合について例示する概
念図、第4図は第1図中の割込み段階3.収集/印字段
階4及び復帰段階の手順を示すフローチャートである。 1・・利用者プログラムのロード段階、2・・利用者プ
ログラムの実行手段、3・・割込み段階、4・・実行履
歴情報の収集/印字段階、5・・利用者プログラムへの
復帰段階、6・・割込み許可レジスタ、7・・補助記憶
装置、8・・主記憶装置、9・・印字出力装置。
Claims (1)
- 【特許請求の範囲】 利用者プログラムのロードモジュールを主記憶装置にロ
ードする際又はこのロードモジュールの作成の際に、命
令中に含ませた割込みフラグを実行履歴情報収集指示に
従い選択的にセットさせ、主記憶装置上にロードされた
利用者プログラムの実行に際し前記命令中の割込みフラ
グと割込み許可レジスタが共にセットされている場合に
は割込みを発生させて主記憶装置上の所定の領域に所定
のレジスタの内容を退避させ、 この割込みによって退避されたレジスタの内容を実行履
歴情報として収集、保存したのちに利用者プログラムへ
制御を戻すことを特徴とする利用者プログラムの実行履
歴情報収集方式。
Priority Applications (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP60218928A JPS6277657A (ja) | 1985-09-30 | 1985-09-30 | 利用者プログラムの実行履歴情報収集方式 |
Applications Claiming Priority (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP60218928A JPS6277657A (ja) | 1985-09-30 | 1985-09-30 | 利用者プログラムの実行履歴情報収集方式 |
Publications (1)
| Publication Number | Publication Date |
|---|---|
| JPS6277657A true JPS6277657A (ja) | 1987-04-09 |
Family
ID=16727513
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| JP60218928A Pending JPS6277657A (ja) | 1985-09-30 | 1985-09-30 | 利用者プログラムの実行履歴情報収集方式 |
Country Status (1)
| Country | Link |
|---|---|
| JP (1) | JPS6277657A (ja) |
-
1985
- 1985-09-30 JP JP60218928A patent/JPS6277657A/ja active Pending
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| JPH09179752A (ja) | Romカートリッジ用デバッグ方法および装置 | |
| EP0111952B1 (en) | Verification of a processor architecture having a partial instruction set | |
| JP2919302B2 (ja) | Cpuシミュレーション方法 | |
| KR0125605B1 (ko) | 프로그램의 아키덱쳐 변환방법 및 장치와 그 방법 및 장치를 사용하여 프로그램의 동작을 검증하는 방법 및 장치 | |
| JPH08314760A (ja) | プログラム開発支援装置 | |
| JPH0766342B2 (ja) | プログラムテスト装置 | |
| JPS6277657A (ja) | 利用者プログラムの実行履歴情報収集方式 | |
| JP3461185B2 (ja) | ロードモジュールへのソースコード行番号登録方法および装置 | |
| JP4149047B2 (ja) | シミュレータ | |
| JPH09288595A (ja) | 演算処理装置 | |
| JP3077627B2 (ja) | デバッグ方法およびデバッグプログラムを記録する記録媒体 | |
| JP2663895B2 (ja) | Cpuシミュレータ | |
| JP2570119B2 (ja) | ソフトウェアシミュレータ | |
| JP2533532B2 (ja) | オンラインテスト方式 | |
| JPH08320813A (ja) | プログラムシミュレータ装置及びプログラムデバッグ方法 | |
| JPH10222361A (ja) | 計算機等の処理装置におけるromプログラムモニタ装置 | |
| JPS6261130A (ja) | テストカバレツジ自動図示処理方式 | |
| JPH11175352A (ja) | 拡張命令セット・シミュレータ | |
| JP2590159B2 (ja) | 連携テストのための環境設定方法 | |
| JPS635431A (ja) | プログラムパツチ情報の管理方式 | |
| JPH01155448A (ja) | 同一原因診断情報の重複出力防止方式 | |
| JPS63131238A (ja) | 論理シミユレ−タ | |
| JPH08307526A (ja) | 電子交換機のシミュレートシステム | |
| JPH03225533A (ja) | コピーオンライト逆実行チェックポイント方式 | |
| JPH04324525A (ja) | プログラム移植支援装置 |