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

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

Info

Publication number
JPH09198276A
JPH09198276A JP8005906A JP590696A JPH09198276A JP H09198276 A JPH09198276 A JP H09198276A JP 8005906 A JP8005906 A JP 8005906A JP 590696 A JP590696 A JP 590696A JP H09198276 A JPH09198276 A JP H09198276A
Authority
JP
Japan
Prior art keywords
program
gui
parts
information
debugger
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.)
Granted
Application number
JP8005906A
Other languages
English (en)
Other versions
JP2795244B2 (ja
Inventor
Masaharu Inoue
雅春 井上
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.)
NEC Corp
Original Assignee
NEC 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 NEC Corp filed Critical NEC Corp
Priority to JP8005906A priority Critical patent/JP2795244B2/ja
Priority to EP97100738A priority patent/EP0785510B1/en
Priority to DE69720821T priority patent/DE69720821T2/de
Priority to US08/785,589 priority patent/US5926638A/en
Publication of JPH09198276A publication Critical patent/JPH09198276A/ja
Application granted granted Critical
Publication of JP2795244B2 publication Critical patent/JP2795244B2/ja
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/36Preventing errors by testing or debugging software
    • G06F11/3664Environments for testing or debugging software

Abstract

(57)【要約】 【課題】プログラム開発の効率化とプログラムの品質向
上のために、プログラムデバッグ時のプログラム解析の
手間を省きデバッグ手順を簡単化する。 【解決手段】ソースプログラム106を機械語に翻訳す
る翻訳プログラム107が、ソースプログラム106内
のGUI部品の情報を抽出し、GUI部品の動作を記述
する動作記述部とGUI部品とを対応づけたGUI情報
であるGUI部品テーブル110を出力するGUI情報
出力手段108を備え、デバッガ113が、コンピュー
タディスプレイ画面上で指定されたGUI部品に対応す
る動作記述部をGUI部品テーブル110のGUI情報
を基にソースプログラムから検索しブレイクポイントを
設定するブレイク条件設定手段114を備える。

Description

