JPH11184728A - デバッグ処理方法ならびに装置及び同方法がプログラムされ記録される記録媒体 - Google Patents

デバッグ処理方法ならびに装置及び同方法がプログラムされ記録される記録媒体

Info

Publication number
JPH11184728A
JPH11184728A JP9357759A JP35775997A JPH11184728A JP H11184728 A JPH11184728 A JP H11184728A JP 9357759 A JP9357759 A JP 9357759A JP 35775997 A JP35775997 A JP 35775997A JP H11184728 A JPH11184728 A JP H11184728A
Authority
JP
Japan
Prior art keywords
program
command
execution
history
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.)
Pending
Application number
JP9357759A
Other languages
English (en)
Inventor
Keisuke Yasui
啓介 安井
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.)
Toshiba Corp
Original Assignee
Toshiba 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 Toshiba Corp filed Critical Toshiba Corp
Priority to JP9357759A priority Critical patent/JPH11184728A/ja
Publication of JPH11184728A publication Critical patent/JPH11184728A/ja
Pending legal-status Critical Current

Links

Landscapes

  • Debugging And Monitoring (AREA)

Abstract

(57)【要約】 【課題】 本発明は、マイクロコントローラが搭載され
た製品に組込むプログラムの開発にあたり、効率的にプ
ログラムの暴走個所を特定するとともに、デバッガ使用
者の負担軽減をはかることを課題とする。 【解決手段】 本発明は、デバッグ使用者のデバッグ操
作を対応する機能コマンドというかたちで履歴管理手段
224がその履歴を記憶し、コマンド履歴実行手段22
6がその履歴を読み出し実行することで使用者のデバッ
グ操作を再現する。また、この機能に関し、異常箇所検
出手段230がプログラム解析手段227と協動してプ
ログラムの実行区間を絞りながら用いることでプログラ
ムの異常箇所を自動検出する。

Description

