JPH0756729A - プログラムデバッグシステム - Google Patents

プログラムデバッグシステム

Info

Publication number
JPH0756729A
JPH0756729A JP5198111A JP19811193A JPH0756729A JP H0756729 A JPH0756729 A JP H0756729A JP 5198111 A JP5198111 A JP 5198111A JP 19811193 A JP19811193 A JP 19811193A JP H0756729 A JPH0756729 A JP H0756729A
Authority
JP
Japan
Prior art keywords
program
debugged
variable
key
processing
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
JP5198111A
Other languages
English (en)
Inventor
Eizo Murakami
栄三 村上
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.)
PFU Ltd
Original Assignee
PFU Ltd
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 PFU Ltd filed Critical PFU Ltd
Priority to JP5198111A priority Critical patent/JPH0756729A/ja
Publication of JPH0756729A publication Critical patent/JPH0756729A/ja
Pending legal-status Critical Current

Links

Abstract

(57)【要約】 【目的】本発明は、被デバッグプログラムのデバッグを
スナップショット形式で実行する構成を採るプログラム
デバッグシステムに関し、デバッカ相当のデバッグ処理
を実現可能にすることを目的とする。 【構成】キー値と、被デバッグプログラムで定義する変
数の展開情報とを引数にして被デバッグプログラムから
呼び出されて、端末との対話処理を実行する機能を持つ
関数手段13を用意し、更に、被デバッグプログラムが
キー変数を定義する構成を採り、かつ、関数手段13
は、被デバッグプログラムから呼び出されるときにあっ
て、引数のキー値と、キー変数のキー値とが一致すると
きに対話処理に入って、この対話処理に従って、被デバ
ッグプログラムの処理を終了したり、被デバッグプログ
ラムの処理を続行したり、変数に格納されるデータを指
定の資源に出力したり、キー変数にキー値を代入したり
するように構成する。

Description

