JP2812302B2 - プログラム開発装置 - Google Patents

プログラム開発装置

Info

Publication number
JP2812302B2
JP2812302B2 JP8148361A JP14836196A JP2812302B2 JP 2812302 B2 JP2812302 B2 JP 2812302B2 JP 8148361 A JP8148361 A JP 8148361A JP 14836196 A JP14836196 A JP 14836196A JP 2812302 B2 JP2812302 B2 JP 2812302B2
Authority
JP
Japan
Prior art keywords
debug command
information
source program
program
line
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
JP8148361A
Other languages
English (en)
Other versions
JPH09305436A (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.)
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 JP8148361A priority Critical patent/JP2812302B2/ja
Publication of JPH09305436A publication Critical patent/JPH09305436A/ja
Application granted granted Critical
Publication of JP2812302B2 publication Critical patent/JP2812302B2/ja
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Landscapes

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

Description

【発明の詳細な説明】
【0001】
【発明の属する技術分野】本発明は言語処理プログラム
プログラム開発装置に関する。
【0002】
【従来の技術】従来のプログラム開発装置を図7を参照
して説明する。プログラム開発装置は、ソースプログラ
ムをオブジェクト情報(オブジェクトプログラムまたは
オブジェクトモジュール)に変換するアセンブラ部1、
複数のオブジェクト情報を結合してロードモジュールに
するリンカ部2、及びロードモジュールのデバッグを行
うデバッガ部3よりなる。以下、各部について説明す
る。
【0003】アセンブラ部1においては、ソースプログ
ラムファイル4からソースプログラムが入力部11に入
力され、構文解析部12によりこのソースプログラムを
解析する。この解析の結果、オブジェクト出力部13は
オブジェクト情報及び行番号情報をオブジェクトファイ
ル5に出力する。
【0004】リンガ部2においては、オブジェクトファ
イル5からオブジェクト情報、行番号情報が入力部21
に入力され、結合配置部22によりこのオブジェクト情
報、行番号情報の結合、配置を行い、絶対アドレスを確
定する。この絶対アドレスの確定の結果、ロードモジュ
ール出力部23はロードモジュール及び行番号情報をロ
ードモジュールファイル6に出力する。
【0005】デバッガ部3においては、ロードモジュー
ルファイル6からロードモジュール行番号情報が入力部
31に入力され、デバッグコマンド7を設定する。デバ
ッグ部32は、ロードモジュール、行番号情報により、
ソースプログラムとオブジェクト情報との対応付けを行
い、デバッグコマンド7によりデバッグを行う。たとえ
ば、ソースプログラムの100行目でブレークをする場
合、デバッグコマンドにより100行目でブレークを行
うことを指示し、この結果、デバッグ部32において、
プログラムの実行が開始し、上記デバッグコマンドによ
り対応するオブジェクト情報でプログラムの実行を停止
する。このように、ソースプログラムと直接関係する行
番号情報をオブジェクトファイル5、ロードモジュール
ファイル6に出力し、デバッガ3においてこの行番号情
報を利用している。すなわち、デバッガ3において、あ
る行でブレークポイントを設定する等を、デバッグの度
にデバッグコマンドで設定し、このとき、行番号情報と
絶対アドレスとの対応付けにより設定する。
【0006】
【発明が解決しようとする課題】しかしながら、図7の
従来のプログラム開発装置においては、ソースプログラ
ムの変更毎にデバッグコマンドの再設定を行わなければ
ならず、この結果、デバッグに相当の時間を要し、プロ
グラムの開発時間が多大になるという課題がある。な
お、ソースプログラムレベルでデバッグを行うものがあ
るが(参照:特開平3−53347号公報、特開平4−
169941号公報)、ステップ動作を行わない場合、
再コンパイルが必要となる欠点がある。従って、本発明
の目的は、プログラム開発時間を短縮できるプログラム
開発装置を提供することにある。
【0007】
【課題を解決するための手段】上述の課題を解決するた
めに本発明は、入力されたソースプログラムを解析した
結果、オブジェクト出力対象があるときには、オブジェ
クト情報を生成して出力し、デバックコマンドがあると
きには、デバックコマンド情報を生成して出力する。す
なわち、ソースプログラムで指定されたデバッグコマン
ドをデバックコマンド情報として生成することにより、
デバック時のコマンドの再設定は不要となる。また、デ
バッグコマンドの設定はプログラムのオブジェクトとは
別に生成されるので、デバッグ時のプログラムと最終プ
ログラムの同一性が確保される。
【0008】
【発明の実施の形態】図1は本発明に係るプログラム開
発装置の実施の形態を示すブロック図である。図1にお
いては、図7のプログラム開発装置に対して、デバッグ
コマンド7の代りに、デバッグコマンド情報ファイル
8、9を付加してある。また、アセンブラ部1には、デ
バッグコマンド情報をデバッグコマンド情報ファイル8
に出力するデバッグコマンド情報出力部14を追加して
ある。また、リンカ部2には、デバッグコマンド情報を
補正してデバッグコマンド情報ファイル9に出力するデ
バッグコマンド情報出力部24を付加してある。なお、
ロードモジュール出力部23はオブジェクト情報、行番
号情報の補正を行ってロードモジュールファイル6に出
力する。さらに、デバッガ部3の入力部31はデバッグ
コマンド情報ファイル9からデバッグコマンドが入力さ
れる。以下、図1の各部の動作を説明する。
【0009】図2は図1のアセンブラ部1の動作を示す
フローチャートである。始めに、ステップ201では、
ソースプログラムファイル4からソースプログラムの1
行を入力する。次に、ステップ202では、入力された
ソースプログラムの1行を解析する。次いで、ステップ
203では、解析されたソースプログラムの1行がソー
スプログラムの終了か否かを判別し、ステップ204で
は、解析されたソースプログラムの1行がデバッグコマ
ンドか否かを判別し、ステップ205では、解析された
ソースプログラムの1行がオブジェクト出力対象か否か
を判別する。
【0010】従って、解析されたソースプログラムの1
行がソースプログラムの終了であれば、ステップ203
からステップ206に進み、処理を終了する。解析され
たソースプログラムの1行がデバッグコマンドであれ
ば、ステップ204からステップ207に進み、デバッ
グコマンド情報の生成を行う。すなわち、図6に(A)
示すように、コマンド種別、行番号、相対アドレス及び
セグメント番号を生成し、ステップ208にてデバッグ
コマンド情報をデバッグコマンド情報ファイル8に出力
する。そして、ステップ201に戻り、ソースプログラ
ムの次の行を入力する。解析されたソースプログラムの
1行が機械語を出力する行あるいはセグメント行である
オブジェクト出力対象であれば、ステップ205からス
テップ209、210に進む。すなわち、ステップ20
9では、オブジェクトあるいはセグメント情報、行番号
情報を生成し、ステップ210にてオブジェクトファイ
ル5に出力する。そして、ステップ201に戻り、ソー
スプログラムの次の行を入力する。また、ステップ20
5にてオブジェクト出力対象でなければ、やはり、ステ
ップ201に戻り、ソースプログラムの次の行を入力す
る。
【0011】図5のソースプログラムを例として図2の
動作を説明する。モジュールAの1行目の“C1CSE
G”をステップ202にて解析すると、オブジェクト出
力対象のセグメント行であるので、ステップ205から
ステップ209、210に進む。すなわち、セグメント
情報、行番号情報を生成してオブジェクトファイル5に
出力する。モジュールAの2行目の“NOP”をステッ
プ202にて解析すると、オブジェクト出力対象の機械
語を出力する行であるので、ステップ205からステッ
プ209、210に進む。すなわち、オブジェクト、行
番号情報を生成してオブジェクトファイル5に出力す
る。
【0012】10行目の“SETBR”をステップ20
2にて解析すると、デバッグコマンドであるので、ステ
ップ204からステップ207、208に進む。すなわ
ち、図6の(B)に示すように、デバッグコマンド情報
として、コマンド種別を“ブレークコマンド”、行番号
を“10”、相対アドレスを“12H”、セグメント番
号を“1”として生成し、デバッグコマンド情報ファイ
ル8に出力する。50行目の“END”をステップ20
2にて解析すると、ソースプログラムの終了であるの
で、ステップ203からステップ206に進み、処理を
終了する。
【0013】図3は図1のリンカ部2の動作を示すフロ
ーチャートである。ステップ301では、オブジェクト
ファイル5及びデバッグコマンド情報ファイル8からオ
ブジェクト、デバッグコマンド情報を入力する。ステッ
プ302では、入力されたオブジェクト情報の結合、配
置を行う。ステップ303では、オブジェクトかデバッ
クコマンド情報かの判別を行う。この結果、オブジェク
トであれば、ステップ304、305に進み、デバック
コマンド情報であればステップ306、307に進む。
ステップ304では、オブジェクト情報、行番号情報の
補正を行い、ステップ305にてロードモジュールファ
イル6に出力する。ステップ306では、デバッグコマ
ンド情報の補正を行い、ステップ307にてデバッグコ
マンド情報ファイル9に出力する。ステップ308で
は、すべての処理が終了したか否かを判別し、すべての
処理が終了していればステップ309に進み、処理を終
了する。
【0014】たとえば、図5のモジュールAのセグメン
ト“C1”が100番地に配置された場合を考える。こ
の場合、デバッグコマンド情報であるので、ステップ3
03からステップ306に進む。この結果、セグメント
番号“1”によりセグメント“C1”を限定し、確定し
たベースアドレス“100H”を得、相対アドレス“1
2H”に加算し、図6の(C)に示すごとく、絶対アド
レス“112H”を得る。
【0015】図4は図1のデバッカ部3の動作を示すフ
ローチャートである。ステップ401では、ロードモジ
ュールファイル6からオブジェクト情報と、行番号情報
を入力し、ステップ402にて、ソースプログラムとオ
ブジェクトとの対応付けを行う。次に、ステップ403
では、デバッグコマンド情報ファイル9からデバッグコ
マンド情報を入力し、ステップ404にてデバッグコマ
ンドの設定を行う。次に、ステップ405では、デバッ
グコマンドの行に対応したオブジェクトの位置でコマン
ドの実行を行う。次に、ステップ406にてデバック終
了か否かを判別し、この結果、デバッグ終了であればス
テップ407に進み、処理を終了する。他の場合、ステ
ップ405に進む。
【0016】たとえば、図6の(C)に示す場合、コマ
ンド種別“ブレークコマンド”が示すモジュールAの行
番号10行目に対応した絶対アドレス“112H”の位
置でプログラムの実行を停止する。
【0017】このように、ソースプログラムにおいてデ
バックコマンドを指定することによりデバッグコマンド
情報を生成してデバッグを行うことにより、ソースプロ
グラムを変更した場合でも、デバッグコマンドの再設定
は必要ない。また、デバックコマンドの設定はプログラ
ムのオブジェクトとは別に生成されるので、デバッグ時
のプログラムと最終プログラムとの同一性が確保され
る。
【0018】
【発明の効果】以上説明したように本発明によれば、デ
バッグ時のコマンドの再設定は不要となり、また、デバ
ッグ時のプログラムと最終プログラムとの同一性が確保
されるので、プログラム開発時間を大幅に短縮できる。
【図面の簡単な説明】
【図1】本発明に係るプログラム開発装置の実施の形態
を示すブロック図である。
【図2】図1のアセンブラ部の動作を示すフローチャー
トである。
【図3】図1のリンカ部の動作を示すフローチャートで
ある。
【図4】図1のデバッグ部の動作を示すフローチャート
である。
【図5】プログラムの一例を示す図である。
【図6】デバッグコマンド情報を示す図である。
【図7】従来のプログラム開発装置を示すブロック図で
ある。
【符号の説明】 1─アセンブラ部 2─リンカ部 3─デバッカ部 4─ソースプログラムファイル 5─オブジェクトファイル 6─ロードモジュールファイル 7─デバックコマンド 8、9─デバックコマンド情報

