JP2926898B2 - デバッグ・サポート装置 - Google Patents

デバッグ・サポート装置

Info

Publication number
JP2926898B2
JP2926898B2 JP2141184A JP14118490A JP2926898B2 JP 2926898 B2 JP2926898 B2 JP 2926898B2 JP 2141184 A JP2141184 A JP 2141184A JP 14118490 A JP14118490 A JP 14118490A JP 2926898 B2 JP2926898 B2 JP 2926898B2
Authority
JP
Japan
Prior art keywords
program
basic
debugging
level language
debug
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.)
Expired - Lifetime
Application number
JP2141184A
Other languages
English (en)
Other versions
JPH0434625A (ja
Inventor
栄次 山下
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.)
YOKOKAWA DENKI KK
Original Assignee
YOKOKAWA DENKI KK
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 YOKOKAWA DENKI KK filed Critical YOKOKAWA DENKI KK
Priority to JP2141184A priority Critical patent/JP2926898B2/ja
Publication of JPH0434625A publication Critical patent/JPH0434625A/ja
Application granted granted Critical
Publication of JP2926898B2 publication Critical patent/JP2926898B2/ja
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Landscapes

  • Devices For Executing Special Programs (AREA)
  • Debugging And Monitoring (AREA)

Description

【発明の詳細な説明】 <産業上の利用分野> 本発明は、ベーシック(BASIC)インタプリタ言語の
プログラムに組み込まれた他の高級言語プログラム(例
えばコンパイラ型)で記述されたプログラムを、実機上
でシンボリックにデバッグできるようにしたデバッグ・
サポート装置に関する。
<従来の技術> BASICインタプリタ言語のプログラムに、他の高級言
語で記述されたプログラムを組込み、これをサブルーチ
ンとして呼び出すことができるようにした装置が提案さ
れている。
この場合、デバッグ環境で、BASICインタプリタのデ
バッグ機能で、他の高級言語の部分をデバッグするのは
一般に困難である。
その理由は、BASICインタプリタが、他の高級言語の
文法を解釈しなければならないからであり、BASICイン
タプリタにそのような機能を持たせるのは現実的でない
からである。
<発明が解決しようとする課題> プログラムを実機上でデバッグできないというのは、
その言語をサポートする上で多くの不都合がある。
本発明は、この様な点に鑑みてなされたもので、BASI
Cインタプリタ言語のプログラムに組込まれた他の高級
言語で記述されたプログラムを、実機上でシンボリック
にデバッグできるようにしたデバッグ・サポート装置を
提供することを目的とする。
<課題を解決するための手段> 前記した課題を解決する本発明は、 BASICインタプリタ言語のプログラムに他の言語で記
述された高級言語プログラムを組込むことができるよう
にした装置において、 前記BASICインタプリタ言語のプログラムに組込まれ
た他の高級言語プログラムに対してBASICインタプリタ
言語とは独立してシンボリックにデバッグできるデバッ
グ手段を設け、 前記高級言語プログラムに、その先頭部にスタートト
リガ発生手段を設けると共に、終端部にエンドトリガ発
生手段を設け、 前記デバッグ手段は、 前記高級言語プログラムの各トリガ発生手段から出力
されるスタートトリガを受けるとエンドトリガを受ける
までの間、前記BASICインタプリタ言語のプログラムそ
の管理下に置き、その間前記高級言語プログラムのデバ
ッグを行うように構成されている。
<作用> BASICインタプリタ言語プログラムからデバッグの対
象となっている高級言語プログラムに制御が移ると、ト
リガ発生手段からスタートトリガが出力される。
デバッグ手段は一般的なシンボリックデバッガの機能
と同じ機能を有するもので、このスタートトリガを受け
ると、エンドトリガを受けるまでの間、BASICプログラ
ムを管理下に置き、対象高級言語プログラムのデバッグ
動作を、通常のタスクレベルのデバッガのように行う。
<実施例> 以下図面を用いて、本発明の実施例を詳細に説明す
る。
第1図は、本発明の一実施例を示す構成概念図であ
る。図において、1はBASICインタプリタ言語のプログ
ラムに、他の言語で記述された高級言語プログラムを組
込むことができるように構成したマイクロプロセッサ搭
載の装置である。
2はこの装置に搭載されているBASICインタプリタ言
語のプログラム、3はこのプログラム2に組込まれた他
の高級言語(例えばコンパイラ型)で記述されたプログ
ラムである。
31は高級言語プログラム3の先頭部に設けたスタート
トリガ発生手段、32は終端部に設けたエンドトリガ発生
手段である。これらの各トリガ発生手段は、BASICプロ
グラムから高級言語プログラム3、高級言語プログラム
からBASICプログラムに制御が移るタイミングで、それ
ぞれトリガ信号を出力するもので、ハードウェア的に構
成してある。
4はシンボリックデバッグ手段で、BASICプログラム
2とは独立してシンボリックにデバッグできるように構
成されており、高級言語プログラム3の各トリガ発生手
段31,32から出力されるスタートトリガとエンドトリガ
とを受け、対象プログラムのリンク位置を知り、その
間、高級言語プログラム3のデバッグを行うようになっ
ている。
第2図は、例えばファクトリー・オートメーション
(FA)分野において用いられるコンピュータに、第1図
に示すデバッグ手段を搭載させた場合の一例を示す構成
概念図である。
この装置は、少なくとも2種類の画面S1,S2が用意さ
れていて、これらの画面をキーボード操作あるいはマウ
ス等の操作により切り替えられるようになっている。そ
して、これに搭載されているBASICプログラム2は、画
面S1を用いて動作し、シンボリックデバッグ手段4は、
画面S2を用いて動作する。5はメモリ内に構成されたBA
SICプログラムを実行するタスク領域を示しており、高
級言語プログラム3はBASICプログラムに対して、高級
ライブラリィという形でリンクしている。ここで、高級
言語で記述された高級ライブラリィや、シンボリックデ
バッグ手段4として機能するプログラムは、イメージフ
ァイル6からダウンロードされる。
第3図は、シンボリックデバッグ動作開始手順を示す
動作概念図である。
はじめに、画面S1を用いてあらかじめ、BASICプログ
ラムをローディングする(LOAD XXXX」)と共に、デバ
ッグの対象となる高級言語で記述された高級ライブラリ
ィ3をリンクさせておく(LINKLIB YYYY)()。
デバッグ手段4は、画面S2を用い、スタートトリガを
受けたタイミング(デバッグ対象の高速ライブラリィ3
が指定されたタイミング)で、BASICプログラム2に対
して高速ライブラリィのデバッグ開始通知を行う(イベ
ント通知)(,)。同時に、自身をエクセプション
・モニタ・タスクとし、BASICタスクをその管理下に置
く。
この様な状態で、ソースファイルの参照やブレークポ
イントの設定が行われ()、BASICタスクが“RUN"さ
れる()。
第4図は、BASICプログラムのデバッグ状態への移行
手順を示す概念図である。
デバッグ手段4からの“RUN"により、BASICプログラ
ムはコマンド入力待ちに戻り、オペレータのコマンド入
力により、前述したデバッグ開始イベントを受取り、指
定された高速ライブラリィ3のリンク場所を調べる。こ
こで、もし、指定の高速ライブラリィが見当たらない場
合、デバッグ手段4に対して「高速ライブラリィが存在
しないこと」を示す旨のエラーイベントを通知して、デ
バッグ状態にならない。
デバッグ手段4は、このエラーイベントを受取るとエ
ラーメッセージを画面に表示して、ターミネイトする。
指定の高速ライブラリィが見付かると、指定の高速ラ
イブラリィの先頭部と終端部に、START・エクセプショ
ン・コードとEND・エクセプション・コードとを設定し
て、デバッグ状態になる。それから、“RUN"コマンドに
よりユーザプログラムを順次実行していく。
第5図は、高速ライブラリィのデバッグ手順を示す概
念図である。
デバッグ対象の高速ライブラリィ3の先頭部で、トリ
ガ発生手段31による「スタートトリガ」(START エク
セプション)が発生し、これがデバッグ手段4に通知さ
れる。デバッグ手段4は、このスタートトリガを受け、
対象高速ライブラリィの実際のリンクアドレスを得る。
そして、はじめにイメージファイル6(ディスク)上の
イメージとの同一性を作成日時等によりチェックし、不
一致の場合エラーメッセージを表示して、コマンド入力
待ちの状態になる。
一致している場合、対象高速ライブラリのデバッグの
開始である。先に指定されているブレークポイントの設
定を行い、エクセプション・モニタ・タスクの資格でBA
SICタスクの動作管理を行う。この状態では、デバッグ
手段4は、コマンド入力状態になると共に、各種のデバ
ッグコマンドにより、高速ライブラリィのデバッグを行
う。
ここで、設定されているブレークポイントでは、“IL
LEGAL INSTRUCTIONエクセプション”が発生し、デバッ
グ手段4に通知される。
対象高速ライブラリィの終端部に達すると、トリガ発
生手段32による「エンドトリガ」(END エクセプショ
ン)が発生し、これがデバッグ手段4に通知される。デ
バッグ手段4は、このエンドトリガを受け、設定されて
いるブレークポイントの命令コードを元に戻し、対象高
速ライブラリィのデバッグを終了する。
第6図は、BASICコマンドの処理手順を示す概念図で
ある。
デバッグ状態で、例えば“SAVE"コマンドが実行され
た場合、デバッグ対象の高速ライブラリィのSTART/STOP
エクセプションコードを元の命令コードに戻し、セーブ
後、再びSTART/STOPエクセプションコードを設定する。
また、プログラムのロケーションが変更されても、ST
ART/STOPエクセプションの度に、アドレスのチェックが
行われる。この場合、ブレークポイントなどは相対アド
レスで管理されているので問題は生じない。また、LOAD
/CHAIN/START等、プログラム自身が変わるような場合、
デバッグ手段4にプログラム変更通知を行い、デバッグ
処理を解除することになる。デバッグ手段4は、この様
な通知を受取ると、エラーメッセージを表示してターミ
ネイトする。
デバッグ手段4は、デバッグ終了コマンドにより、設
定されているブレークポンイントを元の命令コードに戻
し、デバッグ終了通知をBASICプログラムに送る。
この通知を受けたBASICプログラムは、デバッグ状態
を解除し、対象となっている高速ライブラリィのSTART/
STOPエクセプションコードを元の命令に戻して、通常の
動作に戻る。
以上のような動作により、デバッグ対象の高速ライブ
ラリィに制御が移ったときから、リターンするまでの間
だけ、デバッグ手段により高級言語で記述された高速ラ
イブラリィを実機上でシンボリックにデバッグすること
ができる。
<発明の効果> 以上詳細に説明したように、本発明によれば、以下の
ような特長のあるデバッグ・サポート装置が提供でき
る。
(a)高級言語で記述された対象高速ライブラリィは、
そこに制御が移ったときからリターンするまでの間、デ
バッグ手段の管理下に置かれることにより、デバッグ中
でも通常のBASICインタプリタの動作自体には影響を与
えることはない。
(b)デバッグ動作のスタートとエンドのトリカ信号を
ハードウェア的に発生するようにすることにより、BASI
Cプログラムの動作が実際の動きと同じになり、実機デ
バッグとしての信頼性を高めることができる。
(c)デバッグ対象の高速ライブラリィのリンク位置
(アドレス)は、BASICプログラムの修正などにより動
的に変化する。プログラムのデバッグ中にプログラムを
動的に修正できるのは、BASICインタプリタ言語の特長
である。デバッグ動作のスタートトリガにより、対象高
速ライブラリィのリンク位置を認識することができるの
で、前述したBASICインタプリタ言語の特長を失うこと
なく、デバッグを行うことができる。
【図面の簡単な説明】
第1図は本発明の一実施例を示す構成概念図、 第2図は例えばFA分野において用いられるコンピュータ
に、第1図に示すデバッグ手段を搭載させた場合の一例
を示す構成概念図、 第3図はシンボリックデバッグ動作開始手順を示す動作
概念図、 第4図はBASICプログラムのデバッグ状態への移行手順
を示す概念図、 第5図は高速ライブラリィのデバッグ手順を示す概念
図、 第6図はBASICコマンドの処理手順を示す概念図であ
る。 1……マイクロプロセッサ搭載の装置 2……BASICインタプリタ言語プログラム 3……高級言語プログラム(高速ライブラリィ) 31……スタートトリガ発生手段 32……エンドトリガ発生手段 4……シンボリックデバッグ手段 6……イメージファイル