【発明の詳細な説明】
【0001】
【発明の属する技術分野】本発明は、マイクロコントロ
ーラが搭載される製品に組込まれるプログラムを開発す
るときに用いて好適な、デバッグ処理方法ならびに装置
及び同方法がプログラムされ記録される記録媒体に関す
る。
【0002】
【従来の技術】マイクロコントローラが搭載される製品
に組込まれるプログラムを開発するとき、ブレークポイ
ントを設定し、例えば1行ずつ動作確認を行なうステッ
プ操作、関数コールを行なうネクスト操作等、デバッグ
作業は必須であり、このとき、デバッガが搭載されたデ
バッグ処理装置が使用される。
【0003】デバッグ処理装置では、プログラムを実行
したときにプログラムが暴走し、デバッガに対する反応
がなくなる事態が頻繁に発生する。
【0004】そのような場合、反応がなくなる直前の段
階までデバッグ操作を繰り返し、そこから、暴走しない
であろう番地まで実行しながら暴走する個所を特定する
作業を行なう。
【0005】
【発明が解決しようとする課題】このような場合には何
度もデバッガへの反応が無くなることが多く、その度に
同じ操作を繰り返さなければならないため、時間と忍耐
を要し、デバッグ作業者にかかる負担が大きかった。
【0006】本発明は上記事情に鑑みてなされたもので
あり、実行されるコマンドの実行履歴を記録し、デバッ
グ中にプログラムが暴走したとき、プログラムを初期状
態に戻してから、上記コマンドの実行履歴にアクセスし
て再実行を行ない、暴走した直前のコマンドを実行する
前の状態を再現することにより、また、実行されるデバ
ッグコマンドの実行履歴を記録し、プログラムを指定の
番地まで実行する間に異常状態に陥ったときに、関数呼
び出し位置を基準点としてプログラムを動作させる区間
を変更しながら再実行を繰り返し、プログラムが正常に
動作している区間を識別してプログラムの異常個所を検
出することにより、マイクロコントローラが搭載された
製品に組込むプログラムの開発にあたり、効率的にプロ
グラムの暴走個所を特定でき、かつ、デバッガ使用者の
負担軽減をはかることのできる、デバッグ処理方法なら
びに装置及び同方法がプログラムされ記録される記録媒
体を提供することを目的とする。
【0007】
【課題を解決するための手段】本発明のデバッグ処理方
法は、デバッグ操作の個々に対してコマンドが割り付け
られるデバッグ処理装置において、実行されるデバッグ
コマンドの実行履歴を記録し、デバッグ中にプログラム
が暴走したとき、プログラムを初期状態に戻してから、
上記コマンドの実行履歴にアクセスしてプログラムの再
実行を行ない、暴走した直前のコマンドを実行する前の
状態を再現することを特徴とする。また、同装置におい
て、実行されるデバッグコマンドの実行履歴を記録し、
プログラムを指定の番地まで実行する間に異常状態に陥
ったときに、関数呼び出し位置を基準点としてプログラ
ムを動作させる区間を変更しながら再実行を繰り返し、
プログラムが正常に動作している区間を識別してプログ
ラムの異常個所を検出することも特徴とする。
【0008】本発明のデバッグ処理装置は、デバッグ操
作の個々に対してコマンドが割り付けられ、実行される
デバッグコマンドの実行履歴を記憶装置に格納するコマ
ンド実行履歴管理手段と、デバッグ中にプログラムが暴
走したとき、プログラムを初期状態に戻してから、上記
コマンドの実行履歴にアクセスして再実行を行ないリセ
ット処理直前の状態を再現するコマンド履歴実行手段と
を具備することを特徴とする。また、デバッグ操作の個
々に対してコマンドが割り付けられ、実行されるデバッ
グコマンドの実行履歴を記憶装置に格納するコマンド実
行履歴管理手段と、プログラムを指定の番地まで実行す
る間に異常状態に陥ったときに、関数呼び出し位置を基
準点としてプログラムを動作させる区間を変更しながら
再実行を繰り返すコマンド解析、実行手段と、プログラ
ムが正常に動作している区間を識別してプログラムの異
常個所を検出する異常個所検出手段とを具備することも
特徴とする。
【0009】本発明の記録媒体は、デバッグ操作の個々
に対応してコマンドが割り付けられるデバッグ処理装置
において用いられ、実行されるデバッグコマンドの実行
履歴を記録するステップと、デバッグ中にプログラムが
暴走したときプログラムを初期状態に戻すステップと、
コマンドの実行履歴にアクセスして再実行を行ない暴走
した直前のコマンドを実行する前の状態を再現するステ
ップがプログラムされ記録されることを特徴とする。ま
た、同装置において用いられ、実行されるデバッグコマ
ンドの実行履歴を記録するステップと、プログラムを指
定の番地まで実行する間に異常状態に陥ったときに、関
数呼び出し位置を基準点としてプログラムを動作させる
区間を変更しながら再実行を繰り返すステップと、プロ
グラムが正常に動作している区間を識別してプログラム
の異常個所を検出するステップとがプログラムされ記録
されることも特徴とする。
【0010】このことにより、使用者のデバッグ操作を
再現することができ、デバッグ使用者の大幅な負担軽減
がはかれる。また、この機能をプログラム実行区間を絞
りながら用いることでプログラムの異常箇所を自動検出
することも可能になる。
【0011】
【発明の実施の形態】図1は本発明の実施形態を示すブ
ロック図である。図は、デバック処理装置としてパーソ
ナルコンピュータを使用し、デバッガを構成するソフト
ウェアを主記憶装置上にマッピングして示した図であ
る。図において、1は、コンピュータの制御中枢となる
CPU、2は主記憶装置(MMU)、3はハードディス
ク等大容量の外部記憶装置(MK)、4はマウス付きの
キーボードディスプレイ装置(KB/CRT)であり、
これら各ブロック1〜4は、アドレス、データ、コント
ロールのためのラインが複数本で構成されるシステムバ
ス5を介して共通接続され、データ交換を行なうもので
ある。
【0012】主記憶装置2には、オペレーティングシス
テム(OS)のカーネル部21が常駐する他、発明の要
部であるデバッガ22、デバッグ対象となるソフトウェ
ア23が外部記憶装置3からローディングされ格納され
る。デバッガ22は、コマンド入力部221、コマンド
解析部222、コマンド実行部223、履歴管理部22
4、履歴記憶部225、コマンド履歴実行部226、プ
ログラム解析部227、リセット処理部228、異常実
行検出部229、異常個所検出部230、履歴編集部2
31で構成され、それぞれが有機的に結合され後述する
処理を行なう。
【0013】デバッガ使用者が行なうデバッガ22に対
する操作はコマンド入力部221にて受け付けられ、そ
の操作は、デバッガ22が持つデバッグ機能に対応した
コマンドに変換され、コマンド解析部222に渡され
る。コマンド解析部222では、コマンド実行部223
でコマンドに対応するデバッグ機能を実行する前に、渡
されたコマンドを履歴情報として残しておくべきものか
否かを判断し、残すべきと判断されたときは、履歴管理
部224を使用してコマンド履歴を残す。履歴管理部2
24は、履歴記憶部225に履歴情報を単に格納する
他、変更、削除の操作も行ない、編集作業に幅を持たせ
ている。履歴記憶部225に格納されたコマンド履歴
は、コマンド履歴実行部226を介して読み出され、順
次コマンド入力部221へ供給され、コマンド履歴と同
じ操作が繰り返される。
【0014】異常個所検出部230は、異常実行検出部
229とリセット処理部228、コマンド履歴実行部2
26、プログラム解析部227を使用してプログラムの
異常個所を検出する。履歴編集部231は、履歴管理部
224を介して履歴情報を変更するものである。
【0015】図2、図3は本発明実施形態の動作を説明
するために引用した図であり、それぞれ、コマンド履歴
実行部226、異常個所検出部230による動作手順を
フローチャートで示したものである。
【0016】以下、図1に示す本発明実施形態の動作に
つき、図2、図3に示すフローチャートを参照しながら
詳細に説明する。
【0017】まず、図2のフローチャートを参照しなが
ら、コマンド履歴実行部225によるコマンド履歴実行
動作から説明する。プログラムのデバッグ中、プログラ
ムが暴走したとき、コマンド履歴に残らないリセット処
理部228に従うソフトリセット操作により初期状態に
戻してからコマンド履歴実行部225を起動する。コマ
ンド履歴実行部225は、履歴管理部224を使用して
履歴情報の写しを生成(ステップS1)し、その写しの
中のコマンド履歴を順次読み出す(ステップS2)。そ
の読み出したコマンドをコマンド入力部221へ渡し
(ステップS4)し、最後のコマンドを実行する前に終
了(ステップS3)する。従って、リセット処理直前の
コマンドを実行する前の状態を再現することができる。
【0018】次に、図3に示すフローチャートを参照し
ながら異常個所の検出動作について説明する。ここで
は、プログラムの番地Aから番地Eの区間で異常検出を
行なう場合を例示している。
【0019】まず、プログラムの番地Aまで実行し、そ
こまでのコマンド履歴を記憶する。次に、目標点Dに最
終点Eを格納(ステップS1)し、現在地B近辺のプロ
グラムコードの解析(ステップS2)を行ない、現在地
BとDの間の適当な個所、例えば、番地Cにブレイクポ
イントを設定(ステップS3)し、プログラムの実行
(ステップS4)を開始する。その区間のプログラムに
異常がなければ、タイムアウトは発生(ステップS5)
せず、番地Cに達する。更に、番地Eまで達していた場
合は、正常に終了するが、達しない場合は、実行区間を
変更して再度同じ処理を繰り返す(ステップS6)。
【0020】プログラムの実行中にデバッガへ戻ること
なくタイムアウトが発生した場合は、プログラムのリセ
ット(ステップS7)後に、記録されたコマンド履歴の
実行(ステップS8)を行ない、プログラム実行直前の
状態を復元する。その時点で、目標地点Dとブレイクポ
イント設定点Cが隣のアドレスならば(ステップS
9)、異常個所として番地Dを示し、番地Dを実行する
直前の状態を復元して終了する。CとDが隣りでなけれ
ばDにCを格納(ステップS10)した後プログラム解
析からの処理を繰り返す。異常個所検出部230は、以
上のように動作し、正常終了するか異常個所を発見して
終了することになる。
【0021】以上説明のように本発明は、(1)実行さ
れるコマンドの実行履歴を記録し、デバッグ中にプログ
ラムが暴走したとき、プログラムを初期状態に戻してか
ら、上記コマンドの実行履歴にアクセスして再実行を行
ない、リセット処理直前のコマンドを実行する前の状態
を再現することにより、(2)実行されるデバッグコマ
ンドの実行履歴を記録し、プログラムを指定の番地まで
実行する間に異常状態に陥ったときに、関数呼び出し位
置を基準点としてプログラムを動作させる区間を変更し
ながら再実行を繰り返し、プログラムが正常に動作して
いる区間を識別してプログラムの異常個所を検出するす
ることにより、マイクロコントローラが搭載された製品
に組込むプログラムの開発にあたり、効率的にプログラ
ムの暴走個所を特定することのできる、デバッグ処理方
法ならびに装置及び同方法がプログラムされ記録される
記録媒体を提供ならびに構築するものである。
【0022】尚、本発明は実施形態としてデバッガを主
記憶にインストールする構成を例示したが、その記録の
形態としては、ROM、RAM等の半導体メモリ、フロ
ッピーディスク、ハードディスク、光ディスク等媒体、
記憶形式を問わないものとする。
【0023】
【発明の効果】以上説明のように本発明は、デバッグ使
用者のデバッグ操作を対応する機能コマンドというかた
ちでその履歴を記憶し、その履歴を読み出し実行するこ
とで使用者のデバッグ操作を再現でき、従って、デバッ
グ操作にかかる使用者の大幅な負担軽減をはかることが
できる。また、この機能に関し、プログラムの実行区間
を絞りながら用いることでプログラムの異常箇所を自動
検出することができる。
【図面の簡単な説明】
【図1】本発明の実施形態を示すブロック図、
【図2】本発明実施形態の動作を示すフローチャート、
【図3】本発明の実施形態の動作を示すフローチャー
ト、
【符号の説明】
1…CPU、2…主記憶装置(MMU)、3…ハードデ
ィスク装置(HDD)、4…キーボードディスプレイ装
置、5…システムバス、21…OSカーネル部、22…
デバッガ、23…デバッグ対象ソフトウェア、221…
コマンド入力部、222…コマンド解析部、223…コ
マンド実行部、224…履歴管理部、225…履歴記憶
部、226…コマンド履歴実行部、227…プログラム
解析部、228…リセット処理部、229…異常実行検
出部、230…異常箇所検出部、231…履歴編集部。