Claims (2)

    (57)【特許請求の範囲】
  1. 【請求項1】 ソースプログラムファイル(4)よりソ
    ースプログラムを入力する手段(11)と、 該入力されたソースプログラムを解析する解析手段(1
    2)と、 該解析した結果からソースプログラムにオブジェクト出
    力対象があるときにはオブジェクト情報を生成して出力
    する手段(13)と、 前記解析した結果からソースプログラムにデバックコマ
    ンドがあるときにはデバッグコマンド情報を生成して出
    力する手段(14)とを具備するプログラム開発装置。
  2. 【請求項2】 さらに、 前記生成されたオブジェクト情報の結合、配置を行い、
    該オブジェクト情報の補正を行って出力し、前記デバッ
    クコマンド情報の補正を行って出力するリンカ部(2)
    と、 前記ソースプログラムと前記リンカ部から補正されたオ
    ブジェクト情報との対応付けを行い、前記リンカ部から
    補正されたデバッグコマンド情報によりデバッグコマン
    ドの設定を行い、該デバックコマンドを前記オブジェク
    ト情報に対して実行するデバッカ部(3)とを具備する
    請求項1に記載のプログラム開発装置。
JP8148361A 1996-05-17 1996-05-17 プログラム開発装置 Expired - Lifetime JP2812302B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP8148361A JP2812302B2 (ja) 1996-05-17 1996-05-17 プログラム開発装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP8148361A JP2812302B2 (ja) 1996-05-17 1996-05-17 プログラム開発装置