Claims (1)

    (57)【特許請求の範囲】
  1. 【請求項1】BASICインタプリタ言語のプログラムに他
    の言語で記述された高級言語プログラムを組込むことが
    できるようにした装置において、 前記BASICインタプリタ言語のプログラムに組込まれた
    他の高級言語プログラムに対してBASICインタプリタと
    は独立してシンボリックにデバッグできるデバッグ手段
    を設け、 前記高級言語プログラムに、その先頭部にスタートトリ
    ガ発生手段を設けると共に、終端部にエンドトリガ発生
    手段を設け、 前記デバッグ手段は、 前記高級言語プログラムの各トリガ発生手段から出力さ
    れるスタートトリガを受けるとエンドトリガを受けるま
    での間、前記BASICインタプリタ言語のプログラムその
    管理下に置き、その間前記高級言語プログラムのデバッ
    グを行う ことを特徴とするデバッグ・サポート装置。
JP2141184A 1990-05-30 1990-05-30 デバッグ・サポート装置 Expired - Lifetime JP2926898B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2141184A JP2926898B2 (ja) 1990-05-30 1990-05-30 デバッグ・サポート装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2141184A JP2926898B2 (ja) 1990-05-30 1990-05-30 デバッグ・サポート装置

Publications (2)

Publication Number Publication Date
JPH0434625A JPH0434625A (ja) 1992-02-05
JP2926898B2 true JP2926898B2 (ja) 1999-07-28