【発明の詳細な説明】
【0001】
【発明の属する技術分野】本発明は、プログラムデバッ
グシステムに関し、特にGUIをもつプログラムをデバ
ッグするプログラムデバッグシステムに関する。
【0002】
【従来の技術】従来、この種のプログラムデバッグシス
テムは、開発設計したデータ処理プログラムの正しさを
確認するため、各種のデータ処理装置に広く用いられて
いる。たとえば、図12は、従来のプログラムデバッグ
システムにおけるデータ処理機能の構成例を示すデータ
流れ図である。このプログラムデバッグシステムは、主
に、翻訳プログラム1207,リンカ1209,デバッ
ガ1211などのソフトウェア処理手段を有している。
【0003】まず、GUIをもつソースプログラム12
06を実現する仕組みを簡単に先行説明する。
【0004】GUIを持つプログラムの大部分は、イベ
ント駆動型のプログラムスタイルで実現されている。イ
ベント駆動型プログラムとは、プログラムに対して外的
要因が変化したら、何らかの処理を行なうプログラムの
ことである。GUIプログラムにおけるイベント駆動型
プログラムとは、GUI部品が操作されたら、そのGU
I操作に対応する処理を行なうというものである。さら
に、GUIを持つシステムの場合、システム標準の概観
と操作を持ちシステム上で動くイベント駆動型GUIプ
ログラムを実現するためのライブラリ(以下GUIライ
ブラリと記述する)が提供されている場合が多い。プロ
グラム開発者は、GUIライブラリ1201を用いてG
UIをデザインすると同時に、GUIの動作を記述した
動作記述関数1204を作成し、その後、同じくライブ
ラリを用いてデザインしたGUIと動作記述関数との対
応づけを行なう。以上のよう設計したプログラムを実行
した場合、GUIが操作される度に、対応する動作記述
関数1204が実行されることになる。
【0005】翻訳プログラム1207は、高級言語で書
かれたソースプログラム1206を機械語プログラムに
翻訳するソフトウェアであり、リンカ1209は、複数
のプログラムを結合し、他のプログラムの中で定義した
データやサブルーチンを利用できるようにするソフトウ
ェアである。また、デバッガ1211は、設計されたプ
ログラム中の誤りを検証するとき使用するソフトウェア
である。
【0006】一般に、ノイマン型と呼ばれる計算機は、
記憶装置内に機械語のプログラムを持ち、そのプログラ
ムの命令を実行することにより開発者の意図する動作を
実現する。機械語のプログラムはコンピュータが理解で
きるように、2進数や16進数などの数字の列で表現さ
れる。この数字の列は人間が理解するには複雑過ぎるた
め、プログラム開発者は理解しやすい表現を用いたソー
スプログラム1206を作成し、ソースプログラム12
06を翻訳プログラム1207を用いて機械語(図1上
ではアドレスが確定していないため特に機械語形式のフ
ァイルを再配置可能ファイル1208と記述する)に翻
訳し、リンカ1209を用いて1つのプログラム(図1
上では1209に対して実行可能ファイル1210と記
述する)にしてコンピュータの外部記憶装置内に記憶さ
れる。
【0007】このプログラムの正しさを確認するため
に、または、不正動作が確認された場合には不正動作の
原因を調査するために、デバッガ1211と呼ばれる検
証用のプログラムを使用するのが有効である。プログラ
ムをコンピュータ上で実行する際には、任意の場所で停
止することは不可能であり、また出力装置で表示される
情報以外は認識できないのが通常である。そのため、デ
バッガ1211は、デバッグ対象プログラムを1ステッ
プずつ実行させたり、任意の場所で実行を止めることを
可能とする。また、実際の実行時には確認できないレジ
スタやメモリなどのコンピュータ内部のプログラム実行
状態を確認することを可能とする。
【0008】次に、記憶装置上にロードしたデバッグ対
象プログラムにブレイクポイントを設定し、その場所で
デバッグ対象プログラムが動作停止する様子を説明す
る。
【0009】図13は、従来のプログラムデバッグシス
テムにおけるブレイクポイント設定処理を説明するため
の説明図であり、記憶装置上にロードしたデバッグ対象
プログラムにブレイクポイントを設定する前後の記憶装
置内のプログラム配置を示す。記憶装置上にロードした
プログラムをそのまま実行する方法は、開発している環
境と開発プログラムが動作する環境とが同じ場合に可能
な方法である。ブレイクポイントが指定された際には、
記憶装置上にロードしたプログラムの停止位置の機械語
の先頭行のデータを退避した後、割込み発生コードを埋
め込む。
【0010】このときのプログラム配置について図13
を参照して、より詳しく説明する。プログラム配置13
01は、ブレイクポイント設定前の記憶装置内のプログ
ラム配置で、メモリ領域1302のプログラムは、記憶
装置内に配置されたデバッグ対象のプログラムである。
プログラム配置1303は、“L0002:”と記述さ
れている行の前の行にブレイクポイントを設定した後の
記憶装置内のプログラム配置である。ブレイクポイント
を設定した箇所の命令を退避用のメモリ領域1308に
退避し、退避した命令から実行を再開した場合、退避し
た命令を実行した後に次の命令を正常に実行するよう
に、次の命令のアドレスへ処理を移行するためのジャン
プ命令を付加する。メモリ領域1306のブレイクポイ
ントには割り込み発生命令を埋め込む。割込み発生時に
はメモリ領域1309のデバッガルーチンに処理が移る
ように割込みベクタにメモリ領域1309のデバッガル
ーチンアドレスを設定する。この状態で実行をすれば、
ブレイクポイントでデバッガに処理が移りデバッガのコ
マンド待ちになる。デバッガはブレイクポイントの設定
を解除する指示を受けとった場合には退避しておいた実
行停止行の機械語の命令を元の状態に戻す。
【0011】なお、デバッガがプログラム実行する際
に、デバッグ対象プログラムを疑似的に実行するプログ
ラムであるシミュレータ手段を使用してシミュレーショ
ン実行または実行停止する方法もある。この場合のブレ
イク設定の方法は、シミュレーション実行中に実行停止
行に相当するアドレスの値を保持しておき、デバッグ対
象プログラムの命令をシミュレーション実行する毎に実
行アドレスと実行停止行に相当するアドレス値とを比較
し、一致したら、デバッガに処理を移しデバッガのコマ
ンド待ちをするというものである。
【0012】次に、従来のプログラムデバッグシステム
におけるプログラムデバッグ手順について説明する。デ
バッガ1211を使用し、記憶装置上にロードしたデバ
ッグ対象プログラムにブレイクポイントを設定しデバッ
グする例について説明する。
【0013】まず、ソースプログラム1206を解析し
て停止したい場所(以降ブレイクポイントと記述する)
を探す。ブレイクポイントを決めたら、デバッガに対し
てその行で停止するように指令を出す。指令を出す方法
は、指令を示す単語(以降コマンドと記述する)をソー
スプログラム中の行を示す数字と共にコンピュータのキ
ーボードから入力するか、ソースプログラムを表示する
ことが可能なデバッガでは、ソース上に画面上の場所を
示す入力手段(以降ポインティングデバイスと記述す
る)を使用して行を指定する。一般に、デバッガ対象の
機械語プログラムは、実際の実行時には使用されないが
デバッグ実行時にのみ参照される情報を持つ。たとえ
ば、機械語がソースプログラムの何行目に当たるかとい
う情報を保持しており、デバッガの画面でソースプログ
ラムを表示する際、機械語を表示するのではなくソース
プログラムを表示する場合に使用される。
【0014】特に、GUIをもつプログラムがデバッグ
対象プログラムである場合、ブレイクポイントの設定方
法として、デバッグ対象プログラム中から動作記述部を
検索しブレイクポイント設定箇所として決定する。この
ため、プログラム作成時の記憶やドキュメントに基づき
プログラム編集プログラムを使ってソースプログラム中
の動作記述関数名で検索する。それが不可能な場合は、
GUIライブラリ関数名をプログラム編集プログラムで
順時検索し、GUIライブラリ関数の使われ方により目
的のGUIライブラリ関数かどうかを判断した後、GU
Iライブラリ関数を用いて登録された動作記述関数名を
確認し、再び、動作記述関数名で検索しブレイクポイン
ト設定箇所を決定する。
【0015】図14は、このGUIをもつプログラムの
動作記述関数に対するブレイクポイントの設定手順を示
す流れ図である。図14を参照し説明すると、まず、ス
テップ1401から処理を開始する。動作記述関数名を
記憶しているかどうかをステップ1402で判断し、記
憶していればソースプログラム中の動作記述関数名をス
テップ1409で検索し、ブレイクポイントをステップ
1410で設定する。記憶していない場合には、設計書
が有るかどうかをステップ1404で判断し設計書が有
る場合には、設計書から動作記述関数名を調べステップ
1409へ処理を移る。設計書が無い場合には、動作記
述関数を登録するためのGUIライブラリ関数名でソー
スプログラム中を検索しライブラリの使われ方をステッ
プ1406で調べ、探しているGUIライブラリ関数か
どうかをステップ1407で判断し、探しているライブ
ラリ関数でなければ、ステップ1405に処理を戻し目
的のGUIライブラリ関数が見つかるまで検索する。G
UIライブラリ関数が見つかったら、GUIライブラリ
関数を使って登録してある動作記述関数名をステップ1
408で確認し、ソースプログラム中を動作記述関数名
によりステップ1409で検索しブレイクポイントを設
定する。
【0016】次に、ブレイクポイントの設定が出来たら
プログラムの実行を開始し、ブレイクポイントで実行停
止した後、コマンドを使って内部状態を表示し開発者が
予想する結果通りであるかを確認する。その場所の内部
状態が開発者が予想する結果通りでない場合には、その
場所に不正な記述があるかどうかを確認し、不正な記述
がある場合には修正をする。内部状態が予想に反してい
ているのに停止位置には不正な記述がない場合には、そ
の場所に関連のある他の場所で停止させ、内部状態の確
認を行なう作業を繰り返す。
【0017】以上、従来のプログラムデバッグシステム
におけるデバッガ内部の動作とデバッグ手順の流れとを
説明した。
【0018】
【発明が解決しようとする課題】従来のプログラムデバ
ッグシステムにおいて、デバッグ時のプログラム解析者
がプログラム開発者であり、プログラムの規模が数百ス
テップ程度であれば、解析すべき場所を特定することは
容易である。しかし、数万ステップにも及ぶ大規模なプ
ログラムの開発の場合、プログラムを細部に渡り把握す
ることは難しい。
【0019】また、複数の開発者が同時にソースを変更
する場合にはプログラムは刻々と変化し、プログラム解
析者は自分が作成した以外の箇所の解析をする場合も多
く、プログラム作成の際に参考とした資料が残っていな
い場合などプログラムの解析の妨げとなる要因は多い。
【0020】さらに、GUIを持つプログラムの場合
に、ディスプレイ上でGUI部品の動作が見えているに
も関わらずブレイクポイントを設定する場合にもGUI
部品の動作記述部を探すためのプログラムの解析が必要
となり、手間が掛かるという問題点がある。
【0021】したがって、本発明の目的は、プログラム
開発の効率化とプログラムの品質向上のために、プログ
ラムデバッグ時のプログラム解析の手間を省きデバッグ
手順を簡単化することにある。
【0022】
【課題を解決するための手段】そのため、本発明は、視
覚的な部品(以降GUI部品と記述する)を画面上に配
置し用いることにより直観的な操作を実現するグラフィ
カルユーザインターフェース(以降GUIと記述する)
を持つプログラムに対し、実行停止(以降ブレイクと記
述する)ポイントを設定した後、実行時に前記ブレイク
ポイントが設定されているソースプログラム中の行で動
作を中断しプログラム実行状態を確認するデバッグ手段
を有するプログラムデバッグシステムにおいて、前記ソ
ースプログラムを機械語に翻訳する翻訳手段が、前記ソ
ースプログラム内の前記GUI部品の情報を抽出し、前
記GUI部品の動作を記述する動作記述部と前記GUI
部品とを対応づけたGUI情報を出力するGUI情報出
力手段を備え、前記デバッグ手段が、コンピュータディ
スプレイ画面上で指定された前記GUI部品に対応する
前記動作記述部を前記GUI情報を基に前記ソースプロ
グラムから検索し前記ブレイクポイントを設定するブレ
イク条件設定手段を備える。
【0023】
【発明の実施の形態】次に、本発明について図面を参照
して説明する。
【0024】図1は、本発明のプログラムデバッグシス
テムの実施形態1を示すデータ流れ図であり、データ処
理機能の構成例を示している。この実施形態のプログラ
ムデバッグシステムは、主に、翻訳プログラム107,
リンカ111,デバッガ113などのソフトウェアによ
るデータ処理手段を有している。この中で、翻訳プログ
ラム107,デバッガ113以外のソフトウェア処理手
段は、図12で示した従来のプログラムデバッグシステ
ムと同じであり、重複説明を省略する。図1上の主な相
違点は、翻訳プログラム107がGUI情報出力手段1
08を備え、デバッガ113がGUI情報を基にブレイ
クポイントを設定するブレイク条件設定手段114を備
えていることである。
【0025】まず、GUIをもつソースプログラム10
6を実現する仕組みは、図12に示した従来のプログラ
ムデバッグシステムと同じであり、重複説明を省略す
る。プログラム開発者は、GUI部品の動作をソースプ
ログラム106に記述するのであるが、GUI部品を画
面上に実現する手続き103と実現されたGUI部品と
そのGUI部品の動作を記述した動作記述関数104の
関連付けを行なう手続き105は、GUIを実現するシ
ステムにより決められた手順を踏む。したがって、いず
れのシステムでも、実現されるGUI部品の情報とその
動作記述関数の関連は、ソースプログラム内にかならず
存在する。
【0026】翻訳プログラム107は、図12で示した
従来のプログラムデバッグシステムにおける翻訳プログ
ラム1207と同じく、高級言語で書かれたソースプロ
グラム106を機械語プログラムに翻訳するソフトウェ
ア手段である。さらに、本実施形態の翻訳プログラム1
07は、ソースプログラム106を機械語に翻訳すると
共に、ソースプログラム106内のGUI部品の情報を
抽出し、GUI部品と動作記述部との対応づけたGUI
情報をデバッガ113に出力するGUI情報出力手段1
08を備える。
【0027】図2は、このGUI情報出力手段108か
ら出力されるGUI情報の1例であるGUI部品テーブ
ル110を示す説明図である。このGUI部品テーブル
110は、GUI部品の種類を示す型201,GUI部
品の画面上での位置を示す位置202および203,G
UI部品の高さおよび幅を示す高さ204および幅20
5,GUI部品を操作した際に実行される処理記述関数
名206の情報を含んでいる。
【0028】デバッガ113は、図12で示した従来の
プログラムデバッグシステムにおけるデバッガ1211
と同じく、デバッグ対象プログラムを1ステップずつ実
行させたり、任意の場所で実行を止めることを可能と
し、また、実際の実行時には確認できないレジスタやメ
モリなどのコンピュータ内部のプログラム実行状態を確
認することを可能とするソフトウェア手段である。さら
に、本実施形態のデバッガ113は、コンピュータディ
スプレイ画面上で指定されたGUI部品の動作記述部を
図2のGUI部品テーブル110のGUI情報を基にデ
バッグ対象プログラムから検索し、ブレイクポイントを
設定するブレイク条件設定手段114を備えている。
【0029】図3は、このデバッガ113のブレイク条
件設定手段114によるブレイクポイント設定処理を説
明するための説明図であり、記憶装置上にロードしたデ
バッグ対象プログラムにブレイクポイントを設定する前
後の記憶装置内のプログラム配置を示す。図3を参照し
て、ブレイクポイント設定処理を説明する。
【0030】プログラム配置301は、ブレイクポイン
ト設定前の記憶装置内のプログラム配置である。また、
プログラム配置304は、デバッガ113によりブレイ
クポイントを設定した後の記憶装置内のプログラム配置
であり、デバッグ対象プログラムとデバッガプログラム
が記憶装置内に置かれている状態を示す。ここで、デバ
ッグ対象プログラム内には動作記述関数とそうでないも
のがある。が、GUI部品テーブル110のGUI情報
からデバッグ対象プログラム内の関数が動作記述関数か
否かは、明らかに判断できる。
【0031】これにより、デバッガ113は、記憶装置
内にデバッグ対象プログラムを配置したらGUI部品テ
ーブル110内の処理関数名206からメモリ領域30
6上の動作記述関数を検索し、先頭のコードはメモリ領
域308に退避する。退避したコードが実行されたとき
正常に次のコードに処理が続くようにジャンプ命令が付
加されている。各動作記述関数が実行された場合は、動
作記述関数を識別するためにレジスタAXに固有の値を
セットした後に、割り込み命令によりプログラム配置3
04に示されたメモリ領域309のデバッガルーチンの
割込みベクタアドレスに設定されたアドレスの処理を実
行し、仮にブレイク設定モードで動作している場合は、
ブレイク条件をメモリ領域310に記憶する。
【0032】図4は、この時のデバッガルーチンの処理
を詳しく記述した流れ図である。まず、ステップ401
から処理を開始し、ブレイク設定モードか否かをステッ
プ402で判断し、設定モードならばステップ403の
処理でメモリ領域307にブレイク情報を保持する。設
定モード以外ならばステップ404の処理でブレイク条
件として設定してあるかどうかをメモリ領域307の情
報を調べる。ブレイクポインタならステップ406の処
理で通常のデバッガと同様にコマンド待ちをし、コマン
ドが入力されたら命令を実行する。ステップ404でブ
レイクポイントとして登録されていないと判断されたら
ステップ405の処理で退避した動作記述関数の先頭コ
ードからプログラムの実行を再開する。
【0033】次に、本実施形態のプログラムデバッグシ
ステムにおけるプログラムデバッグ手順について説明す
る。デバッガ113を使用し、記憶装置上にロードした
デバッグ対象プログラムにブレイクポイントを設定しデ
バッグする例について、図面を参照して説明する。
【0034】図5は、本実施形態のプログラムデバッグ
システムにおけるブレイクポイントの設定手順を示す流
れ図である。図5を参照し説明すると、まず、ステップ
501から処理を開始し、ステップ502でブレイク設
定モードへ切替え、ステップ503でディスプレイ画面
上からGUI部品を指定し、ステップ504で通常モー
ドへ切替えてブレイクポイント設定作業を終える。
【0035】また、図6〜図11は、本実施形態のプロ
グラムデバッグシステムにおけるプログラムデバッグ時
のコンピュータディスプレイ画面を、デバッグ手順に従
って示した説明図である。図6を参照し、コンピュータ
ディスプレイ画面601を説明すると、コンピュータデ
ィスプレイ画面601は、デバッガのメインウィンドウ
602とGUI情報表示部607とから構成されてい
る。さらに、デバッガのメインウィンドウ602は、プ
ログラムの実行が通常の実行かブレイク条件設定のため
の実行かを指示するためのボタン603〜604,デバ
ッグ対象のソースプログラムを表示するウィンドウ60
5,コマンドを入力するコマンドウィンドウ606とか
ら構成され、GUI情報表示部607は、デバッグ対象
であるユーザーが作成したGUI部品の一例を表示し、
プッシュボタン608〜609,文字列を入力したり表
示したりするためのテキストウィンドウ610とから構
成されている。
【0036】まず、図7に示すように、デバッガのメイ
ンウィンドウ602内のコマンドウィンドウ606から
コマンドによりデバッグ対象プログラムの実行を指示す
る。次に、図8に示すように、デバッガのメインウィン
ドウ602上のボタン604を押し実行モードをブレイ
ク条件設定モードへ切替え、ブレイク設定モードで実行
中にGUI情報表示部607のGUI部品を指定するこ
とによって、ブレイク条件を設定する。次に、図9に示
すように、通常モード切替えボタン603で通常実行モ
ードに戻した後、図10に示すようにGUI情報表示部
607のGUI部品を操作する。このブレイク条件を設
定したGUI部品を操作した場合に、図11に示すよう
にブレイクが発生する。
【0037】以上、本実施形態のプログラムデバッグシ
ステムにおいて、GUIをもつプログラムのデバッグ手
順が、図14に示した従来のプログラムデバッグシステ
ムにおけるデバッグ手順と比較して、非常に簡単化され
ることを説明した。
【0038】なお、本発明によるプログラムデバッグシ
ステムの実施形態2として、デバッガがプログラム実行
する際に、デバッグ対象プログラムを疑似的に実行する
プログラムであるシミュレータ手段を使用してシミュレ
ーション実行または実行停止する方法もある。この場合
のブレイク条件設定は、実施形態1と同様に、GUI部
品操作が有ったときブレイク条件設定手段によりGUI
部品と対応する動作記述関数をGUI情報であるGUI
部品テーブルから検索しシミュレータ中にブレイク条件
として保持することにより行われる。また、シミュレー
ション実行停止は、デバッグ対象プログラムの命令をシ
ミュレーション実行する毎に、実行アドレスとブレイク
条件のブレークポイントに相当するアドレス値とを比較
し、一致したら、デバッガに処理を移しデバッガのコマ
ンド待ちをすることにより行なわれる。実施形態1と同
様の効果があることは明らかである。
【0039】
【発明の効果】以上説明したように、本発明によるプロ
グラムデバッグシステムは、GUI部品操作が有ったと
き、ブレイク条件設定手段によりGUI部品と対応する
動作記述関数をGUI情報から検索しブレイク条件とし
て設定してため、GUIをもつプログラムのデバッグ手
順が非常に簡単化される。
【0040】また、バッグ作業時に、デプログラム作成
者が残したドキュメントまたはソースファイルからプロ
グラムの全体構成を一通り調べる必要が無く、デバッグ
作業時のプログラム解析がプログラムの局所に限られ
る。
【0041】さらに、従来、ソースプログラムを読んで
動作を想像しながら停止行を指定していたが、本発明で
は、ソースプログラムを見なくてもGUIの動作を目で
直接確認しながら停止行を指定出来るため、容易に作業
が行なえるなどの効果がある。
【図面の簡単な説明】
【図1】本発明のプログラムデバッグシステムの実施形
態1を示すデータ流れ図である。
【図2】図1に示したGUI部品テーブルのGUI情報
の1例を示す説明図である。
【図3】図1に示したデバッガによるブレイクポイント
設定処理を説明するための説明図である。
【図4】図3に示したデバッガルーチンの処理を詳しく
記述した流れ図である。
【図5】図1のプログラムデバッグシステムにおけるブ
レイクポイントの設定手順を示す流れ図である。
【図6】図1のプログラムデバッグシステムにおけるプ
ログラムデバッグ時のコンピュータディスプレイ画面を
示す説明図である。
【図7】図6の次のコンピュータディスプレイ画面を示
す説明図である。
【図8】図7の次のコンピュータディスプレイ画面を示
す説明図である。
【図9】図8の次のコンピュータディスプレイ画面を示
す説明図である。
【図10】図9の次のコンピュータディスプレイ画面を
示す説明図である。
【図11】図10の次のコンピュータディスプレイ画面
を示す説明図である。
【図12】従来のプログラムデバッグシステムの構成例
を示すデータ流れ図である。
【図13】図12に示したデバッガによるブレイクポイ
ント設定処理を説明するための説明図である。
【図14】図12のプログラムデバッグシステムにおけ
るブレイクポイントの設定手順を示す流れ図である。
【符号の説明】
107,1207 翻訳プログラム 108 GUI情報出力手段 110 GUI部品テーブル 111,1209 リンカ 113,1211 デバッガ 114 ブレイク条件設定手段 201〜206 GUI情報 301,304,1311,1303 プログラム配
置 302〜303,305〜310,1302,1304
〜1309 メモリ領域 401〜407,501〜505,1401〜1411
処理ステップ 601 コンピュータディスプレイ画面 602 デバッガのメインウィンドウ 603〜604,608〜609 ボタン 605 ソースプログラムを表示するウィンドウ 606 コマンドウィンドウ 607 GUI情報表示部 610 テキストウィンドウ

