JPH0540653A - デバツグ装置及びデバツグ方法 - Google Patents

デバツグ装置及びデバツグ方法

Info

Publication number
JPH0540653A
JPH0540653A JP3197728A JP19772891A JPH0540653A JP H0540653 A JPH0540653 A JP H0540653A JP 3197728 A JP3197728 A JP 3197728A JP 19772891 A JP19772891 A JP 19772891A JP H0540653 A JPH0540653 A JP H0540653A
Authority
JP
Japan
Prior art keywords
program
memory
debug
breakpoint
real
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
JP3197728A
Other languages
English (en)
Inventor
Tsutomu Ishikawa
勤 石川
Osamu Asai
治 浅井
Takanori Ota
孝徳 太田
Hideki Sato
秀樹 佐藤
Ryokichi Yoshizawa
亮吉 吉澤
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.)
Hitachi Ltd
Hitachi Information and Control Systems Inc
Original Assignee
Hitachi Ltd
Hitachi Process Computer Engineering Inc
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 Hitachi Ltd, Hitachi Process Computer Engineering Inc filed Critical Hitachi Ltd
Priority to JP3197728A priority Critical patent/JPH0540653A/ja
Publication of JPH0540653A publication Critical patent/JPH0540653A/ja
Pending legal-status Critical Current

Links

Landscapes

  • Memory System Of A Hierarchy Structure (AREA)
  • Debugging And Monitoring (AREA)

Abstract

(57)【要約】 【目的】本発明は、コンピュータプログラムの開発,保
守を行なう、計算機システムにおいて、テキストを共有
する共通プログラムに対して、非デバッグプログラムの
実行に影響を与えないデバッグ及び障害解析を実現し、
プログラムの開発効率を向上させることを目的とする。 【構成】本発明は、多重仮想記憶装置、プログラム間で
共有する資源、デバッグプログラム用のページテーブル
105及びブレークポイント設定処理104から成る。

Description

