JP3114686B2 - プログラム・ディバグ方法 - Google Patents

プログラム・ディバグ方法

Info

Publication number
JP3114686B2
JP3114686B2 JP10071992A JP7199298A JP3114686B2 JP 3114686 B2 JP3114686 B2 JP 3114686B2 JP 10071992 A JP10071992 A JP 10071992A JP 7199298 A JP7199298 A JP 7199298A JP 3114686 B2 JP3114686 B2 JP 3114686B2
Authority
JP
Japan
Prior art keywords
file
task
debug
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.)
Expired - Fee Related
Application number
JP10071992A
Other languages
English (en)
Other versions
JPH11272497A (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 JP10071992A priority Critical patent/JP3114686B2/ja
Publication of JPH11272497A publication Critical patent/JPH11272497A/ja
Application granted granted Critical
Publication of JP3114686B2 publication Critical patent/JP3114686B2/ja
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Landscapes

  • Debugging And Monitoring (AREA)

Description

【発明の詳細な説明】
【0001】
【発明の属する技術分野】本発明はプログラム・ディバ
方法に係り、特に言語処理プログラムのプログラム・
ディバグ方法に関する。
【0002】
【従来の技術】図6は従来のプログラム・ディバグ方式
の一例の説明図、図7は従来のプログラム・ディバグ方
式の一例の処理説明用フローチャートを示す。この従来
例はリアルタイム・オペレーティング・システム(O
S)を組み込んだプログラムのディバグの例である。
【0003】図6において、ソースプログラム1をコン
パイラ又はアセンブラ2に入力して、オブジェクトプロ
グラム3を生成する。そして、このオブジェクトプログ
ラム3を、リアルタイムOSを組み込んだプログラムデ
ィバグ(これをタスクディバグという)の情報ファイル
4と共にディバッガ5に入力する。
【0004】ディバッガ5は図7のフローチャートに従
った処理を行う。ディバッガ5が起動されると、まず、
ディバッガ5の動作環境の設定(メモリの確保、デバイ
スドライバの設定等)を行い(ステップ11)、続いて
タスクディバグ情報ファイルが存在するかどうか判定し
(ステップ12)、存在する場合はタスクディバグ情報
ファイルの情報を参照して、タスクディバッガとパフォ
ーマンスアナライザを使用するかどうか判定し、タスク
ディバッガを使用する場合はタスクディバガ用ファイル
を読み込み(ステップ13、14)、パフォーマンスア
ナライザを使用する場合はパフォーマンスアナライザ用
ファイルを読み込む(ステップ15、16)。
【0005】上記のディバッガの設定が終了すると、続
いてユーザが入力するコマンドを判定し(ステップ1
8)、コマンドがAであれば”A”の処理を、Bであれ
ば”B”の処理を行う(ステップ19、20)。そし
て、オブジェクトファイルを読み込むという意味のコマ
ンドをユーザが指定した場合も、タスクディバグ機能の
必要/不要に関わらず、最初にタスク・ディバグ情報フ
ァイル4で指定された環境でダウンロードする(ステッ
プ21)。
【0006】
【発明が解決しようとする課題】しかるに、上記の従来
のプログラム・ディバグ方式では、タスクディバグ機能
を付加するか否かは、タスク・ディバグ情報ファイル4
の内容で一意に決まるため、ディバッガ起動後はタスク
ディバグ機能をダイナミックに付加したり、削除したり
することができないという問題がある。
【0007】 本発明は上記の点に鑑みなされたもの
で、ディバッガ起動後はディバッガを終了し直さなくて
も、ディバグ対象プログラム(オブジェクトファイル)
によって、別のオブジェクトファイルへの切り換えがで
きるプログラム・ディバグ方法を提供することを目的と
する。
【0008】
【課題を解決するための手段】上記の目的を達成するた
め、本発明はソースファイルをコンパイラ又はアセンブ
ラに入力してオブジェクトファイルを生成する際に、リ
アルタイムOSをリンクするか否かにより、ディバグ機
能を必要とするオブジェクトファイルかディバグ機能を
必要としないオブジェクトファイルかを示すタスクディ
バグ情報を含むオブジェクトファイルを生成し、このオ
ブジェクトファイルをディバッガでディバグするプログ
ラム・ディバグ方法であって、オブジェクトファイルを
読み込む毎に、そのオブジェクトファイルに含まれるタ
スクディバグ情報を検索し、検索したタスクディバグ情
報がリアルタイムOSをリンクしたものであるときは
タスクディバグ機能が必要であると判断して、そのタス
クディバグ情報を構成するタスクディバグ用ファイルと
パフォーマンス・アナライザ用ファイルを読み込み、検
索したタスクディバグ情報がリアルタイムOSをリンク
したものでないときは タスクディバグ機能が不要であ
ると判断して、タスクディバグ用ファイルを切り離すこ
とを特徴とする。
【0009】
【0010】
【0011】また、本発明の言語処理プログラムは、デ
ィバグに関してプラグインすべき別プログラムの情報を
非ディバグ対象プログラム自身に含めることを特徴とす
る。
【0012】
【発明の実施の形態】次に、本発明の実施の形態につい
て図面と共に説明する。図1は本発明になるプログラム
・ディバグ方法の一実施の形態の説明図、図2は本発明
になるプログラム・ディバグ方法の一実施の形態の処理
説明用フローチャートを示す。図1において、ソースフ
ァイル31をコンパイラ又はアセンブラ33に入力し
て、オブジェクトファイル34を生成する。その時に、
リアルタイムOS32をリンクした場合は、ディバグ情
報としてタスクディバグ機能が必要であることを情報と
してオブジェクトファイル34に出力する。これによ
り、オフジェクトファイル34にタスクディバグ情報3
5が含まれ、それがディバッガ36に入力される。
【0013】ディバッガ36は図2のフローチャートに
従った処理を行う。ディバッガ36が起動されると、ま
ず、ディバッガ36の動作環境の設定(メモリの確保、
デバイスドライバの設定等)を行い(ステップ41)、
続いてユーザが入力するコマンドあるかどうかを判定し
(ステップ42)、あればそのコマンドが何であるか判
定し(ステップ43)、コマンドAであれば”A”の処
理を、コマンドBであれば”B”の処理を行う(ステッ
プ44、45)。
【0014】そして、オブジェクトファイルを読み込む
という意味のコマンドをユーザが指定した場合は、指定
されたオブジェクトファイル34を読み込む(ステップ
46)。ここで、オブジェクトファイル34を組み込む
毎に、オブジェクトファイル34内のタスクディバグ情
報35を検索し(ステップ47)、リアルタイムOS
(RTOS)を読み込んでいるか判定し(ステップ4
8)、読み込んでいる場合(すなわち、タスクディバグ
機能が必要な場合)、タスクディバグ用ファイルとパフ
ォーマンス・アナライザ用ファイルを読み込み(ステッ
プ49)、タスクディバグ機能が不要な場合はタスクデ
ィバグ用ファイルを切り離す(ステップ50)。
【0015】図3はオブジェクトファイル34の一例の
構成図を示す。同図に示すように、オブジェクトファイ
ル34は、プログラム情報、セクション情報、セグメン
ト情報及びタスクディバグ情報からなり、タスクディバ
グ情報としてタスクディバッガとパフォーマンス・アナ
ライザを使用するか使用しないかを示す情報を有してい
る。この場合は、どちらも使用することを意味する”O
N”を指定してある。
【0016】次に、図2にで示したステップ46〜5
0の処理動作について、図4のフローチャートと共に更
に詳細に説明する。図4において、ユーザが指定したオ
ブジェクトファイルをディバッガ36が読み込み(ステ
ップ46)、読み込んだオブジェクトファイル内のタス
クディバグ情報に、タスクディバッガを使用する情報
(task_debugger=ON)があるかどうか検索し(ステップ
51)、あれば現在、タスクディバッガが使用されてい
るかどうか判定し(ステップ52)、使用されていなけ
ればタスクディバグ用ファイルを読み込む(ステップ5
3)。
【0017】一方、ステップ51でタスクディバッガを
使用しない情報(task_debugger=OFF)があると判定した
時、あるいは、タスクディバッガを使用する情報(task
_debugger=ON)があってもステップ52で現在タスクデ
ィバッガが使用されていると判定された時には、タスク
ディバグ用ファイルは読み込まず、タスクディバグが起
動中であれば、終了させる。
【0018】次に、読み込んだオブジェクトファイル内
のタスクディバグ情報に、パフォーマンス・アナライザ
を使用するという情報(performance analyzer=ON)があ
るかどうか検索し(ステップ54)、あれば現在、パフ
ォーマンス・アナライザが使用されているかどうか判定
し(ステップ55)、使用されていなければパフォーマ
ンス・アナライザ用ファイルを読み込む(ステップ5
6)。
【0019】一方、ステップ54でパフォーマンス・ア
ナライザを使用しないという情報(performance analyz
er=OFF) があると判定されたとき、あるいは、パフォー
マンス・アナライザを使用するという情報(performanc
e analyzer=ON)があると判定された場合でも、ステップ
55で現在、パフォーマンス・アナライザが使用されて
いると判定されたときには、パフォーマンス・アナライ
ザ用ファイルの読み込みは行わず、パフォーマンス・ア
ナライザが起動中であれば、終了させる。
【0020】このように、この実施の形態によれば、デ
ィバグ機能を必要としないオブジェクトファイルをディ
バグ中に、ディバグ機能を必要とするオブジェクトファ
イルに切り換えたい場合、ディバッガを終了して起動し
直さなくてもディバグ対象オブジェクトファイルを別の
オブジェクトファイルに切り換えることができる。
【0021】次に、本発明の他の実施の形態について、
図5のフローチャートと共に説明する。同図中、図2と
同一処理ステップには同一符号を付してある。図2の実
施の形態では、オブジェクトファイル内に明示的にタス
クディバグ機能を使用する記述をしたが、この実施の形
態ではオブジェクトファイル内のシンボル情報からリア
ルタイムOS(RTOS)固有のシンボル名を検索す
る。
【0022】すなわち、図5において、指定オブジェク
トファイルを読み込んだ後(ステップ46)、オブジェ
クトファイル内のRTOS固有シンボル名(例えば、_u
rx_start)を検索し(ステップ58)、そのシンボルが
存在すればRTOSをリンクしてあると判断し(ステッ
プ59)、タスクディバッガとパフォーマンス・アナラ
イザが起動されていなければ、タスクディバグ用ファイ
ルとパフォーマンス・アナライザ用ファイルを読み込む
(ステップ49)。
【0023】
【発明の効果】以上説明したように、本発明によれば、
オブジェクトファイル自身にディバグに関してプラグイ
ン又はプラグアウトすべきプログラムの情報を有してい
るため、ディバグ機能を必要としないオブジェクトファ
イルをディバグ中に、ディバグ対象をディバグ機能を必
要とするオブジェクトファイルに切り換えたい場合、デ
ィバッガを終了して起動し直さなくてもディバグ対象オ
ブジェクトファイルを別のオブジェクトファイルに切り
換えることができる。これにより、対象オブジェクトフ
ァイルに応じたディバグ機能をユーザが明示的にファイ
ルに記述してディバッガに通知するのではなく、ディバ
ッガにより自動的に設定することができる。
【図面の簡単な説明】
【図1】本発明になるプログラム・ディバグ方法の一実
施の形態の説明図である。
【図2】本発明になるプログラム・ディバグ方法の一実
施の形態の処理説明用フローチャートである。
【図3】オブジェクトファイルの一例の構成図である。
【図4】図2中の要部の詳細処理説明用フローチャート
である。
【図5】本発明になるプログラム・ディバグ方法の他の
実施の形態の説明図である。
【図6】従来のプログラム・ディバグ方法の一例の説明
図である。
【図7】図6の処理説明用フローチャートである。
【符号の説明】
31 ソースファイル 32 リアルタイムOS 33 コンパイラ/アセンブラ 34 オブジェクトファイル 35 タスクディバグ情報 36 ディバッガ

Claims (4)

    (57)【特許請求の範囲】
  1. 【請求項1】 ソースファイルをコンパイラ又はアセン
    ブラに入力してオブジェクトファイルを生成する際に、
    リアルタイムOSをリンクするか否かにより、ディバグ
    機能を必要とするオブジェクトファイルか前記ディバグ
    機能を必要としないオブジェクトファイルかを示すタス
    クディバグ情報を含むオブジェクトファイルを生成し、
    このオブジェクトファイルをディバッガでディバグする
    プログラム・ディバグ方法であって、 前記オブジェクトファイルを読み込む毎に、そのオブジ
    ェクトファイルに含まれる前記タスクディバグ情報を検
    索し、検索した該タスクディバグ情報が前記リアルタイ
    ムOSをリンクしたものであるときは 前記タスクディ
    バグ機能が必要であると判断して、そのタスクディバグ
    情報を構成するタスクディバグ用ファイルとパフォーマ
    ンス・アナライザ用ファイルを読み込み、検索した該タ
    スクディバグ情報が前記リアルタイムOSをリンクした
    ものでないときは 前記タスクディバグ機能が不要であ
    ると判断して、タスクディバグ用ファイルを切り離すこ
    とを特徴とするプログラム・ディバグ方法
  2. 【請求項2】 検索した前記タスクディバグ情報が前記
    リアルタイムOSをリンクしたものであるときは タス
    クディバッガが使用されていないときに前記タスクディ
    バグ用ファイルを読み込むと共に、前記パフォーマンス
    ・アナライザ用ファイルが前記パフォーマンス・アナラ
    イザを使用することを示しているときには、現在該パフ
    ォーマンス・アナライザを起動していなければ該パフォ
    ーマンス・アナライザ用ファイルを読み込み、前記タス
    クディバッガが使用されているとき 又は検索した前記
    タスクディバグ情報が前記リアルタイムOSをリンクし
    たものでないときは 前記タスクディバグ用ファイルは
    読み込まず、前記ディバッガが起動中であれば終了さ
    せ、前記パフォーマンス・アナライザが使用されている
    とき、又は検索した前記タスクディバグ情報が前記リア
    ルタイムOSをリンクしたものでないときは 前記パフ
    ォーマンス・アナライザ用ファイルは読み込まず、前記
    パフォーマンス・アナライザが起動中であれば終了する
    ことを特徴とする請求項1記載のプログラム・ディバグ
    方法。
  3. 【請求項3】 ソースファイルをコンパイラ又はアセン
    ブラに入力してオブ ジェクトファイルを生成する際に、
    ディバグ機能を必要とするときはリアルタイムOSをリ
    ンクしてオブジェクトファイルに該リアルタイムOSの
    シンボル情報を含め 前記ディバグ機能を必要としない
    ときは前記リアルタイムOSをリンクせず前記シンボル
    情報を前記オブジェクトファイルに含めないようにした
    該オブジェクトファイルをディバッガでディバグするプ
    ログラム・ディバグ方法であって、 前記オブジェクトファイルを読み込む毎に、そのオブジ
    ェクトファイルに含まれる前記シンボル情報を検索し、
    検索した該シンボル情報が存在するときは タスクディ
    バグ用ファイルとパフォーマンス・アナライザ用ファイ
    ルを読み込み、検索した該シンボル情報が存在しないと
    きは タスクディバグ用ファイルを切り離すことを特徴
    とするプログラム・ディバグ方法
  4. 【請求項4】 検索した前記シンボル情報が存在すると
    きには、現在タスクディバッガを起動していなければ該
    タスクディバッガ用のファイルを起動し、パフォーマン
    ス・アナライザを起動していなければ該パフォーマンス
    ・アナライザ用のファイルを起動し、前記タスクディバ
    ッガ又は前記パフォーマンス・アナライザが起動中であ
    れば終了することを特徴とする請求項3記載のプログラ
    ム・ディバグ方法
JP10071992A 1998-03-20 1998-03-20 プログラム・ディバグ方法 Expired - Fee Related JP3114686B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP10071992A JP3114686B2 (ja) 1998-03-20 1998-03-20 プログラム・ディバグ方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP10071992A JP3114686B2 (ja) 1998-03-20 1998-03-20 プログラム・ディバグ方法

Publications (2)

Publication Number Publication Date
JPH11272497A JPH11272497A (ja) 1999-10-08
JP3114686B2 true JP3114686B2 (ja) 2000-12-04

Family

ID=13476482

Family Applications (1)

Application Number Title Priority Date Filing Date
JP10071992A Expired - Fee Related JP3114686B2 (ja) 1998-03-20 1998-03-20 プログラム・ディバグ方法

Country Status (1)

Country Link
JP (1) JP3114686B2 (ja)

Also Published As

Publication number Publication date
JPH11272497A (ja) 1999-10-08

Similar Documents

Publication Publication Date Title
JP4901075B2 (ja) コンピュータ読取可能な媒体、方法及びコンピューティングデバイス
US6161216A (en) Source code debugging tool
US5561800A (en) Method and apparatus for incrementally linking modified routines into software
JP2692609B2 (ja) マルチタスクのプログラムデバッグ方法とその装置
US20050278318A1 (en) Iterative development with prioritized build
US20040168157A1 (en) System and method for creating a process invocation tree
JP3114686B2 (ja) プログラム・ディバグ方法
JP2817786B2 (ja) シミュレーション装置及びシミュレーション方法
JP2002055848A (ja) プログラム実行方式及び当該プログラム実行方式を格納した記憶媒体
JP2007004516A (ja) 組込みシステムのプログラムデバッグ方法
JP2658982B2 (ja) 特定命令実行検出方式
JP3381253B2 (ja) シミュレーション装置
JP2663895B2 (ja) Cpuシミュレータ
JP2751423B2 (ja) プログラムデバッグ処理方式
JPH02100730A (ja) 解釈実行型プログラムデバッグ方式
JP2001222447A (ja) 実動作環境下のデバッグ方法及びデバッグ対象装置
JP3604936B2 (ja) 最適化方法,最適化装置及び記録媒体
JPH08185326A (ja) インタープリタ言語処理装置
KR0175469B1 (ko) 칠프로그램 변수의 가시성 제어방법
Parlante Unix Programming Tools
JPH0535526A (ja) ターゲツトプログラムデバツグ方式
JPH07319730A (ja) テスト・デバッグ方法
JPH0588860A (ja) フアイル化作業用手続きフアイルの自動生成方式
JP2002268881A (ja) 編集方法および編集システム
JPH03246734A (ja) デバッガのジャンプ先アドレスチェック方法および装置

Legal Events

Date Code Title Description
LAPS Cancellation because of no payment of annual fees