Claims (1)

    【特許請求の範囲】
  1. 【請求項1】 視覚的な部品(以降GUI部品と記述す
    る)を画面上に配置し用いることにより直観的な操作を
    実現するグラフィカルユーザインターフェース(以降G
    UIと記述する)を持つプログラムに対し、実行停止
    (以降ブレイクと記述する)ポイントを設定した後、実
    行時に前記ブレイクポイントが設定されているソースプ
    ログラム中の行で動作を中断しプログラム実行状態を確
    認するデバッグ手段を有するプログラムデバッグシステ
    ムにおいて、前記ソースプログラムを機械語に翻訳する
    翻訳手段が、前記ソースプログラム内の前記GUI部品
    の情報を抽出し、前記GUI部品の動作を記述する動作
    記述部と前記GUI部品とを対応づけたGUI情報を出
    力するGUI情報出力手段を備え、前記デバッグ手段
    が、コンピュータディスプレイ画面上で指定された前記
    GUI部品に対応する前記動作記述部を前記GUI情報
    を基に前記ソースプログラムから検索し前記ブレイクポ
    イントを設定するブレイク条件設定手段を備えることを
    特徴とするプログラムデバッグシステム。
JP8005906A 1996-01-17 1996-01-17 プログラムデバッグシステム Expired - Lifetime JP2795244B2 (ja)