Claims (12)

    【特許請求の範囲】
  1. 【請求項1】 デバッグ操作の個々に対してコマンドが
    割り付けられるデバッグ処理装置において、実行される
    デバッグコマンドの実行履歴を記録し、デバッグ中にプ
    ログラムが暴走したとき、プログラムを初期状態に戻し
    てから、上記コマンドの実行履歴にアクセスしてプログ
    ラムの再実行を行ない、暴走した直前のコマンドを実行
    する前の状態を再現することを特徴とするデバッグ処理
    方法。
  2. 【請求項2】 履歴情報の内容を編集し、編集した履歴
    情報を実行することを特徴とする請求項1記載のデバッ
    グ処理方法。
  3. 【請求項3】 デバッグ操作の個々に対してコマンドが
    割り付けられるデバッグ処理装置において、実行される
    デバッグコマンドの実行履歴を記録し、プログラムを指
    定の番地まで実行する間に異常状態に陥ったときに、関
    数呼び出し位置を基準点としてプログラムを動作させる
    区間を変更しながら再実行を繰り返し、プログラムが正
    常に動作している区間を識別してプログラムの異常個所
    を検出することを特徴とする請求項1記載のデバッグ処
    理方法。
  4. 【請求項4】 デバッグ中にプログラムが暴走してタイ
    ムアウトが発生したとき、プログラムをリセットした後
    上記コマンドの実行履歴に従う再実行を行ない、暴走し
    た直前のコマンドを実行する前の状態に復元することを
    特徴とする請求項3記載のデバッグ処理方法。
  5. 【請求項5】 デバッグ操作の個々に対してコマンドが
    割り付けられ、実行されるデバッグコマンドの実行履歴
    を記憶装置に格納するコマンド実行履歴管理手段と、デ
    バッグ中にプログラムが暴走したとき、プログラムを初
    期状態に戻してから、上記コマンドの実行履歴にアクセ
    スして再実行を行ないリセット処理直前の状態を再現す
    るコマンド履歴実行手段とを具備することを特徴とする
    デバッグ処理装置。
  6. 【請求項6】 記憶装置に格納されたデバッグコマンド
    の実行履歴情報の内容を編集し、コマンド履歴実行手段
    に対し、編集した履歴情報に基づく実行を促すコマンド
    履歴編集手段を更に具備することを特徴とする請求項5
    記載のデバッグ処理装置。
  7. 【請求項7】 デバッグ操作の個々に対してコマンドが
    割り付けられ、実行されるデバッグコマンドの実行履歴
    を記憶装置に格納するコマンド実行履歴管理手段と、プ
    ログラムを指定の番地まで実行する間に異常状態に陥っ
    たときに、関数呼び出し位置を基準点としてプログラム
    を動作させる区間を変更しながら再実行を繰り返すコマ
    ンド解析、実行手段と、プログラムが正常に動作してい
    る区間を識別してプログラムの異常個所を検出する異常
    個所検出手段とを具備することを特徴とするデバッグ処
    理装置。
  8. 【請求項8】 デバッグ中にプログラムが暴走してタイ
    ムアウトが発生したとき、プログラムをリセットした後
    上記コマンドの実行履歴に従う再実行を行ない、プログ
    ラム実行直前の状態に復元するコマンド履歴実行手段を
    更に具備することを特徴とする請求項7記載のデバッグ
    処理装置。
  9. 【請求項9】 デバッグ操作の個々に対応してコマンド
    が割り付けられるデバッグ処理装置において用いられ、
    実行されるデバッグコマンドの実行履歴を記録するステ
    ップと、デバッグ中にプログラムが暴走したときプログ
    ラムを初期状態に戻すステップと、コマンドの実行履歴
    にアクセスして再実行を行ないリセット処理直前の状態
    を再現するステップがプログラムされ記録されるコンピ
    ュータ読み取り可能な記録媒体。
  10. 【請求項10】 履歴情報の内容を編集し、編集した履
    歴情報を実行するステップが更にプログラムされ記録さ
    れるコンピュータ読み取り可能な請求項9記載の記録媒
    体。
  11. 【請求項11】 デバッグ操作の個々に対してコマンド
    が割り付けられるデバッグ処理装置において用いられ、
    実行されるデバッグコマンドの実行履歴を記録するステ
    ップと、プログラムを指定の番地まで実行する間に異常
    状態に陥ったときに、関数呼び出し位置を基準点として
    プログラムを動作させる区間を変更しながら再実行を繰
    り返すステップと、プログラムが正常に動作している区
    間を識別してプログラムの異常個所を検出するステップ
    とがプログラムされ記録されるコンピュータ読み取り可
    能な記録媒体。
  12. 【請求項12】 デバッグ中にプログラムが暴走してタ
    イムアウトが発生したときにプログラムをリセットする
    ステップと、コマンドの実行履歴に従う再実行を行な
    い、プログラム実行直前の状態に復元するステップが更
    にプログラムされ記録される請求項11記載のコンピュ
    ータ読み取り可能な記録媒体。