【発明の詳細な説明】
【0001】
【産業上の利用分野】本発明は、被デバッグプログラム
のデバッグをスナップショット形式で実行する構成を採
るプログラムデバッグシステムに関し、特に、デバッカ
相当のデバッグ処理を実現可能にするプログラムデバッ
グシステムに関する。
【0002】
【従来の技術】デバッカを用いてアプリケーションプロ
グラムをデバッグする場合、デバッカとアプリケーショ
ンプログラムという2つのプログラムの間での制御の受
け渡しが複雑になるという問題点がある。しかも、オー
プンなオペレーティングシステムでは、実用性のある汎
用的なデバッカが提供されていないのが現状である。
【0003】このようなことを背景にして、スナップシ
ョットによりデバッグを実行するという方法が用いられ
ている。このスナップショットによるデバッグ方法で
は、C言語で説明するならば、アプリケーションプログ
ラムのデバッグ対象箇所にprintf関数の呼び出しを記述
することでプログラム実行中にprintf関数を呼び出す構
成を採って、このprintf関数に従って、ディスプレイや
ファイルに、その呼び出し記述の指定する文字列を出力
してプログラムの進行状況を把握可能とし、また、その
呼び出し記述の指定する変数の値を出力してプログラム
実行途中のメモリ状態を把握可能とすることで、プログ
ラマに対してデバッグに必要となる情報を提供していく
よう処理するものである。
【0004】
【発明が解決しようとする課題】しかしながら、従来の
スナップショットによるデバッグ方法では、printf関数
は、指定されたデータを出力すると、そのままアプリケ
ーションプログラムに復帰していくように構成されてお
り、これから、アプリケーションプログラムは、ループ
に入らない限り、そのまま最後まで処理を実行していく
ことになる。
【0005】これから、プログラマは、事象が発生した
後でしか解析できないという問題点があった。例えば、
ファイルにライトするプログラム記述があって、その前
で、処理を確認したいというような場合があっても、実
際にライトした後でしか解析を実行できないという問題
点があったのである。
【0006】また、printf関数による出力先は、ディス
プレイやファイル等の資源の内のいずれか1つであり、
これから、プログラマは、ファイルのオーバーフロー
や、ディスプレイのメッセージ域のオーバーフローを意
識しなくてはならないという問題点もあった。
【0007】本発明はかかる事情に鑑みてなされたもの
であって、被デバッグプログラムのデバッグをスナップ
ショット形式で実行する構成を採るときにあって、デバ
ッカ相当のデバッグ処理を実現可能にする新たなプログ
ラムデバッグシステムの提供を目的とする。
【0008】
【課題を解決するための手段】図1に本発明の原理構成
を図示する。図中、1は本発明に係るプログラムデバッ
グシステムを具備するデータ処理装置、2はデータ処理
装置1の備える端末である。
【0009】10はデータ処理装置1に展開される被デ
バッグプログラムであって、デバッグ対象となるプログ
ラムであるもの、11はデータ処理装置1に展開される
変数域であって、被デバッグプログラム10で定義する
変数域であるもの、12はデータ処理装置1に展開され
るキー変数域であって、被デバッグプログラム10で定
義する変数域であるもの、13はデータ処理装置1に展
開されて被デバッグプログラム10から呼び出される関
数手段であって、端末2との対話処理を実行する対話手
段14と、対話手段14を起動する起動手段15とを備
えるものである。被デバッグプログラム10は、プログ
ラム中のデバッグ対象箇所にこの関数手段13の呼び出
しを記述する構成を採る。
【0010】
【作用】本発明では、キー値と変数展開情報とを引数に
被デバッグプログラム10から呼び出されると、関数手
段13の備える起動手段15は、キー変数域12に格納
されるキー値が規定値であるのか否かを判断して、規定
値であることを判断するときには対話手段14を起動
し、一方、規定値でないと判断するときには、そのキー
値と引数のキー値とが一致するのか否かを判断して、一
致することを判断するときには対話手段14を起動して
いくとともに、それ以外のときには、被デバッグプログ
ラム10にそのまま復帰していくよう処理する。
【0011】このようにして起動されると、関数手段1
3の備える対話手段14は、端末2を介してプログラマ
と対話することで、変数域11に格納される被デバッグ
プログラム10の格納した変数値を端末2のディスプレ
イ画面等に出力したり、次の停止プログラム位置を設定
すべくキー変数域12にキー値を代入したり、被デバッ
グプログラム10の処理を終了したり、被デバッグプロ
グラム10の処理を続行したりすることで、被デバッグ
プログラム10のデバッグに必要となる情報をプログラ
マに提示していく。
【0012】このように、本発明を用いることで、被デ
バッグプログラム10のデバッグをスナップショット形
式で実行する構成を採るときにあって、プログラマは、
任意のスナップショット位置で被デバッグプログラム1
0のプログラム実行を停止させることができ、そして、
任意のスナップショット位置でのメモリ情報を入手で
き、そして、そのメモリ情報を任意の資源に出力できる
ようになることから、被デバッグプログラム10を効率
的にデバッグできるようになる。
【0013】
【実施例】以下、実施例に従って本発明を詳細に説明す
る。図2に、本発明の一実施例を図示する。図中、10
aはデバッグ対象となるアプリケーションプログラム、
13aはアプリケーションプログラム10aのデバッグ
を実現するために用意されるdbg関数である。
【0014】図3に、このアプリケーションプログラム
10aのプログラム記述の一実施例を図示する。この実
施例のアプリケーションプログラム10aは、におい
て、外部変数a,bを定義し、において、キー変数ke
y(初期値として0 が設定される) を定義し、におい
て、外部変数a,bの展開アドレスを管理する図4
(a)に示すような外部変数テーブルtable1の領域を定
義するとともに値を設定し、において、内部変数m1,
m2,m3,m4 を定義し、において、内部変数m1,m2,
m3,m4の展開アドレスを管理する図4(b)に示すよ
うな内部変数テーブルtable2の領域を定義し、におい
て、この内部変数テーブルtable2の値を設定し、にお
いて、内部変数n1,n2 を定義し、において、内部変
数n1,n2 の展開アドレスを管理する図4(c)に示す
ような内部変数テーブルtable3の領域を定義し、にお
いて、この内部変数テーブルtable3の値を設定してい
る。
【0015】ここで、外部変数とは、アプリケーション
プログラム10aのメイン部分でもサブルーチン部分で
も参照可能となる変数であり、内部変数とは、メイン部
分で定義されるときには、メイン部分でのみ参照可能と
なり、サブルーチン部分で定義されるときには、そのサ
ブルーチン部分でのみ参照可能となる変数である。
【0016】このアプリケーションプログラム10aの
デバッグを実行するために、プログラマは、プログラム
中のデバッグ対象箇所にdbg関数13aの呼び出しを
記述する構成を採るものであり、更に、この各呼び出し
記述に対して、例えば通番のキー値を割り付けるもので
ある。
【0017】このdbg関数13aは、キー値と、外部
/内部変数テーブルの展開アドレスとを引数にしてアプ
リケーションプログラム10aから呼び出されるもので
あって、プログラマと対話することで、アプリケーショ
ンプログラム10aのデバッグ処理を実行する。上述の
例で説明するならば、アプリケーションプログラム10
aは、メイン部分では、 dbg(キー値,table1,table2) に従ってdbg関数13aを呼び出し、サブルーチン部
分では、 dbg(キー値,table1,table3) に従ってdbg関数13aを呼び出していく。
【0018】図5に、dbg関数13aの実行する処理
フローの一実施例を図示する。次に、この処理フローに
従って、dbg関数13aの実行するデバッグ処理につ
いて詳細に説明する。
【0019】dbg関数13aは、アプリケーションプ
ログラム10aから呼び出されると、図5の処理フロー
に示すように、先ず最初に、ステップ1で、キー変数ke
y にゼロ値が設定されているのか否かを判断して、ゼロ
値が設定されていないと判断するときには、ステップ2
に進んで、キー変数key の変数値と引数のキー値とが一
致するのか否かを判断する。
【0020】このステップ1及びステップ2で、キー変
数key の変数値がゼロ値でもなく、引数のキー値とも一
致しないことを判断するときには、そのままアプリケー
ションプログラム10aへ復帰していく。一方、キー変
数key の変数値がゼロ値であることを判断するときと、
ゼロ値ではないものの引数のキー値と一致することを判
断するときには、ステップ3に進んで、プログラマとの
対話処理に入って、プログラマからの入力データを受け
付け、続くステップ4で、この受け付けた入力データの
判断処理を実行する。従って、キー変数key の変数値が
ゼロ値であるときには、無条件に対話処理に入ることに
なる。
【0021】続いて、ステップ5で、ステップ4の判断
処理に従って、入力データとして「exit」が入力さ
れてきたことを判断するときには、プログラマがアプリ
ケーションプログラム10aのプログラム実行終了を指
示していることを意味するので、アプリケーションプロ
グラム10aのプログラム実行を終了して処理を終了す
る。
【0022】一方、続いて、ステップ6で、ステップ4
の判断処理に従って、入力データとして「G」が入力さ
れてきたことを判断するときには、プログラマがアプリ
ケーションプログラム10aへの復帰を指示しているこ
とを意味するので、アプリケーションプログラム10a
へ復帰していく。
【0023】一方、続いて、ステップ7で、ステップ4
の判断処理に従って、入力データとして「S」が入力さ
れてきたことを判断するときには、プログラマがキー変
数key にゼロ値を設定することで、次のdbg関数13
aの呼び出し時にも無条件に対話処理に入ることを指示
していることを意味するので、ステップ8に進んで、キ
ー変数key にゼロ値を設定してからアプリケーションプ
ログラム10aへ復帰していく。
【0024】一方、続いて、ステップ9で、ステップ4
の判断処理に従って、入力データとして「B」が入力さ
れてきたことを判断するときには、プログラマがキー変
数key に新たな変数値を設定することで、次に対話処理
に入るべきdbg関数13aの呼び出し設定を指示して
いることを意味するので、ステップ10に進んで、キー
変数key に入力されてきた変数値を代入してステップ3
に戻る。
【0025】一方、ステップ9で、ステップ4の判断処
理に従って、入力データとして柔術した以外のもの、す
なわち、外部/内部変数の変数値の参照指示が入力され
てきたことを判断するときには、プログラマがその変数
値の参照を指示していることを意味するので、ステップ
11に進んで、入力データの指す変数値を読み出して端
末2のディスプレイ画面に表示してステップ3に戻る。
【0026】例えば、「ep1(4)」と入力されてくると
きには、外部変数テーブルの1番目の変数の4バイトデ
ータを読み出してディスプレイ画面に表示し、また、
「ip2(4)」と入力されてくるときには、内部変数テー
ブルの2番目の変数の4バイトデータを読み出してディ
スプレイ画面に表示するのである。そして、このような
外部/内部変数テーブルのn番目の変数ポインタ指示に
加えてオフセットアドレスが指示されている場合には、
そのオフセットアドレスを加算したアドレスの指すメモ
リ領域のデータを読み出してディスプレイ画面に表示す
るのである。
【0027】このようにして、dbg関数13aは、プ
ログラマと対話しつつ、アプリケーションプログラム1
0aのデバッグに必要となる情報をプログラマに提示し
ていくことで、アプリケーションプログラム10aのデ
バッグ処理を実行していくよう処理することになる。
【0028】図6に、本発明の他の実施例を図示する。
図中、20はジョブ管理プログラムである。この実施例
は、ジョブ管理プログラム20が、アプリケーションプ
ログラム10aの「tpprintf」というプログラム記述に
より呼び出されて、dbg関数13aと同様の対話処理
を実行することでデバッグ処理を実行していくという実
施例を開示している。
【0029】
【発明の効果】以上説明したように、本発明を用いるこ
とで、被デバッグプログラムのデバッグをスナップショ
ット形式で実行する構成を採るときにあって、プログラ
マは、任意のスナップショット位置で被デバッグプログ
ラムのプログラム実行を停止させることができ、そし
て、任意のスナップショット時点でのメモリ情報を入手
でき、そして、そのメモリ情報を任意の資源に出力でき
るようになる。これから、デバッカ相当のデバッグ処理
が実現可能になるものである。
【図面の簡単な説明】
【図1】本発明の原理構成図である。
【図2】本発明の一実施例である。
【図3】アプリケーションプログラムのプログラム記述
の一実施例である。
【図4】変数テーブルの説明図である。
【図5】dbg関数の処理フローの一実施例である。
【図6】本発明の他の実施例である。
【符号の説明】
1 データ処理装置 2 端末 10 被デバッグプログラム 11 変数域 12 キー変数域 13 関数手段 14 対話手段 15 起動手段