【発明の詳細な説明】
【0001】
【産業上の利用分野】本発明は、プログラムのデバッグ
装置及びデバッグ方法に関し、コンピュータプログラム
の開発,保守の分野に好適である。
【0002】
【従来の技術】多重仮想記憶装置を有する計算機システ
ムのデバッグ装置及びデバッグ方法については、例えば
(情報処理学会 第34回 全国大会 論文集(3S−
4))に示されるものがあり、共通資源にブレークポイ
ントを設定する方式を開示している。
【0003】
【発明が解決しようとする課題】上記従来技術では、非
デバッグプログラムの実行に関する配慮がなかった。
【0004】本発明の目的は、非デバッグプログラムの
実行に影響を与えないデバッグ装置及びデバッグ方法を
提供することにある。
【0005】
【課題を解決するための手段】上記の目的を解決するた
めの本発明の特徴は、第1にデバッグ装置において、共
通資源をプログラム毎にユニークな実メモリに割付け可
能とした点である。第2にデバッグ方法において、共通
資源をプログラム毎にユニークな実メモリに割り付けた
点である。
【0006】
【作用】共通資源用ページテーブル及び実メモリをプロ
グラム毎に有することから、共通資源は、デバッグ対象
プログラム専用に利用することができ、非デバッグプロ
グラムの実行には、影響を与えない。またシステムプロ
グラムによるオーバヘッド時間も、プログラム切り換え
時に発生するページテーブルの切り換え時間だけであ
り、実用上、無視できる範囲である。
【0007】
【実施例】以下、図面を用いて、本発明の実施例を説明
する。
【0008】本デバッグ装置の全体構成図を図2に示
す。本デバッグ装置は、多重仮想記憶装置204と入力
手段201,出力手段202及び演算装置203によ
り、構成する。
【0009】多重仮想記憶装置204について、図3を
用いて説明する。
【0010】仮想記憶装置では、仮想空間301のアド
レス(仮想アドレス)を実空間302のアドレス(実アド
レス)に変換する、変換テーブル303,304(ペー
ジテーブル)を有する。ユーザプログラムを配置するユ
ーザ空間305は、ページテーブルをプログラム毎に複
数面持ち、実メモリをプログラム毎に割り付け、仮想空
間が重なっているように制御し、多重構造を持たせてい
る。プログラムの切り換えは、ページテーブルを切り換
えることにより行なう。一方、プログラム間で共有する
資源を配置する共通空間306は、ページテーブルは一
面だけであり、実メモリを一義的に割り付け、切り換え
は行なわない。
【0011】次に図4を用いて、プログラムのデバッグ
について説明する。
【0012】一般にデバッグ者102は、デバッガ10
3を起動し、デバッガのコマンド401を用いてプログ
ラムのデバッグを行なう。デバッガのコマンドは、デバ
ッグ対象プログラム402に対して、下記のような指示
を行なう。
【0013】1 実行指示 2 ブレークポイント106の設定/解除指示 3 データの参照/設定指示 4 ブレークポイント106(停止箇所)からの継続実
行指示 このうち、本実施例は、ブレークポイント106の設定
/解除指示を行なうコマンドに関する。ここでブレーク
ポイント106とは、デバッグ対象プログラム402を
任意の箇所で停止させる仕組みであり、実際には、デバ
ッグ対象プログラム402のテキスト部分に特殊な命令
を挿入することにより、実現している。デバッグ対象プ
ログラム402が、この命令を実行すると、システムプ
ログラム403に例外404が報告される。システムプ
ログラム403内の例外処理405は、デバッグ対象プ
ログラム402が、ブレークポイント106で停止した
ことを認識し、デバッガ103に対してブレークポイン
トで停止した旨の連絡406を報告する。デバッグ者1
02は、デバッガ103により、停止中のデバッグ対象
プログラムに対して、データの参照/設定指示コマンド
及び、ブレークポイント106からの継続実行指示コマ
ンド等により、デバッグ対象プログラム402の論理を
検証することができる。
【0014】共通プログラムに対するデバッグについ
て、図5を用いて説明する。
【0015】デバッガ103では、テキストを共有する
共通プログラム101のデバッグを行なう場合、共通プ
ログラム用ページテーブル105が、一面だけである場
合は唯一存在する実メモリ501にブレークポイント1
06が設定され、非デバッグプログラムまでもが、ブレ
ークポイント命令を実行し、プログラムが中断してしま
う問題があった。この解決策を、図6を用いて説明す
る。非デバッグプログラム601が呼び出す共通プログ
ラム101内の、ブレークポイント106の命令を実行
すると、システムプログラム403に例外404が、報
告される。システムプログラム403内の例外処理40
5は、該当プログラムが非デバッグプログラムか否かの
判定処理602にて、ブレークポイント命令を実行した
プログラムが、デバッグ対象プログラムである場合、ブ
レークポイントで停止したことを認識する処理603に
て、デバッガ103に対し、ブレークポイントで停止し
た旨の連絡406を報告する。非デバッグプログラムの
場合、ブレークポイント挿入箇所を、ブレークポイント
挿入前の命令に回復処理604にて命令を回復して、回
復した命令を実行する処理605を行ない、実行後、ブ
レークポイントの再設定処理606を行なう。
【0016】この方式は、非デバッグプログラムがプロ
グラム実行中、ブレークポイント命令を実行する毎に、
システムプログラムによる、下記の処理が必要となる。
【0017】1 非デバッグプログラムか否かの判定処
理602 2 ブレークポイントを挿入前の命令に回復する処理6
04 3 回復した命令の実行処理605 4 回復した命令を実行後、ブレークポイントを再設定
する処理606 このため、非デバッグプログラムの実行の際、システム
プログラムによるオーバヘッド時間が、増大する問題が
ある。
【0018】そこで、望ましい共通プログラムのデバッ
グの実施例を図1を用いて説明する。共通プログラム1
01のデバッグを行なう場合、デバッグ者102はデバ
ッガ103を起動し、デバッガ103は共通プログラム
101に対して、ブレークポイント設定処理104に
て、ブレークポイントの設定を要求する。ブレークポイ
ント設定処理104は、共通プログラム用ページテーブ
ル105を操作し、ブレークポイント106を設定す
る。
【0019】ブレークポイント設定処理104の詳細
を、図7を用いて説明する。デバッガ103はブレーク
ポイント設定処理104を呼び出す際、ブレークポイン
トを設定する仮想アドレス701を指定する。ブレーク
ポイント設定処理104は、指定された仮想アドレスの
判定処理702にて、アドレスが共通空間に含まれる場
合、デバッグ対象プログラム用の実メモリ707及び、
デバッグ対象プログラム用のページテーブル708を、
確保する処理703を行ない、ページテーブル設定処理
704にて、デバッグ対象プログラム用の実メモリ70
7のアドレスをページテーブルエントリ709に設定す
る。ここで、この実メモリ及びページテーブルは、非デ
バッグプログラム用実メモリ710及び、非デバッグプ
ログラム用ページテーブル711とは、別に確保するも
のである。
【0020】更に、非デバッグプログラム用実メモリ7
10のうち、ブレークポイント挿入アドレスを含むペー
ジのメモリ内容712を、デバッグ対象プログラム用に
確保した実メモリ707に複写処理705を行ない、ブ
レークポイント設定処理706にて、ブレークポイント1
06を設定する。これにより、ブレークポイント106
は、デバッグ対象プログラム用の実メモリ707だけに
設定され、非デバッグプログラム用実メモリ710のう
ち、ブレークポイント挿入アドレスを含むページのメモ
リ内容712は、変更されないため、非デバッグプログ
ラムの実行には、影響を与えない。
【0021】尚、本デバッグ装置及びデバッグ方法は、
プログラムの障害解析にもそのまま適用することができ
る。
【0022】次に本発明を共有メモリに適用した場合の
実施例を挙げる。共有メモリは、プログラム間の連絡等
を行なうためのものであり、共通空間に配置する。共有
メモリを使用しているプログラムの障害解析では、共有
メモリの内容を解析することが有効であるが、共有メモ
リは、プログラム間で共通な資源であるため、異常が発
生した時点のメモリ内容が、保存されている保証がな
い。
【0023】そこで、異常発生時点のメモリ内容を保存
する方法を図8を用いて説明する。ユーザプログラム8
01を実行中、異常発生箇所802にて異常が発生した
時、システムはあらかじめ登録しておいた異常処理ルー
チン803を起動する。このルーチンでは、ユーザプロ
グラム801で異常が発生した直後の共有メモリ804
の内容を保存すべく、先のブレークポイント設定処理と
同様、共有メモリ804に対するユ−ザプログラム用実
メモリ806及びユ−ザプログラム用ページテーブル8
07を確保し、共有メモリ804をユ−ザプログラム用
実メモリ806に割り付けることにより、共有メモリ8
04の内容を保存する。具体的には、共有メモリの内容
を保存するため、実メモリ確保処理703にてユ−ザプ
ログラム用実メモリ806を確保し、ページテーブル設
定処理704にてユ−ザプログラム用ページテーブル8
07のペ−ジテーブルエントリ808に確保した実メモ
リ806のアドレスを、設定する。その後、実メモリの
複写処理705にて共有メモリ用の実メモリの内容80
9を確保した実メモリ806に複写し保存する。更にこ
のデータをデータの保存処理805にて補助記憶装置8
10に保存することにより、後にデバッガ103を使っ
て、異常発生時点の共有メモリ内容を参照しながら、異
常原因の解析を行なうことができる。
【0024】
【発明の効果】本発明により、非デバッグプログラムの
実行に影響を与えないデバッグ及び障害解析が可能とな
り、コンピュータプログラムの開発効率を向上させる効
果がある。
【図面の簡単な説明】
【図1】本発明の実施例1に関する図である。
【図2】デバッグ装置の構成に関する図である。
【図3】多重仮想記憶装置に関する図である。
【図4】デバッグに関する図である。
【図5】共通プログラムに対するデバッグ例である。
【図6】比較例に関する図である。
【図7】図1の詳細を示す図である。
【図8】本発明の実施例2に関する図である。
【符号の説明】
101…共通プログラム、102…デバッグ者、103
…デバッガ、104…ブレークポイント設定処理、10
5…共通プログラム用ページテーブル、106…ブレー
クポイント、201…入力手段、202…出力手段、2
03…演算装置、204…多重仮想記憶装置、301…
仮想空間、302…実空間、303…ユーザ空間用ペー
ジテーブル、304…共通空間用ページテーブル、30
5…ユーザ空間、306…共通空間、401…コマン
ド、402…デバッグ対象プログラム、403…システ
ムプログラム、404…例外、405…例外処理、40
6…ブレークポイントで停止した旨の連絡、501…実
メモリ、601…非デバッグプログラム、602…非デ
バッグプログラムか否かの判定処理、603…ブレーク
ポイントで停止したことを認識、604…ブレークポイ
ント挿入前の命令へ回復処理、605…回復した命令の
実行処理、606…ブレークポイントの再設定処理、7
01…ブレークポイントを設定する仮想アドレス、70
2…指定アドレスの判定処理、703…実メモリ確保処
理、704…ページテーブル設定処理、705…実メモ
リの複写処理、706…ブレークポイント設定処理、7
07…デバッグ対象プログラム用実メモリ、708…デ
バッグ対象プログラム用ページテーブル、709…デバ
ッグ対象プログラム用ページテーブルエントリ、710
…非デバッグプログラム用実メモリ、711…非デバッ
グプログラム用ページテーブル、712…ブレークポイ
ント設定アドレスを含むページのメモリ内容、801…ユ
ーザプログラム、802…異常発生個所、803…異常
処理ルーチン、804…共有メモリ、805…デ−タの保
存処理、806…ユ−ザプログラム用実メモリ、807
…ユ−ザプログラム用ページテーブル、808…ユ−ザ
プログラム用ページテーブルエントリ、809…共有メ
モリ用実メモリ、810…補助記憶装置。
───────────────────────────────────────────────────── フロントページの続き (72)発明者 浅井 治 茨城県日立市大みか町五丁目2番1号 日 立プロセスコンピユータエンジニアリング 株式会社内 (72)発明者 太田 孝徳 茨城県日立市大みか町五丁目2番1号 日 立プロセスコンピユータエンジニアリング 株式会社内 (72)発明者 佐藤 秀樹 茨城県日立市大みか町五丁目2番1号 株 式会社日立製作所大みか工場内 (72)発明者 吉澤 亮吉 茨城県日立市大みか町五丁目2番1号 株 式会社日立製作所大みか工場内