Publications (2)

Publication Number Publication Date
JPH09305436A JPH09305436A (ja) 1997-11-28
JP2812302B2 true JP2812302B2 (ja) 1998-10-22

Family

ID=15451050

Family Applications (1)

Application Number Title Priority Date Filing Date
JP8148361A Expired - Lifetime JP2812302B2 (ja) 1996-05-17 1996-05-17 プログラム開発装置

Country Status (1)

Country Link
JP (1) JP2812302B2 (ja)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP3712366B2 (ja) 2000-08-15 2005-11-02 株式会社ソニー・コンピュータエンタテインメント 情報処理システム、実行可能モジュール生成方法および記憶媒体

Also Published As

Publication number Publication date
JPH09305436A (ja) 1997-11-28

Similar Documents

Publication Publication Date Title
US20060064677A1 (en) Debugger and method for debugging computer programs across multiple programming languages
JP2000122886A (ja) 半導体試験装置のプログラム作成方式
JP2812302B2 (ja) プログラム開発装置
JP3196675B2 (ja) 言語処理方式
KR0125605B1 (ko) 프로그램의 아키덱쳐 변환방법 및 장치와 그 방법 및 장치를 사용하여 프로그램의 동작을 검증하는 방법 및 장치
JP5021584B2 (ja) マイコンシミュレータ、そのシミュレーション方法、プログラム、及びコンピュータ読み取り可能な媒体
US20040153803A1 (en) Debug device, debug method and storage medium
JP2907129B2 (ja) パッチ作成システム
JP2004287869A (ja) プログラム実行監視装置および方法
JP3278613B2 (ja) 言語処理システム及びその言語処理方法
JP3063297B2 (ja) 言語処理プログラム作成装置
WO2022249420A1 (ja) テスト生成装置、テスト生成方法、及びプログラム
KR100231692B1 (ko) Chill 디버깅 정보 생성방법
JP2001014185A (ja) コンパイルおよびデバッグ方法
JPH05334119A (ja) プログラムデバッグ方法
JPH08255097A (ja) デバッグ情報出力方式
JPH06242943A (ja) ソースコードレベルデバッグ装置
JP3077627B2 (ja) デバッグ方法およびデバッグプログラムを記録する記録媒体
JP5120166B2 (ja) 組込みソフトウェア開発支援システム、支援方法およびプログラム
JP2008077278A (ja) テストシミュレータ
JPH04367946A (ja) デバッグ情報出力方式
JPH03144832A (ja) プリコンパイラ言語プログラムのシンボリックデバッグ装置
JPH0922346A (ja) コンパイラシステム
JPH11272500A (ja) デバッグ方法ならびにそのためのデバッグ装置およびプログラム記憶媒体
JP2001147832A (ja) ソースプログラム対応表示方式