JPH03294934A - 高級プログラム言語用デバッガ - Google Patents
高級プログラム言語用デバッガInfo
- Publication number
- JPH03294934A JPH03294934A JP2096350A JP9635090A JPH03294934A JP H03294934 A JPH03294934 A JP H03294934A JP 2096350 A JP2096350 A JP 2096350A JP 9635090 A JP9635090 A JP 9635090A JP H03294934 A JPH03294934 A JP H03294934A
- Authority
- JP
- Japan
- Prior art keywords
- execution
- debugger
- program
- source program
- process number
- 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 abstract description 84
- 230000006870 function Effects 0.000 claims description 18
- 230000002093 peripheral effect Effects 0.000 claims description 9
- 238000001514 detection method Methods 0.000 claims description 8
- FFBHFFJDDLITSX-UHFFFAOYSA-N benzyl N-[2-hydroxy-4-(3-oxomorpholin-4-yl)phenyl]carbamate Chemical compound OC1=C(NC(=O)OCC2=CC=CC=C2)C=CC(=C1)N1CCOCC1=O FFBHFFJDDLITSX-UHFFFAOYSA-N 0.000 description 4
- 238000010586 diagram Methods 0.000 description 4
- 230000000694 effects Effects 0.000 description 2
- 238000007796 conventional method Methods 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
Landscapes
- Debugging And Monitoring (AREA)
Abstract
(57)【要約】本公報は電子出願前の出願データであるた
め要約のデータは記録されません。
め要約のデータは記録されません。
Description
【発明の詳細な説明】
〔発明の目的〕
(産業上の利用分野)
本発明は高級プログラム言語用デバッガに関し、特に、
並列処理プログラム用のプロセスに着目した実行履歴を
ソースプログラムで表示する高級プログラム言語用デバ
ッガに関する。
並列処理プログラム用のプロセスに着目した実行履歴を
ソースプログラムで表示する高級プログラム言語用デバ
ッガに関する。
(従来の技術)
従来の高級プログラム言語には並列処理機能がないので
、並列処理プログラムを記述する場合、オペレーティン
グ・システムが提供している機能を使用していた。高級
プログラム言語用のデバッガは、デバッグの対象となる
高級プログラム言語の機能に依存しているため、デバッ
ガの機能には並列処理機能はなかった。
、並列処理プログラムを記述する場合、オペレーティン
グ・システムが提供している機能を使用していた。高級
プログラム言語用のデバッガは、デバッグの対象となる
高級プログラム言語の機能に依存しているため、デバッ
ガの機能には並列処理機能はなかった。
ところで、最近、高級プログラム言語の中に、言語機能
に並列処理機能を持つ言語が開発されている。そこで、
高級プログラム言語用デバッガに並列処理機能を持たせ
ているが、この並列処理機能を持つ高級プログラム言語
用のデバッガにおいては、並列処理プログラムのデバッ
グのデバッグ機能は、どのプロセスが走行しているか、
停止しているか等のプロセスの状態を表示する機能にと
どまっている。
に並列処理機能を持つ言語が開発されている。そこで、
高級プログラム言語用デバッガに並列処理機能を持たせ
ているが、この並列処理機能を持つ高級プログラム言語
用のデバッガにおいては、並列処理プログラムのデバッ
グのデバッグ機能は、どのプロセスが走行しているか、
停止しているか等のプロセスの状態を表示する機能にと
どまっている。
また、従来の高級プログラム言語用デバッガを用いて、
並列処理プログラムの実行履歴をトレースする場合、特
定プロセスのトレース方法は、以下の2通りである。
並列処理プログラムの実行履歴をトレースする場合、特
定プロセスのトレース方法は、以下の2通りである。
(1)デバッガを使用せず全プロセスの実行履歴を出力
した後、試験者が人手で特定プロセスのトレースを行う
。
した後、試験者が人手で特定プロセスのトレースを行う
。
(2)デバッガを使用して、全プロセスの実行履歴(ソ
ースプログラム)を見ながら、試験者が特定プロセスを
認識して、特定プロセスをトレースする。
ースプログラム)を見ながら、試験者が特定プロセスを
認識して、特定プロセスをトレースする。
第3図(blは従来の高級プログラム言語用デバッガを
用いて、並列処理プログラムの実行履歴をトレースする
場合の並列処理プログラムの実行履歴の表示状態を示す
ものである。このように、従来は全プロセスの実行履歴
が出力される。
用いて、並列処理プログラムの実行履歴をトレースする
場合の並列処理プログラムの実行履歴の表示状態を示す
ものである。このように、従来は全プロセスの実行履歴
が出力される。
(発明が解決しようとする課題)
ところが、従来の高級プログラム言語用デバッガを用い
て、並列処理プログラムの実行履歴をトレースする場合
、並列処理プログラムの実行履歴は全プロセスに渡って
表示されるので、次のような問題が生じる。
て、並列処理プログラムの実行履歴をトレースする場合
、並列処理プログラムの実行履歴は全プロセスに渡って
表示されるので、次のような問題が生じる。
■ 一般にプロセスの数は非常に多いことから全プロセ
スに関する情報量が膨大になる。
スに関する情報量が膨大になる。
■ 同一ソースプログラムでも異なるプロセスとして実
行することから、ソースプログラムだけを見ても、特定
プロセスと識別が困難である。
行することから、ソースプログラムだけを見ても、特定
プロセスと識別が困難である。
本発明は上記従来技術の欠点を解消することを課題とし
、その目的とするところは、多重のプロセスが実行する
並列処理プログラムのデバッグにおいて、人手により時
間を書けていた行程を、自動化し、特定プロセスに着目
した実行過程をソースプログ久ムで、プログラムを実行
しながら見ることにより、プログラムの誤りを少ない時
間で発見できるようにすることができる高級プログラム
言語用デバッガを提供することにある。
、その目的とするところは、多重のプロセスが実行する
並列処理プログラムのデバッグにおいて、人手により時
間を書けていた行程を、自動化し、特定プロセスに着目
した実行過程をソースプログ久ムで、プログラムを実行
しながら見ることにより、プログラムの誤りを少ない時
間で発見できるようにすることができる高級プログラム
言語用デバッガを提供することにある。
(課題を解決するための手段)
上記目的を達成する本発明は、言語機能に並列処理機能
を持つ高級プログラム言語のデバッガであって、ソース
プログラムの表示部と、現在走行中のプロセス番号記憶
部と、並列プログラムの実行の停止を検出する実行停止
検出部と、実行停止したプロセス番号と指定されたプロ
セス番号を比較するプロセス比較部と、実行停止したプ
ロセス番号と指定されたプロセス番号が同じならば、実
行停止点の周辺ソースプログラムを前記表示部に表示し
た後にコマンド待ち状態とし、プロセス番号が異なれば
、実行停止点の周辺ソースプログラムを表示せずにその
まま実行を継続させ、実行停止点でこの処理を繰り返す
実行制御部とを備え、多重のプログラムが並列に実行す
る並列処理プログラムのデバッグにおいて、指定したプ
ロセスの実行履歴をソースプログラムで表示し、他のプ
ロセスの実行履歴に対応するソースプログラムは表示し
ないソースレベルの実行トレースが行えることを特徴と
している。
を持つ高級プログラム言語のデバッガであって、ソース
プログラムの表示部と、現在走行中のプロセス番号記憶
部と、並列プログラムの実行の停止を検出する実行停止
検出部と、実行停止したプロセス番号と指定されたプロ
セス番号を比較するプロセス比較部と、実行停止したプ
ロセス番号と指定されたプロセス番号が同じならば、実
行停止点の周辺ソースプログラムを前記表示部に表示し
た後にコマンド待ち状態とし、プロセス番号が異なれば
、実行停止点の周辺ソースプログラムを表示せずにその
まま実行を継続させ、実行停止点でこの処理を繰り返す
実行制御部とを備え、多重のプログラムが並列に実行す
る並列処理プログラムのデバッグにおいて、指定したプ
ロセスの実行履歴をソースプログラムで表示し、他のプ
ロセスの実行履歴に対応するソースプログラムは表示し
ないソースレベルの実行トレースが行えることを特徴と
している。
(作用)
この高級プログラム言語用デバッガによれば、並列処理
を有する被デバツグプログラムが試験者が設定した実行
停止点(ブレークポイント)まで達した時、デバッガが
、現在走行しているプロセスの識別番号を見て実行を継
続するかどうかの判断が行われ、実行停止したプロセス
番号と指定されたプロ七不番号が同じならば、実行停止
点の周辺ソースプログラムを前記表示部に表示した後に
コマンド待ち状態とし、プロセス番号が異なれば、実行
停止点の周辺ソースプログラムを表示せずにそのまま実
行を継続させ、実行停止点でこの処理が繰り返される。
を有する被デバツグプログラムが試験者が設定した実行
停止点(ブレークポイント)まで達した時、デバッガが
、現在走行しているプロセスの識別番号を見て実行を継
続するかどうかの判断が行われ、実行停止したプロセス
番号と指定されたプロ七不番号が同じならば、実行停止
点の周辺ソースプログラムを前記表示部に表示した後に
コマンド待ち状態とし、プロセス番号が異なれば、実行
停止点の周辺ソースプログラムを表示せずにそのまま実
行を継続させ、実行停止点でこの処理が繰り返される。
従来の技術とは、この判断処理を設定したことが異なる
。
。
(実施例)
以下、この発明を実施例により図面を参照しつつ詳細に
説明する。
説明する。
第1図は本発明の高級言語プログラムのデバッガ4の構
成を示すものである。この実施例では、デバッガ4は計
算機3に内蔵されており、計算機3にはデイスプレィ(
表示器)lと入力用のキーボード2が備えられている。
成を示すものである。この実施例では、デバッガ4は計
算機3に内蔵されており、計算機3にはデイスプレィ(
表示器)lと入力用のキーボード2が備えられている。
また、計算機3の中にはデバッガ4の他にソースプログ
ラム12と実行停止点を格納するロードモジュール13
が備えられている。
ラム12と実行停止点を格納するロードモジュール13
が備えられている。
デバッガ4にはこの実施例では、コマンド解析部5、ブ
レークポイント設定解除部6、実行停止検出部7、実行
制御部8、現在走行中のプロセス番号の記憶部9、ソー
スプログラムの表示部10、およびプロセス比較部11
が備えられている。このうち、現在走行中のプロセス番
号記憶部9と、プロセス比較部11が、デバッガ4に並
列処理機能を持たせるために従来のデバッガ4に追加し
た機能である。そして、実行停止検出部7は並列プログ
ラムの実行の停止を検出する機能を有し、プロセス比較
部11は実行停止したプロセス番号と指定されたプロセ
ス番号を比較する機能を有し、実行制御部8は実行停止
したプロセス番号と指定されたプロセス番号が同じなら
ば、実行停止点の周辺ソースプログラムを前記表示部に
表示した後にコマンド待ち状態とし、プロセス番号が異
なれば、実行停止点の周辺ソースプログラムを表示せず
にそのまま実行を継続させ、実行停止点でこの処理を繰
り返す機能を有する。
レークポイント設定解除部6、実行停止検出部7、実行
制御部8、現在走行中のプロセス番号の記憶部9、ソー
スプログラムの表示部10、およびプロセス比較部11
が備えられている。このうち、現在走行中のプロセス番
号記憶部9と、プロセス比較部11が、デバッガ4に並
列処理機能を持たせるために従来のデバッガ4に追加し
た機能である。そして、実行停止検出部7は並列プログ
ラムの実行の停止を検出する機能を有し、プロセス比較
部11は実行停止したプロセス番号と指定されたプロセ
ス番号を比較する機能を有し、実行制御部8は実行停止
したプロセス番号と指定されたプロセス番号が同じなら
ば、実行停止点の周辺ソースプログラムを前記表示部に
表示した後にコマンド待ち状態とし、プロセス番号が異
なれば、実行停止点の周辺ソースプログラムを表示せず
にそのまま実行を継続させ、実行停止点でこの処理を繰
り返す機能を有する。
次に、以上のように構成されたデバッガ4の動作を第2
図を用いて説明するが、この図は以上説明した実行停止
検出部7、実行制御部8、現在走行中のプロセス番号の
記憶部9、ソースプログラムの表示部10、およびプロ
セス比較部11の機能的な接続を示すより詳細なブロッ
ク図である。
図を用いて説明するが、この図は以上説明した実行停止
検出部7、実行制御部8、現在走行中のプロセス番号の
記憶部9、ソースプログラムの表示部10、およびプロ
セス比較部11の機能的な接続を示すより詳細なブロッ
ク図である。
図に示すように、実行制御部8は実行停止検出部7とソ
ースプログラムの表示部10.およびプロセス比較部1
1に接続してこれらを制御し、プロセス比較部11には
現在走行中のプロセス番号の記憶部9からの信号と、プ
ロセス番号と、実行停止検出部7からの信号が入力され
るようになっている。
ースプログラムの表示部10.およびプロセス比較部1
1に接続してこれらを制御し、プロセス比較部11には
現在走行中のプロセス番号の記憶部9からの信号と、プ
ロセス番号と、実行停止検出部7からの信号が入力され
るようになっている。
従って、デバッガ4は、多重のプログラムが並列に実行
する並列処理プログラム(例えば、多重プロセスが走行
している交換・通信用プログラム)のデバッグにおいて
、並列処理を有する被デバツグプログラムが試験者が設
定した実行停止点(ブレークポイント)まで達した時、
現在走行しているプロセスの識別番号を見て実行を継続
するかどうかの判断を行い、並列プログラムの実行の停
止を検出すると、実行停止したプロセス番号と指定され
たプロセス番号を比較して、同じならば、実行停止点の
周辺ソースプログラムを前記表示部に表示した後にコマ
ンド待ち状態とする。なお、この時点で、変数出力コマ
ンドを用いれば、実行停止点での変数の内容等をチエツ
クできる。一方、プロセス番号が異なれば、実行停止点
の周辺ソースプログラムを表示せずにそのまま実行を継
続させ、実行停止点でこの処理を繰り返す。
する並列処理プログラム(例えば、多重プロセスが走行
している交換・通信用プログラム)のデバッグにおいて
、並列処理を有する被デバツグプログラムが試験者が設
定した実行停止点(ブレークポイント)まで達した時、
現在走行しているプロセスの識別番号を見て実行を継続
するかどうかの判断を行い、並列プログラムの実行の停
止を検出すると、実行停止したプロセス番号と指定され
たプロセス番号を比較して、同じならば、実行停止点の
周辺ソースプログラムを前記表示部に表示した後にコマ
ンド待ち状態とする。なお、この時点で、変数出力コマ
ンドを用いれば、実行停止点での変数の内容等をチエツ
クできる。一方、プロセス番号が異なれば、実行停止点
の周辺ソースプログラムを表示せずにそのまま実行を継
続させ、実行停止点でこの処理を繰り返す。
このような構造になっているので、特定プロセスに関す
る実行停止点の周辺ソースプログラムだけ表示できる。
る実行停止点の周辺ソースプログラムだけ表示できる。
そして、指定したプロセスの実行履歴をソースプログラ
ムで表示し、他のプロセスの実行履歴に対応するソース
プログラムは表示しないソースレベルの実行トレースが
行えるなお、ロードモジュール13の中の実行停止点を
、ソースプログラム12の各行に対応する箇所に設定し
、本発明を適用すれば、特定プロセスに着目した1行毎
のステップ実行が可能となる。
ムで表示し、他のプロセスの実行履歴に対応するソース
プログラムは表示しないソースレベルの実行トレースが
行えるなお、ロードモジュール13の中の実行停止点を
、ソースプログラム12の各行に対応する箇所に設定し
、本発明を適用すれば、特定プロセスに着目した1行毎
のステップ実行が可能となる。
ここで、本発明の高級プログラム言語用デバッガの効果
を第3図を用いて説明するが、比較のために、第3図(
alに本発明による実行履歴表示を、第3図(b)に従
来の実行履歴表示を示し、単純にデバッガでソースプロ
グラムのステップ実行を行った場合を比較する。
を第3図を用いて説明するが、比較のために、第3図(
alに本発明による実行履歴表示を、第3図(b)に従
来の実行履歴表示を示し、単純にデバッガでソースプロ
グラムのステップ実行を行った場合を比較する。
本発明の高級プログラム言語用デバッガによれば、第3
図(a)に示すように、プロセス1をトレースする場合
、S 1 +84 +56ステツプでよく、プロセス1
の識別も自動的に行なわれる。一方、従来方式では、第
3図(blに示すように、プロセス1をトレースする場
合、S1+S2+S3+S4+S5+S6ステツプ見な
ければいけない。この作業に付随して従来はプロセス1
の識別に時間を要するが、本発明ではこれらの欠点を解
消し、見るのはS1+84+86ステツプでよく〈プロ
セス1の識別も自動的に行うことができる。このように
、本発明では特定プロセスの識別が自動化され、特定プ
ロセスに関する情報のみ見ることができるので効率のよ
いデバッグが可能となる。
図(a)に示すように、プロセス1をトレースする場合
、S 1 +84 +56ステツプでよく、プロセス1
の識別も自動的に行なわれる。一方、従来方式では、第
3図(blに示すように、プロセス1をトレースする場
合、S1+S2+S3+S4+S5+S6ステツプ見な
ければいけない。この作業に付随して従来はプロセス1
の識別に時間を要するが、本発明ではこれらの欠点を解
消し、見るのはS1+84+86ステツプでよく〈プロ
セス1の識別も自動的に行うことができる。このように
、本発明では特定プロセスの識別が自動化され、特定プ
ロセスに関する情報のみ見ることができるので効率のよ
いデバッグが可能となる。
以上説明したように、本発明では、多重に走行する並列
処理プログラムの中で、注目したい特定プロセスの実行
履歴をソースプログラムで自動的に見ることができるの
で、並列処理プログラムのデバッグにおいて、膨大な情
報を見ることなく、時間をかけずに行える利点がある。
処理プログラムの中で、注目したい特定プロセスの実行
履歴をソースプログラムで自動的に見ることができるの
で、並列処理プログラムのデバッグにおいて、膨大な情
報を見ることなく、時間をかけずに行える利点がある。
第1図は本発明の高級プログラム言語用デバッガの構成
を示すブロック図、 第2図は第1図の高級プログラム言語用デバッガの特定
プロセストレースを説明する図、第3図(alは本発明
の高級プログラム言語用デバッガによる実行履歴表示を
示し、 第3図(b)は従来の実行履歴表示を示すものである。 4・・・デバッガ、 7・・・実行停止検出部、 8・・・実行制御部、 9・・・現在走行中のプロセス番号の記憶部、10・−
・ソースプログラム表示部、 11・・・プロセス比較部、 12・・・ソースプログラム、 13・・・ロードモジュール。
を示すブロック図、 第2図は第1図の高級プログラム言語用デバッガの特定
プロセストレースを説明する図、第3図(alは本発明
の高級プログラム言語用デバッガによる実行履歴表示を
示し、 第3図(b)は従来の実行履歴表示を示すものである。 4・・・デバッガ、 7・・・実行停止検出部、 8・・・実行制御部、 9・・・現在走行中のプロセス番号の記憶部、10・−
・ソースプログラム表示部、 11・・・プロセス比較部、 12・・・ソースプログラム、 13・・・ロードモジュール。
Claims (1)
- 【特許請求の範囲】 言語機能に並列処理機能を持つ高級プログラム言語のデ
バッガであって、 ソースプログラムの表示部と、 現在走行中のプロセス番号記憶部と、 並列プログラムの実行の停止を検出する実行停止検出部
と、 実行停止したプロセス番号と指定されたプロセス番号を
比較するプロセス比較部と、 実行停止したプロセス番号と指定されたプロセス番号が
同じならば、実行停止点の周辺ソースプログラムを前記
表示部に表示した後にコマンド待ち状態とし、プロセス
番号が異なれば、実行停止点の周辺ソースプログラムを
表示せずにそのまま実行を継続させ、実行停止点でこの
処理を繰り返す実行制御部とを備え、 多重のプログラムが並列に実行する並列処理プログラム
のデバッグにおいて、指定したプロセスの実行履歴をソ
ースプログラムで表示し、他のプロセスの実行履歴に対
応するソースプログラムは表示しないソースレベルの実
行トレースが行えることを特徴とする高級プログラム言
語用デバッガ。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2096350A JPH03294934A (ja) | 1990-04-13 | 1990-04-13 | 高級プログラム言語用デバッガ |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2096350A JPH03294934A (ja) | 1990-04-13 | 1990-04-13 | 高級プログラム言語用デバッガ |
Publications (1)
Publication Number | Publication Date |
---|---|
JPH03294934A true JPH03294934A (ja) | 1991-12-26 |
Family
ID=14162555
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2096350A Pending JPH03294934A (ja) | 1990-04-13 | 1990-04-13 | 高級プログラム言語用デバッガ |
Country Status (1)
Country | Link |
---|---|
JP (1) | JPH03294934A (ja) |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2006350676A (ja) * | 2005-06-16 | 2006-12-28 | Hitachi Software Eng Co Ltd | 組込みシステムのプログラムデバッグ方法 |
JP2007004516A (ja) * | 2005-06-24 | 2007-01-11 | Hitachi Software Eng Co Ltd | 組込みシステムのプログラムデバッグ方法 |
US7642112B2 (en) | 2004-09-09 | 2010-01-05 | Canon Kabushiki Kaisha | Method of manufacturing bonded substrate stack |
-
1990
- 1990-04-13 JP JP2096350A patent/JPH03294934A/ja active Pending
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7642112B2 (en) | 2004-09-09 | 2010-01-05 | Canon Kabushiki Kaisha | Method of manufacturing bonded substrate stack |
JP2006350676A (ja) * | 2005-06-16 | 2006-12-28 | Hitachi Software Eng Co Ltd | 組込みシステムのプログラムデバッグ方法 |
JP2007004516A (ja) * | 2005-06-24 | 2007-01-11 | Hitachi Software Eng Co Ltd | 組込みシステムのプログラムデバッグ方法 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US8789023B2 (en) | Backward post-execution software debugger | |
US8584097B2 (en) | Post-execution software debugger with event display | |
CN110580226B (zh) | 操作系统级程序的目标码覆盖率测试方法、系统及介质 | |
CN103049371A (zh) | Android应用程序测试方法和测试装置 | |
US7890935B2 (en) | Thread-specific presentation of breakpoints | |
JPH03294934A (ja) | 高級プログラム言語用デバッガ | |
CN100403275C (zh) | 应用于固件程序除错的微处理器与方法 | |
US7415560B2 (en) | Method of automatically monitoring computer system debugging routine | |
JPH02275539A (ja) | デバッグ処理方式 | |
CN112162921A (zh) | 一种工业自动化测试与控制系统 | |
JPH05250221A (ja) | シミュレータ実行方式 | |
JPH02210556A (ja) | プログラム実行状態の視覚化装置 | |
JP2870735B2 (ja) | デバッガにおけるデータの値の自動チェック方式 | |
CN112269735A (zh) | 一种测试脚本自动生成方法 | |
JPH03100837A (ja) | 共有データアクセス検出方式 | |
JPH0468446A (ja) | デバッグ支援装置 | |
JPH0272438A (ja) | デバッグ方式 | |
JPH11191072A (ja) | デバッグのブレイク処理方法及びデバッグ処理装置 | |
JPH02148335A (ja) | データ処理システムの装置試験方式 | |
JPH05334117A (ja) | デバッガにおけるデータ値の自動チェック方式 | |
JPS63300330A (ja) | ファ−ムウェアのデバッグ方法 | |
JPS63193235A (ja) | 条件コ−ド検査方法 | |
JPH02266440A (ja) | 動的デバッグエキスパートシステム | |
JPS59161736A (ja) | プログラムアナライザ | |
JPH01184551A (ja) | プログラムのデバッギング方式 |