Claims (3)

    【特許請求の範囲】
  1. 【請求項1】 被デバッグプログラムのデバッグをスナ
    ップショット形式で実行する構成を採るプログラムデバ
    ッグシステムにおいて、 キー値と、被デバッグプログラムで定義する変数の展開
    情報とを引数にして被デバッグプログラムから呼び出さ
    れて、端末との対話処理を実行する機能を持つ関数手段
    (13)を用意し、更に、被デバッグプログラムがキー変数
    を定義するとともに、プログラム中のデバッグ対象箇所
    に該関数手段(13)の呼び出しを記述する構成を採り、 かつ、上記関数手段(13)は、被デバッグプログラムから
    呼び出されるときにあって、引数のキー値と、上記キー
    変数のキー値とが一致するときに対話処理に入って、該
    対話処理に従って、被デバッグプログラムの処理を終了
    したり、被デバッグプログラムの処理を続行したり、上
    記変数に格納されるデータを指定の資源に出力したり、
    上記キー変数にキー値を代入したりするよう処理するこ
    とを、 特徴とするプログラムデバッグシステム。
  2. 【請求項2】 請求項1記載のプログラムデバッグシス
    テムにおいて、 関数手段(13)は、被デバッグプログラムから呼び出され
    るときにあって、キー変数のキー値が規定値であるとき
    には、引数のキー値と該キー変数のキー値とが一致しな
    い場合にも対話処理に入るよう処理することを、 特徴とするプログラムデバッグシステム。
  3. 【請求項3】 請求項1又は2記載のプログラムデバッ
    グシステムにおいて、 ジョブ管理プログラムが、関数手段(13)の機能を持つよ
    うに構成されることを、 特徴とするプログラムデバッグシステム。