Priority Applications (4)

Application Number Priority Date Filing Date Title
JP8005906A JP2795244B2 (ja) 1996-01-17 1996-01-17 プログラムデバッグシステム
EP97100738A EP0785510B1 (en) 1996-01-17 1997-01-17 Program debugging system for debugging a program having a graphical user interface
DE69720821T DE69720821T2 (de) 1996-01-17 1997-01-17 Fehlersuchsystem für Programme mit einer graphischen Benutzerschnittstelle
US08/785,589 US5926638A (en) 1996-01-17 1997-01-17 Program debugging system for debugging a program having graphical user interface

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP8005906A JP2795244B2 (ja) 1996-01-17 1996-01-17 プログラムデバッグシステム

Publications (2)

Publication Number Publication Date
JPH09198276A true JPH09198276A (ja) 1997-07-31
JP2795244B2 JP2795244B2 (ja) 1998-09-10

Family

ID=11623952

Family Applications (1)

Application Number Title Priority Date Filing Date
JP8005906A Expired - Lifetime JP2795244B2 (ja) 1996-01-17 1996-01-17 プログラムデバッグシステム

Country Status (4)

Country Link
US (1) US5926638A (ja)
EP (1) EP0785510B1 (ja)
JP (1) JP2795244B2 (ja)
DE (1) DE69720821T2 (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2008210107A (ja) 2007-02-26 2008-09-11 Fujitsu Ltd シミュレーション方法及びシミュレーション装置

Families Citing this family (62)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7266725B2 (en) 2001-09-03 2007-09-04 Pact Xpp Technologies Ag Method for debugging reconfigurable architectures
DE19651075A1 (de) 1996-12-09 1998-06-10 Pact Inf Tech Gmbh Einheit zur Verarbeitung von numerischen und logischen Operationen, zum Einsatz in Prozessoren (CPU's), Mehrrechnersystemen, Datenflußprozessoren (DFP's), digitalen Signal Prozessoren (DSP's) oder dergleichen
DE19654595A1 (de) 1996-12-20 1998-07-02 Pact Inf Tech Gmbh I0- und Speicherbussystem für DFPs sowie Bausteinen mit zwei- oder mehrdimensionaler programmierbaren Zellstrukturen
JP3961028B2 (ja) 1996-12-27 2007-08-15 ペーアーツェーテー イクスペーペー テクノロジーズ アクチエンゲゼルシャフト データフロープロセッサ(dfp)の自動的なダイナミックアンロード方法並びに2次元または3次元のプログラミング可能なセルストラクチャを有するモジュール(fpga,dpga等)
US6542998B1 (en) 1997-02-08 2003-04-01 Pact Gmbh Method of self-synchronization of configurable elements of a programmable module
US8686549B2 (en) 2001-09-03 2014-04-01 Martin Vorbach Reconfigurable elements
DE19861088A1 (de) 1997-12-22 2000-02-10 Pact Inf Tech Gmbh Verfahren zur Reparatur von integrierten Schaltkreisen
DE69908446T2 (de) * 1998-02-27 2004-05-06 Hitachi, Ltd. Programmfehlerbeseitigung
US7003660B2 (en) 2000-06-13 2006-02-21 Pact Xpp Technologies Ag Pipeline configuration unit protocols and communication
DE10081643D2 (de) 1999-06-10 2002-05-29 Pact Inf Tech Gmbh Sequenz-Partitionierung auf Zellstrukturen
ATE437476T1 (de) * 2000-10-06 2009-08-15 Pact Xpp Technologies Ag Zellenanordnung mit segmentierter zwischenzellstruktur
US8058899B2 (en) 2000-10-06 2011-11-15 Martin Vorbach Logic cell array and bus system
US20020091968A1 (en) * 2001-01-08 2002-07-11 Donald Moreaux Object-oriented data driven software GUI automated test harness
US7444531B2 (en) 2001-03-05 2008-10-28 Pact Xpp Technologies Ag Methods and devices for treating and processing data
US7844796B2 (en) 2001-03-05 2010-11-30 Martin Vorbach Data processing device and method
US9037807B2 (en) 2001-03-05 2015-05-19 Pact Xpp Technologies Ag Processor arrangement on a chip including data processing, memory, and interface elements
US7657877B2 (en) * 2001-06-20 2010-02-02 Pact Xpp Technologies Ag Method for processing data
US7996827B2 (en) 2001-08-16 2011-08-09 Martin Vorbach Method for the translation of programs for reconfigurable architectures
US7434191B2 (en) 2001-09-03 2008-10-07 Pact Xpp Technologies Ag Router
US7152226B2 (en) * 2001-09-04 2006-12-19 James Pangburn Flexible horizontal stack display and editor
US7526498B2 (en) 2001-09-14 2009-04-28 Siemens Communications, Inc. Method for generating data structures for automatically testing GUI applications
US6961873B2 (en) * 2001-09-14 2005-11-01 Siemens Communications, Inc. Environment based data driven automated test engine for GUI applications
US6948152B2 (en) * 2001-09-14 2005-09-20 Siemens Communications, Inc. Data structures for use with environment based data driven automated test engine for GUI applications
US8686475B2 (en) 2001-09-19 2014-04-01 Pact Xpp Technologies Ag Reconfigurable elements
US7644394B2 (en) * 2001-11-30 2010-01-05 International Business Machines Corporation Object-oriented creation breakpoints
US7398519B2 (en) * 2001-11-30 2008-07-08 International Business Machines Corporation Inheritance breakpoints for use in debugging object-oriented computer programs
EP1483682A2 (de) 2002-01-19 2004-12-08 PACT XPP Technologies AG Reconfigurierbarer prozessor
ATE402446T1 (de) 2002-02-18 2008-08-15 Pact Xpp Technologies Ag Bussysteme und rekonfigurationsverfahren
US8914590B2 (en) 2002-08-07 2014-12-16 Pact Xpp Technologies Ag Data processing method and device
US7657861B2 (en) 2002-08-07 2010-02-02 Pact Xpp Technologies Ag Method and device for processing data
AU2003286131A1 (en) 2002-08-07 2004-03-19 Pact Xpp Technologies Ag Method and device for processing data
AU2003289844A1 (en) 2002-09-06 2004-05-13 Pact Xpp Technologies Ag Reconfigurable sequencer structure
CA2414479A1 (en) * 2002-12-16 2004-06-16 Ibm Canada Limited - Ibm Canada Limitee A visual debugger for stylesheets
US7565607B2 (en) * 2003-01-07 2009-07-21 Microsoft Corporation Automatic image capture for generating content
US20050114785A1 (en) * 2003-01-07 2005-05-26 Microsoft Corporation Active content wizard execution with improved conspicuity
JP4403794B2 (ja) * 2003-02-28 2010-01-27 株式会社デンソー 制御プログラムの検査方法及び検査装置及び検査プログラム
JP4700611B2 (ja) 2003-08-28 2011-06-15 ペーアーツェーテー イクスペーペー テクノロジーズ アクチエンゲゼルシャフト データ処理装置およびデータ処理方法
US7870504B1 (en) 2003-10-01 2011-01-11 TestPlant Inc. Method for monitoring a graphical user interface on a second computer display from a first computer
US7404178B2 (en) * 2004-02-18 2008-07-22 Hewlett-Packard Development Company, L.P. ROM-embedded debugging of computer
US7574625B2 (en) * 2004-09-14 2009-08-11 Microsoft Corporation Active content wizard testing
US20060184880A1 (en) * 2005-02-17 2006-08-17 Microsoft Corporation Discoverability of tasks using active content wizards and help files - the what can I do now? feature
US8700730B2 (en) * 2005-08-18 2014-04-15 Microsoft Corporation Aggregated audio/video crossbar connections
JP2009524134A (ja) 2006-01-18 2009-06-25 ペーアーツェーテー イクスペーペー テクノロジーズ アクチエンゲゼルシャフト ハードウェア定義方法
US7900089B2 (en) * 2006-06-12 2011-03-01 International Business Machines Corporation Method for creating error tolerant and adaptive graphical user interface test automation
US7693257B2 (en) * 2006-06-29 2010-04-06 Accuray Incorporated Treatment delivery optimization
US20080126878A1 (en) * 2006-11-28 2008-05-29 International Business Machines Corporation Highlighting anomalies when displaying trace results
US8161399B2 (en) * 2007-01-20 2012-04-17 International Business Machines Corporation Automated learning system for improving graphical user interfaces
US8201150B2 (en) * 2007-03-20 2012-06-12 International Business Machines Corporation Evaluating software test coverage
US8930909B1 (en) * 2007-07-13 2015-01-06 The Mathworks, Inc. Debugging using presentation layer representations of objects
US7840851B2 (en) * 2008-02-15 2010-11-23 Red Hat, Inc. Annotating GUI test automation playback and debugging
US8365149B2 (en) * 2008-02-29 2013-01-29 International Business Machines Corporation Debugger for a declarative event-driven programming model
US8397216B2 (en) * 2008-02-29 2013-03-12 International Business Machines Corporation Compiler for a declarative event-driven programming model
US8627299B2 (en) 2008-02-29 2014-01-07 International Business Machines Corporation Virtual machine and programming language for event processing
US8060795B2 (en) * 2008-05-15 2011-11-15 International Business Machines Corporation Solution for automatically incorporating diagnostic data within screen capture images
US9092111B2 (en) * 2010-07-26 2015-07-28 International Business Machines Corporation Capturing information on a rendered user interface including user activatable content
US8938718B2 (en) 2012-12-18 2015-01-20 International Business Machines Corporation Managing window focus while debugging a graphical user interface program
US8943477B2 (en) 2012-12-18 2015-01-27 International Business Machines Corporation Debugging a graphical user interface code script with non-intrusive overlays
CN105242935A (zh) * 2015-11-19 2016-01-13 长春工程学院 一种执行程序源代码的显示界面生成系统和方法
GB2547220A (en) 2016-02-10 2017-08-16 Testplant Europe Ltd Method of, and apparatus for, testing computer hardware and software
GB2547222A (en) 2016-02-10 2017-08-16 Testplant Europe Ltd Method of, and apparatus for, testing computer hardware and software
US10789157B2 (en) * 2017-05-02 2020-09-29 Soroco Private Limited Systems and methods for detecting anomalies in execution of computer programs
JP2019149124A (ja) * 2018-02-28 2019-09-05 富士フイルム株式会社 変換装置、変換方法、及びプログラム

Family Cites Families (22)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4885717A (en) * 1986-09-25 1989-12-05 Tektronix, Inc. System for graphically representing operation of object-oriented programs
JPH01100642A (ja) * 1987-10-14 1989-04-18 Hitachi Ltd 計算機システムのテストカバレージ方式
US5093914A (en) * 1989-12-15 1992-03-03 At&T Bell Laboratories Method of controlling the execution of object-oriented programs
US5179702A (en) * 1989-12-29 1993-01-12 Supercomputer Systems Limited Partnership System and method for controlling a highly parallel multiprocessor using an anarchy based scheduler for parallel execution thread scheduling
JPH03271949A (ja) * 1990-03-20 1991-12-03 Nec Corp プログラムテストにおけるテスト環境自動生成方式
US5175856A (en) * 1990-06-11 1992-12-29 Supercomputer Systems Limited Partnership Computer with integrated hierarchical representation (ihr) of program wherein ihr file is available for debugging and optimizing during target execution
JPH04111024A (ja) * 1990-08-30 1992-04-13 Hitachi Ltd 計算機システムのテスト項目自動抽出方式
JPH04260941A (ja) * 1991-01-25 1992-09-16 Mitsubishi Electric Corp テストデータの自動生成装置
JPH04271440A (ja) * 1991-02-27 1992-09-28 Hitachi Ltd 試験項目自動生成方式
US5507030A (en) * 1991-03-07 1996-04-09 Digitial Equipment Corporation Successive translation, execution and interpretation of computer program having code at unknown locations due to execution transfer instructions having computed destination addresses
US5450586A (en) * 1991-08-14 1995-09-12 Hewlett-Packard Company System for analyzing and debugging embedded software through dynamic and interactive use of code markers
US5265254A (en) * 1991-08-14 1993-11-23 Hewlett-Packard Company System of debugging software through use of code markers inserted into spaces in the source code during and after compilation
US5446900A (en) * 1992-07-24 1995-08-29 Microtec Research, Inc. Method and apparatus for statement level debugging of a computer program
US5600789A (en) * 1992-11-19 1997-02-04 Segue Software, Inc. Automated GUI interface testing
CA2105055C (en) * 1993-01-05 1998-06-16 Jeffrey Scott Boston Window restoration methods for halted debuggee window applications
EP0690378A1 (en) * 1994-06-30 1996-01-03 Tandem Computers Incorporated Tool and method for diagnosing and correcting errors in a computer programm
US5740440A (en) * 1995-01-06 1998-04-14 Objective Software Technology Dynamic object visualization and browsing system
US5758122A (en) * 1995-03-16 1998-05-26 The United States Of America As Represented By The Secretary Of The Navy Immersive visual programming system
US5778230A (en) * 1995-11-13 1998-07-07 Object Technology Licensing Corp. Goal directed object-oriented debugging system
US5815653A (en) * 1995-11-13 1998-09-29 You; Lawrence L. Debugging system with portable debug environment-independent client and non-portable platform-specific server
US5764989A (en) * 1996-02-29 1998-06-09 Supercede, Inc. Interactive software development system
US5732210A (en) * 1996-03-15 1998-03-24 Hewlett-Packard Company Use of dynamic translation to provide fast debug event checks

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2008210107A (ja) 2007-02-26 2008-09-11 Fujitsu Ltd シミュレーション方法及びシミュレーション装置
US8725485B2 (en) 2007-02-26 2014-05-13 Spansion Llc Simulation method and simulation apparatus

Also Published As

Publication number Publication date
DE69720821D1 (de) 2003-05-22
EP0785510B1 (en) 2003-04-16
DE69720821T2 (de) 2004-02-05
EP0785510A1 (en) 1997-07-23
US5926638A (en) 1999-07-20
JP2795244B2 (ja) 1998-09-10

Similar Documents

Publication Publication Date Title
JP2795244B2 (ja) プログラムデバッグシステム
US6067641A (en) Demand-based generation of symbolic information
US7266809B2 (en) Software debugger and software development support system for microcomputer operable to execute conditional execution instruction
US9632754B2 (en) Auto generation and linkage of source code to test cases
US20050240824A1 (en) Method and apparatus for breakpoint analysis of computer programming code using unexpected code path conditions
JPH02272645A (ja) プログラム・デバツグ支援方法
US20030177471A1 (en) System and method for graphically developing a program
JP2004139458A (ja) プログラム開発支援装置、プログラム実行装置、コンパイル方法およびデバッグ方法
JPH0766342B2 (ja) プログラムテスト装置
Lee et al. A review of popular reverse engineering tools from a novice perspective
JP2002014847A (ja) プログラム検査装置、プログラム検査方法及び検査を行うためのプログラムを格納した記録媒体
Ousterhout Tcl/Tk Engineering Manual
JPH09237191A (ja) プログラミング支援装置、プログラミング支援方法、及びプログラミング支援プログラムを記録した媒体
WO2024069730A1 (ja) デバッグ装置及びデバッグ方法
JP3745968B2 (ja) 試験システム及び試験方法及び試験プログラム及び試験プログラムを記録した計算機で読み取り可能な記録媒体
Studio Getting Started Guide
JP3077627B2 (ja) デバッグ方法およびデバッグプログラムを記録する記録媒体
JPH05250221A (ja) シミュレータ実行方式
Abramson et al. Relative debugging in an integrated development environment
Wagnon et al. An E-machine workbench
Meyers et al. The Macintosh programmer's workshop
Antonioletti et al. Software engineering and code development for HPC applications
Gladstone Comparing Microcomputer Development System Capabilities
JPH01307837A (ja) Mpuシミュレーション方法及びmpuシミュレータ
US7627859B2 (en) Method for configuring non-script language library files to be run as scripts

Legal Events

Date Code Title Description
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 19980526