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
Application number
JP2096350A
Other languages
English (en)
Inventor
Keisuke Omori
圭祐 大森
Norio Sato
佐藤 規男
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.)
Nippon Telegraph and Telephone Corp
Original Assignee
Nippon Telegraph and Telephone Corp
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 Nippon Telegraph and Telephone Corp filed Critical Nippon Telegraph and Telephone Corp
Priority to JP2096350A priority Critical patent/JPH03294934A/ja
Publication of JPH03294934A publication Critical patent/JPH03294934A/ja
Pending legal-status Critical Current

Links

Landscapes

  • Debugging And Monitoring (AREA)

Abstract

(57)【要約】本公報は電子出願前の出願データであるた
め要約のデータは記録されません。

Description

【発明の詳細な説明】 〔発明の目的〕 (産業上の利用分野) 本発明は高級プログラム言語用デバッガに関し、特に、
並列処理プログラム用のプロセスに着目した実行履歴を
ソースプログラムで表示する高級プログラム言語用デバ
ッガに関する。
(従来の技術) 従来の高級プログラム言語には並列処理機能がないので
、並列処理プログラムを記述する場合、オペレーティン
グ・システムが提供している機能を使用していた。高級
プログラム言語用のデバッガは、デバッグの対象となる
高級プログラム言語の機能に依存しているため、デバッ
ガの機能には並列処理機能はなかった。
ところで、最近、高級プログラム言語の中に、言語機能
に並列処理機能を持つ言語が開発されている。そこで、
高級プログラム言語用デバッガに並列処理機能を持たせ
ているが、この並列処理機能を持つ高級プログラム言語
用のデバッガにおいては、並列処理プログラムのデバッ
グのデバッグ機能は、どのプロセスが走行しているか、
停止しているか等のプロセスの状態を表示する機能にと
どまっている。
また、従来の高級プログラム言語用デバッガを用いて、
並列処理プログラムの実行履歴をトレースする場合、特
定プロセスのトレース方法は、以下の2通りである。
(1)デバッガを使用せず全プロセスの実行履歴を出力
した後、試験者が人手で特定プロセスのトレースを行う
(2)デバッガを使用して、全プロセスの実行履歴(ソ
ースプログラム)を見ながら、試験者が特定プロセスを
認識して、特定プロセスをトレースする。
第3図(blは従来の高級プログラム言語用デバッガを
用いて、並列処理プログラムの実行履歴をトレースする
場合の並列処理プログラムの実行履歴の表示状態を示す
ものである。このように、従来は全プロセスの実行履歴
が出力される。
(発明が解決しようとする課題) ところが、従来の高級プログラム言語用デバッガを用い
て、並列処理プログラムの実行履歴をトレースする場合
、並列処理プログラムの実行履歴は全プロセスに渡って
表示されるので、次のような問題が生じる。
■ 一般にプロセスの数は非常に多いことから全プロセ
スに関する情報量が膨大になる。
■ 同一ソースプログラムでも異なるプロセスとして実
行することから、ソースプログラムだけを見ても、特定
プロセスと識別が困難である。
本発明は上記従来技術の欠点を解消することを課題とし
、その目的とするところは、多重のプロセスが実行する
並列処理プログラムのデバッグにおいて、人手により時
間を書けていた行程を、自動化し、特定プロセスに着目
した実行過程をソースプログ久ムで、プログラムを実行
しながら見ることにより、プログラムの誤りを少ない時
間で発見できるようにすることができる高級プログラム
言語用デバッガを提供することにある。
〔発明の構成〕
(課題を解決するための手段) 上記目的を達成する本発明は、言語機能に並列処理機能
を持つ高級プログラム言語のデバッガであって、ソース
プログラムの表示部と、現在走行中のプロセス番号記憶
部と、並列プログラムの実行の停止を検出する実行停止
検出部と、実行停止したプロセス番号と指定されたプロ
セス番号を比較するプロセス比較部と、実行停止したプ
ロセス番号と指定されたプロセス番号が同じならば、実
行停止点の周辺ソースプログラムを前記表示部に表示し
た後にコマンド待ち状態とし、プロセス番号が異なれば
、実行停止点の周辺ソースプログラムを表示せずにその
まま実行を継続させ、実行停止点でこの処理を繰り返す
実行制御部とを備え、多重のプログラムが並列に実行す
る並列処理プログラムのデバッグにおいて、指定したプ
ロセスの実行履歴をソースプログラムで表示し、他のプ
ロセスの実行履歴に対応するソースプログラムは表示し
ないソースレベルの実行トレースが行えることを特徴と
している。
(作用) この高級プログラム言語用デバッガによれば、並列処理
を有する被デバツグプログラムが試験者が設定した実行
停止点(ブレークポイント)まで達した時、デバッガが
、現在走行しているプロセスの識別番号を見て実行を継
続するかどうかの判断が行われ、実行停止したプロセス
番号と指定されたプロ七不番号が同じならば、実行停止
点の周辺ソースプログラムを前記表示部に表示した後に
コマンド待ち状態とし、プロセス番号が異なれば、実行
停止点の周辺ソースプログラムを表示せずにそのまま実
行を継続させ、実行停止点でこの処理が繰り返される。
従来の技術とは、この判断処理を設定したことが異なる
(実施例) 以下、この発明を実施例により図面を参照しつつ詳細に
説明する。
第1図は本発明の高級言語プログラムのデバッガ4の構
成を示すものである。この実施例では、デバッガ4は計
算機3に内蔵されており、計算機3にはデイスプレィ(
表示器)lと入力用のキーボード2が備えられている。
また、計算機3の中にはデバッガ4の他にソースプログ
ラム12と実行停止点を格納するロードモジュール13
が備えられている。
デバッガ4にはこの実施例では、コマンド解析部5、ブ
レークポイント設定解除部6、実行停止検出部7、実行
制御部8、現在走行中のプロセス番号の記憶部9、ソー
スプログラムの表示部10、およびプロセス比較部11
が備えられている。このうち、現在走行中のプロセス番
号記憶部9と、プロセス比較部11が、デバッガ4に並
列処理機能を持たせるために従来のデバッガ4に追加し
た機能である。そして、実行停止検出部7は並列プログ
ラムの実行の停止を検出する機能を有し、プロセス比較
部11は実行停止したプロセス番号と指定されたプロセ
ス番号を比較する機能を有し、実行制御部8は実行停止
したプロセス番号と指定されたプロセス番号が同じなら
ば、実行停止点の周辺ソースプログラムを前記表示部に
表示した後にコマンド待ち状態とし、プロセス番号が異
なれば、実行停止点の周辺ソースプログラムを表示せず
にそのまま実行を継続させ、実行停止点でこの処理を繰
り返す機能を有する。
次に、以上のように構成されたデバッガ4の動作を第2
図を用いて説明するが、この図は以上説明した実行停止
検出部7、実行制御部8、現在走行中のプロセス番号の
記憶部9、ソースプログラムの表示部10、およびプロ
セス比較部11の機能的な接続を示すより詳細なブロッ
ク図である。
図に示すように、実行制御部8は実行停止検出部7とソ
ースプログラムの表示部10.およびプロセス比較部1
1に接続してこれらを制御し、プロセス比較部11には
現在走行中のプロセス番号の記憶部9からの信号と、プ
ロセス番号と、実行停止検出部7からの信号が入力され
るようになっている。
従って、デバッガ4は、多重のプログラムが並列に実行
する並列処理プログラム(例えば、多重プロセスが走行
している交換・通信用プログラム)のデバッグにおいて
、並列処理を有する被デバツグプログラムが試験者が設
定した実行停止点(ブレークポイント)まで達した時、
現在走行しているプロセスの識別番号を見て実行を継続
するかどうかの判断を行い、並列プログラムの実行の停
止を検出すると、実行停止したプロセス番号と指定され
たプロセス番号を比較して、同じならば、実行停止点の
周辺ソースプログラムを前記表示部に表示した後にコマ
ンド待ち状態とする。なお、この時点で、変数出力コマ
ンドを用いれば、実行停止点での変数の内容等をチエツ
クできる。一方、プロセス番号が異なれば、実行停止点
の周辺ソースプログラムを表示せずにそのまま実行を継
続させ、実行停止点でこの処理を繰り返す。
このような構造になっているので、特定プロセスに関す
る実行停止点の周辺ソースプログラムだけ表示できる。
そして、指定したプロセスの実行履歴をソースプログラ
ムで表示し、他のプロセスの実行履歴に対応するソース
プログラムは表示しないソースレベルの実行トレースが
行えるなお、ロードモジュール13の中の実行停止点を
、ソースプログラム12の各行に対応する箇所に設定し
、本発明を適用すれば、特定プロセスに着目した1行毎
のステップ実行が可能となる。
ここで、本発明の高級プログラム言語用デバッガの効果
を第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の識別も自動的に行うことができる。このように
、本発明では特定プロセスの識別が自動化され、特定プ
ロセスに関する情報のみ見ることができるので効率のよ
いデバッグが可能となる。
〔発明の効果〕
以上説明したように、本発明では、多重に走行する並列
処理プログラムの中で、注目したい特定プロセスの実行
履歴をソースプログラムで自動的に見ることができるの
で、並列処理プログラムのデバッグにおいて、膨大な情
報を見ることなく、時間をかけずに行える利点がある。
【図面の簡単な説明】
第1図は本発明の高級プログラム言語用デバッガの構成
を示すブロック図、 第2図は第1図の高級プログラム言語用デバッガの特定
プロセストレースを説明する図、第3図(alは本発明
の高級プログラム言語用デバッガによる実行履歴表示を
示し、 第3図(b)は従来の実行履歴表示を示すものである。 4・・・デバッガ、 7・・・実行停止検出部、 8・・・実行制御部、 9・・・現在走行中のプロセス番号の記憶部、10・−
・ソースプログラム表示部、 11・・・プロセス比較部、 12・・・ソースプログラム、 13・・・ロードモジュール。

Claims (1)

  1. 【特許請求の範囲】 言語機能に並列処理機能を持つ高級プログラム言語のデ
    バッガであって、 ソースプログラムの表示部と、 現在走行中のプロセス番号記憶部と、 並列プログラムの実行の停止を検出する実行停止検出部
    と、 実行停止したプロセス番号と指定されたプロセス番号を
    比較するプロセス比較部と、 実行停止したプロセス番号と指定されたプロセス番号が
    同じならば、実行停止点の周辺ソースプログラムを前記
    表示部に表示した後にコマンド待ち状態とし、プロセス
    番号が異なれば、実行停止点の周辺ソースプログラムを
    表示せずにそのまま実行を継続させ、実行停止点でこの
    処理を繰り返す実行制御部とを備え、 多重のプログラムが並列に実行する並列処理プログラム
    のデバッグにおいて、指定したプロセスの実行履歴をソ
    ースプログラムで表示し、他のプロセスの実行履歴に対
    応するソースプログラムは表示しないソースレベルの実
    行トレースが行えることを特徴とする高級プログラム言
    語用デバッガ。
JP2096350A 1990-04-13 1990-04-13 高級プログラム言語用デバッガ Pending JPH03294934A (ja)

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)

* Cited by examiner, † Cited by third party
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

Cited By (3)

* Cited by examiner, † Cited by third party
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) プログラムのデバッギング方式