Family

ID=15286111

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2141184A Expired - Lifetime JP2926898B2 (ja) 1990-05-30 1990-05-30 デバッグ・サポート装置

Country Status (1)

Country Link
JP (1) JP2926898B2 (ja)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP4896481B2 (ja) * 2005-10-03 2012-03-14 株式会社オーバル 振動型カルマン渦流量計
US10127138B2 (en) * 2013-06-06 2018-11-13 Microsoft Technology Licensing, Llc. Debugging native code by transitioning from execution in native mode to execution in interpreted mode

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0766342B2 (ja) * 1985-11-12 1995-07-19 オムロン株式会社 プログラムテスト装置
JPH0196741A (ja) * 1987-10-09 1989-04-14 Fujitsu Ltd デバッガにおける共通セクション方式

Also Published As

Publication number Publication date
JPH0434625A (ja) 1992-02-05

Similar Documents

Publication Publication Date Title
US7721265B1 (en) Source code debugging method and apparatus for use in script testing environment
US7055140B2 (en) Software breakpoints implementation via specially named function
JPH07295859A (ja) プログラムの動的特性の決定
JP2926898B2 (ja) デバッグ・サポート装置
JPH0744419A (ja) マイコン開発支援装置
JP2007004516A (ja) 組込みシステムのプログラムデバッグ方法
JPH05274177A (ja) リアルタイム・システム・デバッグ装置
Loukides et al. Getting to know gdb
KR19990024554A (ko) 피엘씨의 시뮬레이터
JP2659366B2 (ja) デバッグ方法及びその装置
JP2006350676A (ja) 組込みシステムのプログラムデバッグ方法
JPH03209534A (ja) プログラム開発支援装置
JPS59202548A (ja) デバツグ装置
JPH06242943A (ja) ソースコードレベルデバッグ装置
JPS61180342A (ja) 高級言語のステツプ実行方式
JPH0239332A (ja) ソフトウェアブレーク方式
JP2002073370A (ja) デバッグ支援装置およびその装置によるデバッグ方法
JPS63178341A (ja) プログラムデバツグ方式
Wallach Gemini Lite: a non-intrusive debugger for Windows NT
JPH0395638A (ja) デバッグ装置
JPH0433135A (ja) プログラムのデバッグ方式
JPS6116344A (ja) 対話形式デバツグ処理方式
JP2002196950A (ja) デバッグシステム
JPH04333146A (ja) デバッグにおけるプログラムの実行制御方式
JPS62290942A (ja) デバツガ起動方式