Claims (2)

    【特許請求の範囲】
  1. 【請求項1】多重仮想記憶装置及び、プログラム間で共
    有する共通資源を有するものにおいて、共通資源に対す
    る仮想アドレスから実アドレスに変換する対応表を、プ
    ログラム毎に設け、この対応表を操作し、共通資源をプ
    ログラム毎にユニークな実メモリに割り付け可能とする
    ことを特徴とするデバッグ装置。
  2. 【請求項2】多重仮想記憶装置及び、プログラム間で共
    有する共通資源を有するもののデバッグ方法において、
    共通資源に対する仮想アドレスから実アドレスに変換す
    る対応表をプログラム毎に設け、入力に応じて、この対
    応表を操作し、共通資源をプログラム毎にユニークな実
    メモリに割り付けることを特徴とするデバッグ方法。
JP3197728A 1991-08-07 1991-08-07 デバツグ装置及びデバツグ方法 Pending JPH0540653A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP3197728A JPH0540653A (ja) 1991-08-07 1991-08-07 デバツグ装置及びデバツグ方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP3197728A JPH0540653A (ja) 1991-08-07 1991-08-07 デバツグ装置及びデバツグ方法

Publications (1)

Publication Number Publication Date
JPH0540653A true JPH0540653A (ja) 1993-02-19