JP9357759A 1997-12-25 1997-12-25 デバッグ処理方法ならびに装置及び同方法がプログラムされ記録される記録媒体 Pending JPH11184728A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP9357759A JPH11184728A (ja) 1997-12-25 1997-12-25 デバッグ処理方法ならびに装置及び同方法がプログラムされ記録される記録媒体

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP9357759A JPH11184728A (ja) 1997-12-25 1997-12-25 デバッグ処理方法ならびに装置及び同方法がプログラムされ記録される記録媒体

Publications (1)

Publication Number Publication Date
JPH11184728A true JPH11184728A (ja) 1999-07-09

Family

ID=18455786

Family Applications (1)

Application Number Title Priority Date Filing Date
JP9357759A Pending JPH11184728A (ja) 1997-12-25 1997-12-25 デバッグ処理方法ならびに装置及び同方法がプログラムされ記録される記録媒体

Country Status (1)

Country Link
JP (1) JPH11184728A (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2010539578A (ja) * 2007-09-14 2010-12-16 エアバス オペレーションズ (エスアーエス) 航空機搭載のシステムのオペレーション・ソフトウェアをデバッグする方法およびその方法を実施するためのデバイス

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2010539578A (ja) * 2007-09-14 2010-12-16 エアバス オペレーションズ (エスアーエス) 航空機搭載のシステムのオペレーション・ソフトウェアをデバッグする方法およびその方法を実施するためのデバイス
US8650547B2 (en) 2007-09-14 2014-02-11 Airbus Operations Sas Method for debugging operational software of a system onboard an aircraft and device for implementing the same

Similar Documents

Publication Publication Date Title
US5418918A (en) Scanning initial CD-ROM sectors for a boot record and executing said boot record to load and execute floppy disk image corresponding to the existing floppy drive
US7702894B2 (en) System and method for loading programs from HDD independent of operating system
JPH06222952A (ja) デバッグ支援装置
KR890000100B1 (ko) 제어 레지스터 처리방식
US7448029B2 (en) Modification of array access checking in AIX
JPH11184728A (ja) デバッグ処理方法ならびに装置及び同方法がプログラムされ記録される記録媒体
US6229743B1 (en) Method of a reassign block processing time determination test for storage device
JPH10260883A (ja) ハンドルに基づくファインド処理のハンドルに基づかないファインド処理への変換方法及び装置
US20040015860A1 (en) In the development of computer programs, a method of recording the sequential development of each of a plurality of files forming the program
JP6079868B2 (ja) エラー分析方法、情報処理装置およびエラー分析プログラム
JP2003281076A (ja) Dmaコントローラの不正アクセス検出装置、不正アクセス検出方法およびそのプログラム
JP3130798B2 (ja) バス転送装置
JP2002024052A (ja) コンピュータ周辺機器のエラー再現試験方法
JPH09190347A (ja) マイクロコンピュータ装置
JP3309792B2 (ja) スタックポインタトレース装置、スタックポインタトレース方法及び記録媒体
JP2845261B2 (ja) 外部記憶装置用書き込み試験方法及びそれを適用した情報処理システム
JP3098501B2 (ja) ソースステップ実行方法およびその装置
JPH09330253A (ja) メモリダンプ方法及びそれを適用したメモリダンプシステム
JP2000076095A (ja) プログラムトレース装置およびプログラムトレース方法およびそのプログラムを記憶した記憶媒体
JP3535337B2 (ja) マイコンのエミュレーターのプログラムローディング装置
JP2677043B2 (ja) プログラム開発支援装置
JP3263987B2 (ja) 自動iplの初期設定処理方法
JP3394879B2 (ja) データ記録媒体の変換処理方法及び装置
JP2001202272A (ja) デバッグの方法とこの方法を用いたデバッグ装置及びデバッグの方法を記録した記録媒体
JP2937636B2 (ja) 論理シミュレータ方式