JP5198111A 1993-08-10 1993-08-10 プログラムデバッグシステム Pending JPH0756729A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP5198111A JPH0756729A (ja) 1993-08-10 1993-08-10 プログラムデバッグシステム

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP5198111A JPH0756729A (ja) 1993-08-10 1993-08-10 プログラムデバッグシステム

Publications (1)

Publication Number Publication Date
JPH0756729A true JPH0756729A (ja) 1995-03-03

Family

ID=16385662

Family Applications (1)

Application Number Title Priority Date Filing Date
JP5198111A Pending JPH0756729A (ja) 1993-08-10 1993-08-10 プログラムデバッグシステム

Country Status (1)

Country Link
JP (1) JPH0756729A (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2006500695A (ja) * 2002-09-23 2006-01-05 テレフオンアクチーボラゲット エル エム エリクソン(パブル) ソフトウェアの双方向プロービング

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2006500695A (ja) * 2002-09-23 2006-01-05 テレフオンアクチーボラゲット エル エム エリクソン(パブル) ソフトウェアの双方向プロービング
KR100976371B1 (ko) * 2002-09-23 2010-08-18 텔레포나크티에볼라게트 엘엠 에릭슨(피유비엘) 소프트웨어의 양방향 프로빙
US8020148B2 (en) 2002-09-23 2011-09-13 Telefonaktiebolaget L M Ericsson (Publ) Bi-directional probing and testing of software

Similar Documents

Publication Publication Date Title
US5630049A (en) Method and apparatus for testing software on a computer network
JP2753500B2 (ja) 多重アーキテクチャ環境内で特にコードのデバッグを行う改良したソフトウェア・デバッグ・システムと方法
JPH0644056A (ja) プログラムをロードするための方法
US6901583B1 (en) Method for testing of a software emulator while executing the software emulator on a target machine architecture
JPH0756729A (ja) プログラムデバッグシステム
WO1999024904A1 (en) Apparatus and method for logging information relating to function calls to a function library
JPH02275539A (ja) デバッグ処理方式
JP3424548B2 (ja) 組み込み機器用ソフトウエア論理シミュレータ
JP2788353B2 (ja) タスクトレース方法
Resmerita Fine-grained timed software in Simulink models
JPS61208126A (ja) 被テスト・プログラム実行制御方式
JPH07319730A (ja) テスト・デバッグ方法
JP2006350676A (ja) 組込みシステムのプログラムデバッグ方法
JPH06103107A (ja) プログラムトレース方法
EP1378835B1 (en) Process and system for comfortable debugging of computer programs
JPH04358232A (ja) 情報処理装置の機能試験方法
JPH04324525A (ja) プログラム移植支援装置
JPH0833848B2 (ja) デバッグ処理装置
JPH03141436A (ja) デバッグ装置
JPH0997182A (ja) プログラム変換装置およびデバッグ装置
JPH02284236A (ja) プログラムデバッグ処理装置
JPH04248636A (ja) 複数プログラム制御方式
JPH0253148A (ja) 入出力装置用試験プログラムのデバツグ方法
JPH04333146A (ja) デバッグにおけるプログラムの実行制御方式
JPH0695910A (ja) 異常処理のための対話型デバッグ制御方式