Family

ID=16379357

Family Applications (1)

Application Number Title Priority Date Filing Date
JP3197728A Pending JPH0540653A (ja) 1991-08-07 1991-08-07 デバツグ装置及びデバツグ方法

Country Status (1)

Country Link
JP (1) JPH0540653A (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2012173804A (ja) * 2011-02-17 2012-09-10 Mitsubishi Electric Corp 共有メモリデバッグ装置及びプログラム

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2012173804A (ja) * 2011-02-17 2012-09-10 Mitsubishi Electric Corp 共有メモリデバッグ装置及びプログラム

Similar Documents

Publication Publication Date Title
JP2765411B2 (ja) 仮想計算機方式
US4819234A (en) Operating system debugger
JPH0540653A (ja) デバツグ装置及びデバツグ方法
JPH0581070A (ja) プログラマブルコントローラ、およびプログラマブルコントローラにおけるユーザプログラム実行方法
JPH0250228A (ja) デバッグ処理装置
JP3339708B2 (ja) イベント記録方式
JPH0675957A (ja) 編集中障害の復旧機構
KR100208268B1 (ko) 전전자 교환기에 있어서 오류 정보 출력 방법
JP2659366B2 (ja) デバッグ方法及びその装置
JPH0395638A (ja) デバッグ装置
JP3159155B2 (ja) プログラムのデバッグ方法および装置
JPH0695910A (ja) 異常処理のための対話型デバッグ制御方式
JP2697230B2 (ja) デバッグ支援装置
JP2007213396A (ja) デバッグシステム、オペレーションシステム、デバッグ方法、プログラム
JPH0229833A (ja) 保守診断方式
JPH08314753A (ja) プログラムデバック装置及びデバッグ方法
JPS6116338A (ja) 仮想計算機システムにおける割込み処理方式
JPH0816431A (ja) 利用者プログラムのデバッグ処理システム
JPS605347A (ja) 複数プロセツサ用スタテイツクトレ−ス装置
JPS59202548A (ja) デバツグ装置
JPS60254251A (ja) デバツク方式
JPS60142428A (ja) エミユレ−シヨン方式
JPS58225441A (ja) 割込み制御方式
JPH0310339A (ja) 関数ステップ機能を有するデバッグ方法
JPH11327954A (ja) 割込み処理方法およびプログラム処理装置