JP2003303115A - Device, method, and program for setting breakpoint - Google Patents

Device, method, and program for setting breakpoint

Info

Publication number
JP2003303115A
JP2003303115A JP2003031702A JP2003031702A JP2003303115A JP 2003303115 A JP2003303115 A JP 2003303115A JP 2003031702 A JP2003031702 A JP 2003031702A JP 2003031702 A JP2003031702 A JP 2003031702A JP 2003303115 A JP2003303115 A JP 2003303115A
Authority
JP
Japan
Prior art keywords
line
breakpoint
edited
source program
break point
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
JP2003031702A
Other languages
Japanese (ja)
Other versions
JP4208591B2 (en
Inventor
Masaki Kawai
正樹 河合
Takuji Kawamoto
琢二 川本
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.)
Panasonic Holdings Corp
Original Assignee
Matsushita Electric Industrial Co Ltd
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 Matsushita Electric Industrial Co Ltd filed Critical Matsushita Electric Industrial Co Ltd
Priority to JP2003031702A priority Critical patent/JP4208591B2/en
Publication of JP2003303115A publication Critical patent/JP2003303115A/en
Application granted granted Critical
Publication of JP4208591B2 publication Critical patent/JP4208591B2/en
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Abstract

<P>PROBLEM TO BE SOLVED: To provide a breakpoint setting device setting a breakpoint without requiring manual operation by a programmer. <P>SOLUTION: This breakpoint setting device is provided with a correction line list management part 115 managing a position on a source program about an edited part and a breakpoint setting/releasing part 106 setting the breakpoint in the position managed by the correction line list management part 115. When the breakpoint is automatically set in the part edited by the programmer, instructions for setting of the breakpoint, designation of the setting position, and the like by the programmer can be omitted, and consequently, an operation load of the programmer can be lowered. <P>COPYRIGHT: (C)2004,JPO

Description

【発明の詳細な説明】Detailed Description of the Invention

【0001】[0001]

【発明の属する技術分野】本発明は、プログラム開発に
利用されるデバッガツールにおけるブレイクポイント設
定機能の改良に関する。
BACKGROUND OF THE INVENTION 1. Field of the Invention The present invention relates to improvement of a breakpoint setting function in a debugger tool used for program development.

【0002】[0002]

【従来の技術】プログラムの不具合の発見や修正作業等
を支援するソフトウェアとしてデバッガが利用されてい
る。デバッガは、ソースコード上の適当な位置で実行を
停止する機能や停止した時点での変数の内容を出力する
機能等を持つ(例えば、特許文献1参照。)。この停止
位置をブレイクポイントと呼ぶ。
2. Description of the Related Art A debugger is used as software that assists in finding and correcting defects in programs. The debugger has a function of stopping the execution at an appropriate position on the source code, a function of outputting the content of the variable at the time of the stop, etc. (for example, refer to Patent Document 1). This stop position is called a breakpoint.

【0003】ブレイクポイントは、プログラマによって
ソースコード上の修正箇所等に設定されるもので、多く
のデバッガはプログラマがエディタ上で簡単にブレイク
ポイントを設定することができるように工夫されてい
る。例えば、ソースコードが表示されたエディタ上で、
プログラマがブレイクポイントを設定しようとする位置
にマウスポインタを合わせてクリックすると、デバッガ
がその位置にブレイクポイントを設定する等の方法であ
る。ブレイクポイントが設定された位置は、マーカーや
記号等の目印が付されてエディタに表示される。
Breakpoints are set by the programmer at correction points on the source code, and many debuggers are devised so that the programmer can easily set the breakpoints on the editor. For example, in the editor where the source code is displayed,
For example, when the programmer puts the mouse pointer on the position where the breakpoint is to be set and clicks, the debugger sets the breakpoint at that position. The position where the break point is set is displayed in the editor with markers such as markers and symbols.

【0004】より具体的には、デバッガは、プログラマ
により設定されたブレイクポイントの位置に割込み命令
等を挿入し、その割り込み命令等の位置で制御を獲得
し、変数の値やスタックの状態を確認することができる
ようにする。停止した処理を再開する場合には、デバッ
ガがソースコードから割り込み命令等を除去して元の状
態に戻し、プログラムの実行を再開する。
More specifically, the debugger inserts an interrupt instruction or the like at the position of the breakpoint set by the programmer, acquires control at the position of the interrupt instruction or the like, and confirms the value of the variable or the state of the stack. To be able to. When restarting the stopped processing, the debugger removes the interrupt instruction and the like from the source code, restores the original state, and restarts the execution of the program.

【0005】[0005]

【特許文献1】特開平5−204708号公報[Patent Document 1] Japanese Unexamined Patent Publication No. 5-204708

【0006】[0006]

【発明が解決しようとする課題】このように従来のデバ
ッガにおいては、プログラマがブレイクポイントを適宜
設定する必要があり、これがプログラマの負担となって
いる。例えば修正箇所にブレイクポイントを設定する場
合の手順としては、各箇所を修正する毎に逐一ブレイク
ポイントを設定するという手順や、各箇所をすべて修正
した後でまとめてブレイクポイントを設定するといった
手順があるが、前者は、修正とブレイクポイント設定と
を交互に繰り返す作業が煩雑なものとなるし、後者は修
正箇所を忘れずに憶えておく必要があり、いずれの手順
にしてもプログラマの負担となる。
As described above, in the conventional debugger, it is necessary for the programmer to set a breakpoint appropriately, which is a burden on the programmer. For example, the procedure for setting a breakpoint at a modified location is to set a breakpoint every time each location is modified, or to set a breakpoint after modifying all locations. However, in the former case, the work of repeating the modification and the breakpoint setting alternately becomes complicated, and in the latter, it is necessary to remember the correction part without forgetting it. Become.

【0007】そこで本発明は、プログラマの手を煩わす
ことなくブレイクポイントを設定するブレイクポイント
設定装置を提供することを目的とする。
Therefore, it is an object of the present invention to provide a breakpoint setting device for setting a breakpoint without bothering a programmer.

【0008】[0008]

【課題を解決するための手段】上記問題を解決するた
め、本発明のブレイクポイント設定装置は、ソースプロ
グラムに基づいて生成された実行形式プログラムをロー
ドするロード手段と、前記ソースプログラムを構成する
各要素と前記実行形式プログラムを構成する各箇所との
対応関係を示す情報を記憶している記憶手段と、前記ソ
ースプログラムに対して編集がなされた場合であって、
その編集内容が特定のものであるとき、当該特定の編集
が前記ソースプログラムを構成する各要素のいずれに対
してなされたかを示す位置情報を取得して記憶する取得
手段と、前記ロードされた実行形式プログラムにおけ
る、前記取得手段により取得された位置情報が指す要素
に対応する箇所にブレイクポイントを設定する設定手段
とを備える。
In order to solve the above-mentioned problems, a breakpoint setting device of the present invention comprises a loading means for loading an executable program generated based on a source program, and each of the source programs. Storage means for storing information indicating a correspondence relationship between an element and each part constituting the executable program, and a case where the source program is edited,
Acquisition means for acquiring and storing position information indicating to which of the elements constituting the source program the specific edit is made when the edit is specific; and the loaded execution. The formal program includes a setting unit that sets a breakpoint at a position corresponding to an element indicated by the position information acquired by the acquisition unit.

【0009】この構成によれば、ブレイクポイント設定
装置は、オペレータの編集操作により編集された、ソー
スプログラム上の編集箇所を管理することによって編集
箇所のソースプログラム上の位置を把握し、その位置に
ブレイクポイントを設定するので、編集箇所に関して
は、オペレータによるブレイクポイントの設定指示及び
設定位置の指定が不要となる。
According to this structure, the breakpoint setting device grasps the position of the edited part on the source program by managing the edited part on the source program edited by the editing operation of the operator, Since the breakpoint is set, it is not necessary for the operator to instruct the setting of the breakpoint and the position of the editing point.

【0010】また、前記各要素は、前記ソースプログラ
ムを構成する各行であり、前記記憶手段が記憶している
前記情報は、当該各行それぞれを識別する行番号と前記
各箇所との対応関係を示すものであり、前記取得手段
は、前記ソースプログラムにおける特定の編集がなされ
た行の行番号を前記位置情報として取得して記憶するよ
う構成してもよい。
Further, each element is each line constituting the source program, and the information stored in the storage means indicates a correspondence relationship between a line number for identifying each line and each location. The acquisition means may be configured to acquire and store, as the position information, a line number of a line in the source program in which a specific edit has been made.

【0011】また、前記特定の編集には、改行コードの
削除が含まれ、前記ブレイクポイント設定装置は、さら
に、前記ソースプログラムが編集された場合において、
当該編集箇所の編集内容が改行コードの削除であるとき
には、当該編集箇所の行番号を記憶し、前記取得手段に
より既に取得され記憶されている行番号のうち当該編集
に係る行の行番号より値が大きい行番号それぞれを値が
1つ小さい行番号に書き替える更新手段を備えてもよ
い。
Further, the specific edit includes deletion of a line feed code, and the breakpoint setting device further includes: when the source program is edited,
When the edit content of the edit location is the deletion of the line feed code, the line number of the edit location is stored, and the line number of the line related to the edit is stored among the line numbers already acquired and stored by the acquisition unit. It is also possible to provide an updating unit that rewrites each line number having a large number with a line number having a smaller value by one.

【0012】また、前記ブレイクポイント設定装置は、
さらに、前記ソースプログラムが編集された場合におい
て、当該編集箇所の編集内容が行頭部分への改行コード
の追加であるときには、取得手段により既に取得され記
憶されている行番号のうち当該編集箇所と同じ行番号及
び当該編集箇所の行番号より値が大きい行番号それぞれ
を値が1つ大きい行番号に書き替える更新手段を備えて
もよい。
Further, the break point setting device is
Further, in the case where the source program is edited, when the edited content of the edited portion is addition of a line feed code to the beginning of the line, the same line number as the edited portion among the line numbers already acquired and stored by the acquisition means. An updating unit may be provided for rewriting the line number and the line number having a larger value than the line number of the edited part into a line number having a value larger by one.

【0013】また、前記ブレイクポイント設定装置は、
さらに、前記ソースプログラムが編集された場合におい
て、当該編集箇所の編集内容が行末部分への改行コード
の追加であるときには、前記取得手段により既に取得さ
れ記憶されている行番号のうち当該編集箇所よりも値が
大きい行番号を値が1つ大きい値に書き替える更新手段
を備えてもよい。
Further, the break point setting device is
Further, in the case where the source program is edited, if the edited content of the edited part is addition of a line feed code to the end of the line, the line number from the edited part among the line numbers already acquired and stored by the acquisition means. Also, an updating unit for rewriting a row number having a large value into a value having a larger value may be provided.

【0014】また、前記特定の編集には、行中への改行
コードの追加が含まれ、前記ブレイクポイント設定装置
は、さらに、前記ソースプログラムが編集された場合に
おいて、当該編集箇所の編集内容が行中への改行コード
の追加であるときには、前記取得手段により既に取得さ
れ記憶されている行番号のうち当該編集箇所の行番号よ
りも値が大きい行番号それぞれを値が1つ大きい値に書
き替え、また当該編集箇所の行番号と当該編集箇所の行
番号より値が1つ大きい行番号とを新たに記憶する更新
手段を備えてもよい。
Further, the specific edit includes addition of a line feed code in the line, and the breakpoint setting device further edits the edited content of the edit location when the source program is edited. When the line feed code is added to the line, each line number having a value larger than the line number of the edit location among the line numbers already acquired and stored by the acquisition unit is written as a value one larger. Alternatively, an updating unit may be provided that newly stores the line number of the edit location and the line number whose value is one greater than the line number of the edit location.

【0015】また、前記取得手段は、前記ソースプログ
ラムが編集された場合に、当該編集箇所の編集内容が改
行コード以外の文字列に対する編集であるか否かを判定
する判定手段と、前記判定手段により肯定的に判定され
た場合に、当該編集箇所の当該編集箇所の行番号を新た
に記憶する更新手段とを備えてもよい。また、前記取得
手段は、さらに、前記ソースプログラムを構成する各制
御ブロックの範囲が前記ソースプログラム上のどこから
どこまでであるかを行番号により示す行範囲情報を記憶
しており、前記設定手段は、前記行範囲情報が示す各制
御ブロックの先頭の行番号に相当する実行形式プログラ
ム上の対応箇所にブレイクポイントを設定してもよい。
Further, the acquisition means determines, when the source program is edited, whether or not the edited content of the edited portion is editing for a character string other than a line feed code, and the determining means. If the determination is affirmatively determined by, an updating unit that newly stores the line number of the edited location of the edited location may be provided. Further, the acquisition means further stores line range information indicating a range of each control block forming the source program from where on the source program to a line number, and the setting means, A break point may be set at a corresponding position on the executable program corresponding to the top line number of each control block indicated by the line range information.

【0016】また、前記設定手段は、前記取得手段が記
憶している行番号のうちで、前後で連続する2つの行番
号のうちの後の行番号については、対応箇所のブレイク
ポイントを設定しないよう構成してもよい。また、前記
ブレイクポイント設定装置は、前記設定手段が設定する
各ブレイクポイント毎にユーザにより入力される当該ブ
レイクポイントに対応する編集箇所に関する情報を対応
させたバグ票を作成し、当該バグ票をユーザインターフ
ェースを介してユーザに提示してもよい。
Further, the setting means does not set the break point of the corresponding portion for the line number after the two consecutive line numbers before and after the line number stored by the acquisition means. It may be configured as follows. Further, the break point setting device creates a bug vote in which information on an edit location corresponding to the break point input by the user for each break point set by the setting means is created, and the bug note is set by the user. It may be presented to the user via an interface.

【0017】また、前記ブレイクポイント設定装置は、
前記バグ票の作成において、前記編集箇所がデバッガに
より解読、実行された回数をデバッガより取得し、当該
回数を前記編集箇所に関する情報に含めて提示してもよ
い。また、取得手段は、前記特定の編集に対応する位置
情報が既に取得され記憶されている場合には、当該位置
情報を記憶することを抑止してもよい。
Further, the break point setting device is
In the creation of the bug slip, the number of times the edited portion is decoded and executed by the debugger may be acquired from the debugger, and the number of times may be included in the information regarding the edited portion and presented. Further, when the position information corresponding to the specific edit has already been acquired and stored, the acquisition unit may prevent the position information from being stored.

【0018】また、前記取得手段は、さらに、前記ソー
スプログラムを構成する各制御ブロックの範囲が前記ソ
ースプログラム上のどこからどこまでであるかを行番号
により示す行範囲情報を記憶しており、前記設定手段
は、前記各制御ブロック毎に、当該制御ブロック内にあ
る前記特定の編集がなされた各行のうち先頭のものにブ
レイクポイントを設定し、その他のものにはブレイクポ
イントを設定しないよう抑止する。
Further, the acquisition means further stores line range information indicating a range of each control block forming the source program from a position on the source program to a position on the source program. The means sets, for each of the control blocks, a break point at the beginning of the lines in the control block that have been subjected to the specific editing, and prevents a break point from being set at the other lines.

【0019】また、ブレイクポイント設定方法は、ソー
スプログラムに基づいて生成された実行形式プログラム
をロードするロードステップと、前記ソースプログラム
を構成する各要素と前記実行形式プログラムを構成する
各箇所との対応関係を示す情報をメモリに記憶する記憶
ステップと、前記ソースプログラムに対して編集がなさ
れた場合であって、その編集内容が特定のものであると
き、当該特定の編集が前記ソースプログラムを構成する
各要素のいずれに対してなされたかを示す位置情報を取
得してメモリ記憶する取得ステップと、前記ロードされ
た実行形式プログラムにおける、前記取得ステップによ
り取得された位置情報が指す要素に対応する箇所にブレ
イクポイントを設定する設定ステップとを含む。
In the breakpoint setting method, the loading step of loading the execution format program generated based on the source program, the correspondence between each element configuring the source program and each location configuring the execution format program. A storage step of storing information indicating a relationship in a memory, and a case where an edit is made to the source program, and when the edit content is specific, the specific edit constitutes the source program. An acquisition step of acquiring and storing in memory the position information indicating which of each element was performed, and a location corresponding to the element indicated by the position information acquired by the acquisition step in the loaded executable program. And a setting step of setting a breakpoint.

【0020】また、ブレイクポイント設定プログラム
は、プログラム、当該プログラムはコンピュータに、ソ
ースプログラムに基づいて生成された実行形式プログラ
ムをロードするロードステップと、前記ソースプログラ
ムを構成する各要素と前記実行形式プログラムを構成す
る各箇所との対応関係を示す情報をメモリに記憶する記
憶ステップと、前記ソースプログラムに対して編集がな
された場合であって、その編集内容が特定のものである
とき、当該特定の編集が前記ソースプログラムを構成す
る各要素のいずれに対してなされたかを示す位置情報を
取得してメモリ記憶する取得ステップと、前記ロードさ
れた実行形式プログラムにおける、前記取得ステップに
より取得された位置情報が指す要素に対応する箇所にブ
レイクポイントを設定する設定ステップとを実行させて
もよい。
Further, the breakpoint setting program is a program, the program is a loading step of loading an execution form program generated on the basis of a source program into a computer, each element constituting the source program and the execution form program. And a step of storing information indicating a correspondence relationship with each part constituting the memory in a memory, and a case where the source program is edited and the edited content is specific, An acquisition step of acquiring and storing in memory the position information indicating to which of the respective elements configuring the source program the edit has been made; and the position information acquired by the acquisition step in the loaded executable program. Set breakpoints at the locations corresponding to the elements pointed to by Setting step of the may be execution.

【0021】[0021]

【発明の実施の形態】<実施の形態1>以下、本実施の
形態のデバッグ装置について図面を用いて説明する。図
1は、実施の形態1のデバッグ装置のブロック図であ
る。同図においてデバッグ装置10は、外部からオペレ
ータによるコマンドの入力を受け付けるコマンド入力部
102、コマンドの解析を行うコマンド解析部103、
メイク処理を行うメイク部11、デバッグ処理を行うデ
バッガ部12及びエディット処理を行うエディタ部13
から構成される。
DESCRIPTION OF THE PREFERRED EMBODIMENTS <First Preferred Embodiment> A debug device according to the present preferred embodiment will be described below with reference to the drawings. FIG. 1 is a block diagram of the debug device according to the first embodiment. In FIG. 1, the debug device 10 includes a command input unit 102 that receives a command input by an operator from the outside, a command analysis unit 103 that analyzes a command,
A make unit 11 that performs a make process, a debugger unit 12 that performs a debug process, and an editor unit 13 that performs an edit process.
Composed of.

【0022】メイク部11は、最新の実行ファイルを作
成し保持する実行ファイル管理部104を備える。デバ
ッガ部12は、最新の実行ファイルを読み込むロード部
105、ブレイクポイントを設定・解除するブレイクポ
イント設定・解除部106、実行ファイルの実行を制御
する実行制御部107、ソースコードをディスプレイ等
に表示するソースコード表示部108、ソースコードの
ブレイクポイント設定位置に目印等を付けてディスプレ
イ等に表示するブレイクポイント表示部109、ブレイ
クポイントで停止した際に所定の処理を行うbreak
命令処理部110、設定したブレイクポイントに関する
情報を保持するブレイクポイント一覧管理部111及び
変更、追加、削除等の編集した箇所に自動的にブレイク
ポイントを設定する修正箇所設定部116から構成され
る。以下、変更、追加及び削除等、オペレータの操作に
よってソースコードが変更されることを編集又は修正と
呼ぶこととする。
The make unit 11 includes an execution file management unit 104 that creates and holds the latest execution file. The debugger unit 12 reads a latest execution file, a load unit 105, a breakpoint setting / cancellation unit 106 that sets / cancels a breakpoint, an execution control unit 107 that controls execution of an executable file, and displays source code on a display or the like. Source code display unit 108, break point display unit 109 for displaying a mark or the like on the break point setting position of the source code and displaying it on a display or the like, break for performing a predetermined process when stopped at a break point
The instruction processing unit 110, a break point list management unit 111 that holds information about set break points, and a correction point setting unit 116 that automatically sets break points at edited points such as changes, additions, and deletions. Hereinafter, changing the source code by an operator's operation such as change, addition, and deletion will be referred to as editing or correction.

【0023】エディタ部13は、オペレータからの編集
操作に応じてソースコードの編集処理を行うソースコー
ド編集部112、ソースコード編集処理に際して編集さ
れた箇所のファイル名及び行番号を、当該ファイルのソ
ースコード上の位置として記憶しておく修正行一覧管理
部115、読み出したソースコードをディスプレイ等に
表示するソースコード表示部113及びソースコードフ
ァイルを保持するソースコードファイル管理部114か
ら構成される。
The editor unit 13 edits the source code according to the editing operation from the operator. The source code editing unit 112, and the file name and line number of the portion edited in the source code editing process are the source of the file. It comprises a modified line list management unit 115 stored as a position on the code, a source code display unit 113 for displaying the read source code on a display or the like, and a source code file management unit 114 for holding the source code file.

【0024】ここでエディタ部13とデバッガ部12が
持つソースコード表示部108及びソースコード表示部
113は共通のものにしてもよい。コマンド入力部10
2は、オペレータから「編集ファイルオープンコマン
ド」、「編集ファイルセーブコマンド」、「編集コマン
ド」、「デバッグ処理開始コマンド」、「ブレイクポイ
ント設定コマンド」、「ブレイクポイント解除コマン
ド」、「プログラム実行コマンド」及び「デバッグ処理
終了コマンド」等のコマンドを受け付ける。なお、デー
タの表示・設定に関するコマンド処理は、本発明におい
て特に重要な部分ではないので説明を省略する。
Here, the source code display section 108 and the source code display section 113 of the editor section 13 and the debugger section 12 may be common. Command input section 10
2 is from the operator "edit file open command", "edit file save command", "edit command", "debug processing start command", "breakpoint setting command", "breakpoint cancel command", "program execution command" Also, commands such as "debug processing end command" are accepted. The command processing relating to the display / setting of data is not a particularly important part of the present invention, and therefore its explanation is omitted.

【0025】コマンド解析部103は、コマンド入力部
102に受け付けられた上記コマンドを解析し、解析結
果に応じて各構成部に指示することにより各コマンドの
機能を実現する。以下、まず最初に、従来の技術と同様
のコマンドである「編集ファイルオープンコマンド」、
「編集ファイルセーブコマンド」、「ブレイクポイント
設定コマンド」、「ブレイクポイント解除コマンド」及
び「プログラム実行コマンド」について説明する。これ
らは従来技術であるので、図面を省略して簡単に説明す
る。次に、本発明の特徴的なコマンドである「編集コマ
ンド」、「デバッグ処理開始コマンド」及び「デバッグ
処理終了コマンド」について図面を用いて説明する。 <編集ファイルオープンコマンド> ステップ11:コマンド入力部102は、オペレータか
ら編集対象のファイル名を指定した編集ファイルオープ
ンコマンドを受け付ける。
The command analysis unit 103 analyzes the command received by the command input unit 102, and instructs each component according to the analysis result to realize the function of each command. Below, first of all, "Edit File Open Command", which is the same command as the conventional technology,
The "edit file save command", "breakpoint setting command", "breakpoint cancel command" and "program execution command" will be described. Since these are conventional techniques, they will be briefly described by omitting the drawings. Next, "editing command", "debug processing start command" and "debug processing end command" which are the characteristic commands of the present invention will be described with reference to the drawings. <Edit File Open Command> Step 11: The command input unit 102 receives an edit file open command specifying a file name to be edited from the operator.

【0026】ステップ12:ソースコード編集部112
は、ソースコードファイル管理部114に、指定された
ファイル名のソースコードを読み出すよう要求する。 ステップ13:ソースコードファイル管理部114は、
ソースコードファイルを記録している記録媒体から指定
されたファイル名のソースコードを読み出し、ソースコ
ード編集部112に渡す。
Step 12: Source code editing unit 112
Requests the source code file management unit 114 to read the source code of the specified file name. Step 13: The source code file management unit 114
The source code of the specified file name is read from the recording medium recording the source code file and passed to the source code editing unit 112.

【0027】ステップ14:ソースコード編集部112
は、ソースコード表示部113に、読み出したソースコ
ードを表示するよう要求する。 ステップ15:ソースコード表示部113は、表示を要
求されたソースコードをディスプレイに表示する。 <編集ファイルセーブコマンド> ステップ31:コマンド入力部102は、オペレータよ
りセーブ対象のファイル名を指定した編集ファイルセー
ブコマンドを受け付ける。
Step 14: Source code editing unit 112
Requests the source code display unit 113 to display the read source code. Step 15: The source code display unit 113 displays the source code requested to be displayed on the display. <Edit File Save Command> Step 31: The command input unit 102 receives an edit file save command in which a file name to be saved is specified by the operator.

【0028】ステップ32:ソースコード編集部112
は、ソースコードファイル管理部114に、指定された
ファイル名のソースコードをセーブするよう要求する。 ステップ33:ソースコードファイル管理部114は、
セーブすることを要求されたソースコードを記録媒体に
書き込む。 <ブレイクポイント設定コマンド> ステップ51:コマンド入力部102は、オペレータか
らブレイクポイントを設定すべきファイル名及び行番号
を指定したブレイクポイント設定コマンドを受け付け
る。このブレイクポイント設定コマンドは、具体的に
は、ソースコードがディスプレイに表示された状態で、
オペレータがソースコード上の任意の行にマウスポイン
タを合わせてクリックすると、コマンド入力部102
が、そのクリックされた位置の行番号と表示中のソース
コードのファイル名とを行番号及びファイル名の指定と
してブレイクポイント設定コマンドを受け付けるという
ものである。
Step 32: Source code editing unit 112
Requests the source code file management unit 114 to save the source code of the specified file name. Step 33: The source code file management unit 114
The source code requested to be saved is written in the recording medium. <Breakpoint Setting Command> Step 51: The command input unit 102 receives a breakpoint setting command specifying a file name and a line number in which a breakpoint should be set. Specifically, this breakpoint setting command, with the source code displayed on the display,
When the operator places the mouse pointer on any line on the source code and clicks it, the command input unit 102
However, the breakpoint setting command is accepted by designating the line number of the clicked position and the file name of the source code being displayed as the line number and the file name.

【0029】ステップ52:ロード部105は、ブレイ
クポイント設定・解除部106にブレイクポイントを設
定するよう要求する。 ステップ53:ブレイクポイント設定・解除部106
は、ロードされた実行ファイル内のデバッグ情報から、
ブレイクポイント設定行に対するアドレスを得る。
Step 52: The loading unit 105 requests the breakpoint setting / cancelling unit 106 to set a breakpoint. Step 53: Break point setting / cancellation unit 106
From the debug info in the loaded executable,
Get the address for the breakpoint setting line.

【0030】ステップ54:ブレイクポイント設定・解
除部106は、ブレイクポイント一覧管理部111に、
ブレイクポイントを設定する箇所のアドレス及びそのア
ドレス内にある命令をブレイクポイント一覧に登録する
よう要求する。ここでブレイクポイント一覧は、設定す
るブレイクポイントに対応する実行ファイル内のアドレ
スを格納するアドレス欄と当該アドレス欄のアドレスに
ある命令を一時的に格納するための命令欄より構成さ
れ、アドレスと命令との組がアドレスの昇順に並んでい
る。
Step 54: The break point setting / cancellation unit 106 causes the break point list management unit 111 to
Requests that the address where the breakpoint is set and the instruction at that address be registered in the breakpoint list. Here, the breakpoint list is composed of an address column for storing the address in the executable file corresponding to the breakpoint to be set and an instruction column for temporarily storing the instruction at the address in the address column. The groups and are arranged in ascending order of address.

【0031】ステップ55:ブレイクポイント設定・解
除部106は、ソースコード表示部108に、ブレイク
ポイントが設定されたファイルを表示するよう要求す
る。 ステップ56:ブレイクポイント一覧管理部111は、
ブレイクポイント設定・解除部106より登録するよう
要求されたアドレス及び命令をブレイクポイント一覧に
登録し、これらのアドレスが指しているソースコード上
の命令をbreak命令に置き換える。
Step 55: The breakpoint setting / cancelling unit 106 requests the source code display unit 108 to display the file for which the breakpoint is set. Step 56: The breakpoint list management unit 111
Addresses and instructions requested to be registered by the breakpoint setting / cancellation unit 106 are registered in the breakpoint list, and the instructions on the source code pointed to by these addresses are replaced with break instructions.

【0032】ステップ57:ソースコード表示部108
は、表示を要求されたファイルをソースコードファイル
管理部114から読み出し、表示する。そしてさらに、
ブレイクポイント表示部109に指定したファイルのブ
レイクポイントを表示するよう要求する。 ステップ58:ブレイクポイント表示部109は、ブレ
イクポイント一覧管理部111から指定されたファイル
のブレイクポイント一覧を読み出し、ブレイクポイント
を表示する。
Step 57: Source code display section 108
Reads the file requested to be displayed from the source code file management unit 114 and displays it. And further,
The breakpoint display unit 109 is requested to display the breakpoint of the specified file. Step 58: The break point display unit 109 reads the break point list of the specified file from the break point list management unit 111 and displays the break points.

【0033】図2は、ブレイクポイント表示部109に
よって表示されたブレイクポイントの一例を示す。同図
に示すように、修正前のソースコードにおける「j=5
00」を「j=10」に修正し、「printf(”i
=%d”,i);」、「printf(”next_i
=%d”,i+1);」及び「printf(”con
tinue¥n”);」を追加した結果、修正後のソー
スコードにおける「j=10」の行と「print
f(”i=%d”,i);」の行の左端にブレイクポイ
ントを示す黒い丸印が表示される。 <ブレイクポイント解除コマンド> ステップ61:コマンド入力部102は、解除すべきブ
レイクポイントのファイル名及び行番号を指定したブレ
イクポイント解除コマンドをオペレータより受け付け
る。このブレイクポイント解除コマンドは、具体的に
は、ソースコードが表示された状態で、オペレータがソ
ースコード上のブレイクポイントが設定された行にマウ
スポイントを合わせてクリックすると、コマンド入力部
102がそのクリックされた行のブレイクポイントを解
除する指示として受け付けるというものである。
FIG. 2 shows an example of the break points displayed by the break point display section 109. As shown in the figure, "j = 5" in the source code before modification
00 "is corrected to" j = 10 ", and" printf ("i
=% D ", i);", "printf (" next_i
=% D ", i + 1);" and "printf (" con
“Tinue \ n”); ”was added, and as a result, the line“ j = 10 ”and“ print ”in the corrected source code
A black circle indicating a breakpoint is displayed at the left end of the line of f ("i =% d", i); ". <Breakpoint Release Command> Step 61: The command input unit 102 receives from the operator a breakpoint release command specifying the file name and line number of the breakpoint to be released. Specifically, when the operator puts the mouse point on the line where the breakpoint is set on the source code and clicks the command while the source code is displayed, the command input unit 102 clicks the breakpoint cancellation command. It accepts as an instruction to cancel the break point of the specified line.

【0034】ステップ62:ロード部105は、ブレイ
クポイント設定・解除部106にブレイクポイントを解
除するよう要求する。 ステップ63:ブレイクポイント設定・解除部106
は、ロードされた実行ファイル内のデバッグ情報から、
ブレイクポイント解除行に対するアドレスを得て、ブレ
イクポイント一覧管理部111にブレイクポイントを解
除する箇所のアドレス及びそのアドレス内にある命令を
ブレイクポイント一覧から削除するよう要求し、ソース
コード表示部108に解除したファイルを表示するよう
要求する。
Step 62: The loading unit 105 requests the breakpoint setting / cancelling unit 106 to cancel the breakpoint. Step 63: Break point setting / cancelling unit 106
From the debug info in the loaded executable,
Obtaining the address for the breakpoint cancellation line, requesting the breakpoint list management unit 111 to delete the address at the breakpoint cancellation location and the instruction within that address from the breakpoint list, and cancel the source code display unit 108. Request to view the file you created.

【0035】ステップ64:ブレイクポイント一覧管理
部111は、元の命令をリストアし、アドレス及び命令
をブレイクポイント一覧から削除する。 ステップ65:ソースコード表示部108は、指定され
たファイルをソースコードファイル管理部114の記録
媒体から読み出し、表示する。続いて、ブレイクポイン
ト表示部109に、指定したファイルのブレイクポイン
トを表示するよう要求する。
Step 64: The break point list management section 111 restores the original instruction and deletes the address and the instruction from the break point list. Step 65: The source code display unit 108 reads the specified file from the recording medium of the source code file management unit 114 and displays it. Then, the breakpoint display unit 109 is requested to display the breakpoint of the designated file.

【0036】ステップ66:ブレイクポイント表示部1
09は、ブレイクポイント一覧管理部111から指定さ
れたファイルのブレイクポイント一覧を読み出し、ブレ
イクポイントを表示する。 <プログラム実行コマンド> ステップ71:コマンド入力部102は、デバッグ装置
10で実行ファイルを実行するに際してオペレータより
プログラム実行コマンドを受け付ける。
Step 66: Break point display section 1
In step 09, the breakpoint list of the designated file is read from the breakpoint list management unit 111, and the breakpoints are displayed. <Program Execution Command> Step 71: The command input unit 102 receives a program execution command from the operator when executing the execution file in the debug device 10.

【0037】ステップ72:ロード部105は、実行制
御部107に実行ファイルを実行するよう要求する。 ステップ73:実行制御部107は、ロードされた実行
ファイル内の命令を1命令ずつ解釈実行し、break
命令があれば命令の実行を一時停止してbreak命令
処理部110にbreak命令を処理するよう要求す
る。続いてソースコード表示部108に、実行が停止し
た場所のソースコードを表示するよう要求する。
Step 72: The loading unit 105 requests the execution control unit 107 to execute the execution file. Step 73: The execution control unit 107 interprets and executes the instructions in the loaded execution file one by one, and breaks the instructions.
If there is an instruction, execution of the instruction is temporarily stopped and the break instruction processing unit 110 is requested to process the break instruction. Then, the source code display unit 108 is requested to display the source code of the place where the execution is stopped.

【0038】ステップ74:break命令処理部11
0は、停止したアドレスにあった本来の命令をブレイク
ポイント一覧管理部111から取り出し、取り出した命
令を次のプログラムの実行で最初に実行するように実行
制御部107に渡す。 ステップ75:ソースコード表示部108は、指定され
たファイルをソースコードファイル管理部114から読
み出して表示し、続いて、ブレイクポイント表示部10
9は指定されたファイルのブレイクポイント一覧を読み
出して、ソースコード上のブレイクポイントの位置にブ
レイクポイントであることを示す目印等を表示する。
Step 74: break instruction processing unit 11
0 fetches the original instruction at the stopped address from the breakpoint list management unit 111, and passes the fetched instruction to the execution control unit 107 so as to be executed first in the next program execution. Step 75: The source code display unit 108 reads the specified file from the source code file management unit 114 and displays it, and then the breakpoint display unit 10
Reference numeral 9 reads the breakpoint list of the specified file, and displays a mark or the like indicating the breakpoint at the breakpoint position on the source code.

【0039】次に、本発明の特徴的なコマンドについて
説明する前に修正行一覧について説明しておく。図3
は、修正行一覧の一例を示す。修正行一覧とは、オペレ
ータがソースコードに対して行った編集操作の箇所の行
番号を昇順に並べたテーブルである。このテーブルに記
録された行番号は、ブレイクポイントを設定する行番号
となる。修正行一覧は、行番号の昇順に並んでおり、同
じ行番号が2重に登録されることはなく、各ソースコー
ドファイル毎に保持される。
Next, before describing the characteristic commands of the present invention, the correction line list will be described. Figure 3
Shows an example of the correction line list. The modified line list is a table in which the line numbers of the editing operations performed by the operator on the source code are arranged in ascending order. The line number recorded in this table is the line number that sets the breakpoint. The corrected line list is arranged in the ascending order of line numbers, and the same line number is not registered doubly but is held for each source code file.

【0040】では続いて「編集コマンド」、「デバッグ
処理開始コマンド」及び「デバッグ処理終了コマンド」
について説明する。 <編集コマンド>図4は、コマンド入力部102が編集
コマンドを受け付けた場合における処理手順を示すフロ
ーチャートである。このコマンドは、編集ファイルオー
プンコマンドによりファイルが読み出されて表示されて
いる状態において有効である。
Next, "edit command", "debug processing start command" and "debug processing end command"
Will be described. <Edit Command> FIG. 4 is a flowchart showing a processing procedure when the command input unit 102 receives an edit command. This command is effective when the file is read and displayed by the edit file open command.

【0041】ステップS301:ソースコード編集部1
12は、デバッグ処理が終了しているか否かを判定す
る。 ステップS302:ステップS301の判定の結果、デ
バッグ処理が終了していない場合には、ソースコード編
集部112は、「デバッグ処理終了コマンド」をコマン
ド入力部102に送り、その結果、デバッグ処理が終了
する。
Step S301: Source code editor 1
12 determines whether or not the debug processing has ended. Step S302: If the result of determination in step S301 is that the debug processing has not ended, the source code editing unit 112 sends a “debug processing end command” to the command input unit 102, and as a result, the debug processing ends. .

【0042】ステップS303:編集コマンドによりな
された編集の種類が、改行コードの削除、改行コードの
追加、その他の編集処理のいずれであるかを判定する。
改行コードの削除は、改行コードの削除のみの編集又は
改行コードの削除を含む編集であり、改行コードの追加
は、改行コードの追加のみの編集又は改行コードの追加
を含む編集であり、その他の編集処理は、改行コードの
削除及び追加をいずれもともなわない編集である。
Step S303: It is determined whether the type of edit made by the edit command is deletion of line feed code, addition of line feed code, or other editing process.
Deleting a line feed code is an edit that only deletes the line feed code or an edit that includes the deletion of a line feed code.Adding a line feed code is an edit that only adds a line feed code or an edit that includes the addition of a line feed code. The edit process is an edit that does not involve deleting or adding a line feed code.

【0043】ステップS304:編集の種類がその他の
編集処理である場合には、修正行一覧に当該その他の編
集処理がなされた行の行番号を登録する。 ステップS305:編集の種類が改行コードの削除であ
る場合には、修正行一覧に当該改行削除の行番号を登録
し、修正行一覧における当該改行削除行の行番号より大
きな行番号から1を引く。
Step S304: If the type of editing is other editing processing, the row number of the row subjected to the other editing processing is registered in the corrected row list. Step S305: When the type of editing is deletion of line feed code, the line number of the line feed deletion is registered in the correction line list, and 1 is subtracted from the line number larger than the line number of the line feed deletion line in the correction line list. .

【0044】ステップS306:編集の種類が改行コー
ドの追加であって、その追加の位置が行頭の場合には、
修正行一覧における当該改行追加行の行番号以上の行番
号に1を足す。 ステップS307:編集の種類が改行コードの追加であ
って、その追加の位置が行末の場合には、修正行一覧に
おける改行追加行の行番号より大きな番号に1を足す。
Step S306: If the type of editing is adding a line feed code and the position of addition is at the beginning of the line,
Add 1 to the line number that is greater than or equal to the line number of the new line added line in the corrected line list. Step S307: When the type of editing is addition of a line feed code and the position of the addition is at the end of the line, 1 is added to a number larger than the line number of the line feed added line in the corrected line list.

【0045】ステップS308:編集の種類が改行コー
ドの追加であって、その追加の位置が行中、すなわち行
頭でも行末でもない位置に改行コードが追加された場合
には、修正行一覧における当該改行追加行の行番号より
大きな行番号に1を足し、修正行一覧に改行追加行の行
番号と改行追加行の行番号+1を登録する。 ステップS309:ソースコード編集部112は、編集
ファイルオープンコマンドにより読み出されて表示され
ているソースコードに対して編集処理を行い、ソースコ
ード表示部108に表示を更新するよう要求する。
Step S308: If the type of editing is the addition of a line feed code and the position of the addition is a line feed code in the line, that is, at a position that is neither the beginning nor the end of the line, the line feed in the correction line list 1 is added to the line number larger than the line number of the added line, and the line number of the line feed added line and the line number of the line feed added line + 1 are registered in the corrected line list. Step S309: The source code editing unit 112 performs an edit process on the source code read and displayed by the edit file open command, and requests the source code display unit 108 to update the display.

【0046】ステップS310:ソースコード表示部1
08は、編集内容を反映して表示を更新する。このよう
にしてソースコード編集部112は、編集された箇所の
行番号を修正行一覧に登録することによって、編集され
た箇所についてのソースコード上の位置を管理する。
Step S310: Source code display section 1
08 updates the display by reflecting the edited contents. In this way, the source code editing unit 112 manages the position on the source code of the edited part by registering the line number of the edited part in the correction line list.

【0047】なお、上記ステップS304、S305及
びS308の行番号の登録において、新たに登録しよう
とする行番号と同じものが、既に修正行一覧に登録され
ていえる場合には、登録を行わないことにより二重登録
の状態にならないようにする。より具体的には、登録し
ようとする行番号が修正行一覧内に既に登録されている
か否かを判定し、未だ登録されていなければ登録を行
い、既に登録されていれば登録を行わない。
In addition, in the registration of the line numbers in steps S304, S305 and S308, if the same line number to be newly registered has already been registered in the corrected line list, do not register. Prevent double registration. More specifically, it is determined whether or not the line number to be registered is already registered in the corrected line list, and if it is not registered yet, it is registered, and if it is already registered, it is not registered.

【0048】本実施の形態においては、編集処理を常に
監視し、編集処理がある度に修正行一覧を更新するよう
構成しているが、これに限られず、編集処理前の元のソ
ースコードを保持しておき、編集処理が終わった後に編
集後のソースコードと元のソースコードとを比較するこ
とにより修正行一覧を作成するよう構成してもよい。 <デバッグ処理開始コマンド>図5は、コマンド入力部
102がデバッグ処理開始コマンドを受け付けた場合に
おける処理手順を示すフローチャートである。なお、図
5では省略しているが、ステップS400以降の処理に
先立って、以下のステップS41からステップS43の
処理が行われる。
In the present embodiment, the editing process is constantly monitored and the correction line list is updated every time there is an editing process. However, the present invention is not limited to this, and the original source code before the editing process is changed. Alternatively, the modified line list may be created by comparing the edited source code with the original source code after the editing process is completed. <Debug Processing Start Command> FIG. 5 is a flowchart showing a processing procedure when the command input unit 102 receives a debug processing start command. Although omitted in FIG. 5, the processes of the following steps S41 to S43 are performed prior to the processes of step S400 and subsequent steps.

【0049】ステップS41:ロード部105は、編集
処理を行っている最中のソースコードがある場合、その
ソースコードに対して編集ファイルセーブコマンドを送
る。続いて、実行ファイル管理部104に最新の実行フ
ァイルを読み出すよう要求する。 ステップS42:実行ファイル管理部104は、ソース
コードファイル管理部114のソースコードの日時をみ
て、実行ファイルより新しいソースコードファイルがあ
るか否かを判定する。
Step S41: If there is a source code that is being edited, the loading section 105 sends an edit file save command to the source code. Then, the execution file management unit 104 is requested to read the latest execution file. Step S42: The execution file management unit 104 checks the date and time of the source code of the source code file management unit 114 and determines whether or not there is a source code file newer than the execution file.

【0050】ステップS43:ステップS42の判定の
結果、新しいソースコードファイルがある場合には、そ
のソースコードファイルについてコンパイル処理を行
い、最新の実行ファイルを作成し、最新の実行ファイル
をロード部105に渡す。なお、ステップS42の判定
の結果、新しいソースコードファイルがない場合には、
実行ファイル管理部104は、保持しているうちで最新
の実行ファイルをロード部105に渡す。
Step S43: If the result of determination in step S42 is that there is a new source code file, the source code file is compiled, the latest execution file is created, and the latest execution file is loaded into the loading unit 105. hand over. As a result of the determination in step S42, if there is no new source code file,
The execution file management unit 104 transfers the latest execution file held therein to the loading unit 105.

【0051】ステップS400:ロード部105は最新
の実行ファイルをロードし、修正箇所設定部116に、
修正行一覧が示す行にブレイクポイントを設定するよう
要求する。 ステップS401:修正箇所設定部116は、修正行一
覧管理部115に、まだ読み込んでいない修正行一覧が
あるか否か判定する。
Step S400: The loading unit 105 loads the latest executable file, and the correction location setting unit 116
Request to set a breakpoint on the line indicated by the modified line list. Step S401: The correction location setting unit 116 determines whether the correction line list management unit 115 has a correction line list that has not been read yet.

【0052】ステップS402:判定の結果、まだ読み
込んでいない修正行一覧があればそれを読み込む。 ステップS403:修正箇所設定部116は、読み込ん
だ修正行一覧に修正行番号が1つ以上あるか否かを判定
する。 ステップS404:判定の結果、修正行番号が1つ以上
ある場合には、読み込んだ修正行一覧の先頭にある修正
行番号を取り出してそれを対象行とし、対象行に対して
ブレイクポイント設定コマンドを送り、対象行にブレイ
クポイントを設定する。
Step S402: As a result of the judgment, if there is a correction line list which has not been read yet, it is read. Step S403: The correction location setting unit 116 determines whether or not there is one or more correction line numbers in the read correction line list. Step S404: If the result of determination is that there is one or more correction line numbers, the correction line number at the beginning of the read correction line list is taken out as the target line, and a breakpoint setting command for the target line is executed. Send and set a breakpoint on the target line.

【0053】ステップS405:続いて、修正箇所設定
部116は、修正行一覧の先頭から順に見て、まだ取り
出していない修正行番号があるか否かを判定する。 ステップS406:判定の結果、取り出していない修正
行番号があれば、対象行の次の修正行番号を取り出して
対象行とする。 ステップS407:対象行に対してブレイクポイント設
定コマンドを送り、対象行にブレイクポイントを設定す
る。
Step S405: Subsequently, the correction location setting unit 116 looks at the correction line list in order from the beginning, and determines whether there is a correction line number that has not been taken out yet. Step S406: If the result of determination is that there is a corrected line number that has not been taken out, the corrected line number next to the target line is taken out and set as the target line. Step S407: A break point setting command is sent to the target line to set a break point on the target line.

【0054】ステップS408:全ての修正行について
ブレイクポイントが設定し終わったら修正行一覧管理部
115から修正行一覧を破棄する。このように修正箇所
設定部116は、修正行一覧に記載された修正行を指定
したブレイクポイント設定コマンドを送ることによっ
て、ブレイクポイント設定・解除部106にブレイクポ
イントを設定させる。
Step S408: When the breakpoints have been set for all the corrected lines, the corrected line list management unit 115 discards the corrected line list. As described above, the correction point setting unit 116 causes the break point setting / cancelling unit 106 to set a break point by sending a break point setting command designating a correction line listed in the correction line list.

【0055】なお、修正行一覧を破棄することとしてい
るが、デバッグ処理終了コマンドの処理で、ブレイクポ
イント一覧から修正行一覧を作成する直前に、不要な部
分を削除することで、修正行一覧を破棄することの代わ
りとしてもよい。 <デバッグ処理終了コマンド>図6は、コマンド入力部
102がデバッグ処理終了コマンドを受け付けた場合に
おける処理手順を示すフローチャートである。
Although the corrected line list is discarded, the corrected line list is deleted by deleting an unnecessary portion immediately before creating the corrected line list from the breakpoint list in the process of the debug process end command. It may be an alternative to discarding. <Debug Processing End Command> FIG. 6 is a flowchart showing a processing procedure when the command input unit 102 receives a debug processing end command.

【0056】ステップS501:ロード部105は、修
正行一覧管理部115に、ブレイクポイント一覧管理部
111が管理するブレイクポイント一覧から修正行一覧
を作成するよう要求する。次に、修正行一覧管理部11
5は、ブレイクポイント一覧管理部111のブレイクポ
イント一覧のアドレスを、ロードされた実行ファイルの
デバッグ情報を用いてファイル名及び行番号に変換し、
各ファイルごとに修正行一覧を作成する。
Step S501: The loading section 105 requests the modified row list management section 115 to create a modified row list from the breakpoint list managed by the breakpoint list management section 111. Next, the corrected line list management unit 11
5 converts the address of the breakpoint list of the breakpoint list management unit 111 into a file name and a line number using the debug information of the loaded execution file,
Create a list of modified lines for each file.

【0057】ステップS502:ロード部105は、ブ
レイクポイント一覧管理部111にブレイクポイント一
覧を破棄するよう要求を出し、ブレイクポイント一覧管
理部111は、ブレイクポイント一覧を破棄する。 ステップS503:ロード部105は、実行ファイルを
アンロードする。以上に示す構成により、プログラマは
自ら修正箇所にブレイクポイントを設定する必要がなく
なり、ブレイクポイント設定時の煩わしさから解放さ
れ、デバッグの効率が向上する。またプログラマが設定
する場合、プログラマの設定し忘れ等によりすべての修
正箇所にもれなく設定することができない場合がある
が、デバッグ装置10が設定する場合であれば設定もれ
がなく、すべての修正箇所について動作等をテストする
ことができる。 <実施の形態2>図7は、実施の形態2のデバッグ装置
のブロック図である。
Step S502: The load unit 105 issues a request to the breakpoint list management unit 111 to discard the breakpoint list, and the breakpoint list management unit 111 discards the breakpoint list. Step S503: The loading unit 105 unloads the execution file. With the configuration described above, the programmer does not need to set a breakpoint at the correction point by himself, and the troublesomeness at the time of setting a breakpoint is released, and the debugging efficiency is improved. In addition, when the programmer makes the settings, it may not be possible to set all the correction points without fail because the programmer forgets to do the settings. However, if the debug device 10 makes the settings, all the correction points will not be lost. You can test the behavior and so on. <Second Embodiment> FIG. 7 is a block diagram of a debug device according to a second embodiment.

【0058】同図においてデバッグ装置20は、実施の
形態1における図1のデバッグ装置10の構成に加え
て、分割・最適化部617を備える。以下、実施の形態
1と同じ点については説明を省略し、異なる点を中心に
説明する。図9は、コマンド入力部102がデバッグ処
理開始コマンドを受け付けた場合における処理手順を示
すフローチャートである。
In the figure, the debug device 20 includes a division / optimization unit 617 in addition to the configuration of the debug device 10 of FIG. 1 in the first embodiment. Hereinafter, description of the same points as those of the first embodiment will be omitted, and different points will be mainly described. FIG. 9 is a flowchart showing a processing procedure when the command input unit 102 receives a debug processing start command.

【0059】同図においてステップS800より前の処
理については図示していないが、図5にて説明したステ
ップS41からステップS43までと同じであり、ステ
ップS800からステップS804及びステップS81
2の処理についても図5のステップS400からステッ
プS404及びステップS408と同じであるので説明
を省略し、以下、ステップS805以降から説明する。
Although the process before step S800 is not shown in the figure, it is the same as step S41 to step S43 described in FIG. 5, and steps S800 to S804 and step S81.
The process of No. 2 is also the same as steps S400 to S404 and step S408 of FIG. 5, and therefore its explanation is omitted, and hereinafter, it will be explained from step S805.

【0060】ステップS805:分割・最適化部617
は、制御移行先行一覧作成処理を行う。この処理の詳細
については後に図10で説明する。ここで制御移行先行
一覧について説明する。図8は、実施の形態2のデバッ
グ装置20が作成し、使用する制御移行先行一覧の一例
を示す。
Step S805: Division / optimization unit 617
Performs a control transfer preceding list creation process. Details of this processing will be described later with reference to FIG. Here, the control transition preceding list will be described. FIG. 8 shows an example of a control transition precedence list created and used by the debug device 20 according to the second embodiment.

【0061】制御移行先行とは、ソースコード中の各行
の実行順序において、真上の行以外の他の行の実行に続
いて実行される可能性がある行を指す。例えば、分岐命
令の分岐先の命令を含む行は制御移行先行である。ソー
スコードの先頭から行順において、ある制御移行先行か
ら次の制御移行先行の前行までのひとかたまりを制御ブ
ロックと呼ぶ。すなわち、制御移行先行一覧は、ソース
コードを構成する各制御ブロックの先頭行がソースコー
ド上の何行目にあるかを記憶するものであり、これによ
り各制御ブロックの範囲を示すものである。
The control transfer preceding refers to a line that may be executed subsequent to the execution of a line other than the line immediately above in the execution order of each line in the source code. For example, a line including a branch destination instruction of a branch instruction is a control transfer precedent. In the line order from the beginning of the source code, a block from one control transition preceding to the next control transition preceding is called a control block. That is, the control transition preceding list stores what line on the source code the first line of each control block forming the source code is, and thereby indicates the range of each control block.

【0062】図8の制御移行先行一覧は、行番号を格納
する行番号の欄と行番号の行が制御移行先行であるか否
かを示す制御移行先行フラグとから構成される。制御移
行先行フラグは、行番号の行が制御移行先行である場合
には1が、そうでない場合には0が設定される。ソース
コードの第1行目は、常に、制御移行先行とする。この
制御移行先行一覧は、各ソースファイルごとに作成され
る。
The control transition precedence list of FIG. 8 is composed of a row number column for storing a line number and a control transition precedence flag indicating whether or not the row of the row number is the control transition precedence. The control transition preceding flag is set to 1 if the line of the line number is the control transition preceding, and is set to 0 otherwise. The first line of the source code always precedes the control transfer. This control transfer preceding list is created for each source file.

【0063】ステップS806:続いて、修正箇所設定
部116は、修正行一覧の先頭から順に見て、まだ取り
出していない修正行番号があるか否かを判定する。 ステップS807:判定の結果、取り出していない修正
行番号があれば、対象行の次の修正行番号を取り出して
次対象行とする。 ステップS808:制御移行先行一覧において、次対象
行の制御移行先行フラグが1であるか否かを判定する。
Step S806: Next, the correction location setting unit 116 looks at the correction line list in order from the beginning and determines whether there is a correction line number that has not been taken out yet. Step S807: If the result of determination is that there is a correction line number that has not been taken out, the correction line number next to the target line is taken out and set as the next target line. Step S808: In the control transition precedence list, it is determined whether or not the control transition precedence flag of the next target row is 1.

【0064】ステップS809:ステップS808の判
定において、1ではないと判定した場合、分割・最適化
部617は、次対象行の行番号と対象行に1を加えた行
番号とが一致するか否かを判定する。すなわちこの判定
においては、対象行と次対象行とが連続しているか否か
を判定している。 ステップS810:ステップS808の判定において次
対象行の制御移行先行フラグが1である場合、及び、ス
テップS809において次対象行の行番号と対象行に1
を加えた行番号とが一致しない場合、分割・最適化部6
17は、ブレイクポイント設定コマンドを送り、次対象
行にブレイクポイントを設定する。
Step S809: If it is determined in step S808 that it is not 1, the division / optimization unit 617 determines whether the line number of the next target line matches the line number obtained by adding 1 to the target line. To determine. That is, in this determination, it is determined whether the target line and the next target line are continuous. Step S810: When the control transition preceding flag of the next target line is 1 in the determination of step S808, and when the line number of the next target line and the target line are 1 in step S809.
If the line number added with does not match, the division / optimization unit 6
17 sends a breakpoint setting command to set a breakpoint on the next target line.

【0065】ステップS811:次対象行を対象行にし
てステップS806の処理に戻る。このように、分割・
最適化部617は、修正行が制御移行先行である場合、
及び、修正行が1つ前の修正行の行番号に続く行番号を
持たないものである場合には、その修正行にブレイクポ
イントを設定し、修正行が制御移行先行でなく、かつ、
修正行が1つ前の修正行の行番号に続く行番号を持つも
のである場合には、その修正行にはブレイクポイントを
設定しない。
Step S811: The next target line is set as the target line, and the process returns to step S806. In this way,
The optimization unit 617 determines that the corrected line is the control transition precedent,
If the modified line does not have a line number that follows the line number of the immediately preceding modified line, a breakpoint is set for the modified line, the modified line is not the control transition preceding, and
If the modified line has a line number that follows the line number of the immediately preceding modified line, no breakpoint is set for the modified line.

【0066】なお、分割・最適化部617は、次のよう
により簡単な構成にしてもよい。すなわち、分割・最適
化部617は、修正行一覧に記載されている修正行のう
ち、制御移行先行一覧に制御移行先行として記載されて
いる行、すなわち制御移行先行フラグが1の行について
ブレイクポイントを設定するよう構成してもよい。ま
た、分割・最適化部617は、修正行一覧に記載されて
いる修正行のうち、当該修正行の真上の行も修正行であ
る場合には、ブレイクポイントを設定しないよう構成し
てもよい。
The dividing / optimizing unit 617 may have a simpler structure as follows. That is, the division / optimization unit 617 breaks points among the modified lines listed in the modified line list that are listed as the control migration precedent in the control migration preceding list, that is, the lines in which the control migration preceding flag is 1. May be configured to be set. Further, the division / optimization unit 617 may be configured not to set a break point when a line immediately above the corrected line among the corrected lines listed in the corrected line list is also the corrected line. Good.

【0067】また、分割・最適化部617は、制御移行
先行一覧が示す各制御ブロックについて、制御ブロック
中の修正行のうち先頭の修正行のみにブレイクポイント
を設定するよう構成してもよい。さらに、分割・最適化
部617は、各制御ブロックについて、制御ブロック中
に修正行が存在する場合には、その制御ブロックの先頭
行にブレイクポイントを設定し、先頭行以外の修正行の
ブレイクポイント設定を省略するよう構成してもよい。
またこの構成に加えて、制御ブロック中で複数の修正行
が連続する場合には、そのうちの先頭の修正行にのみブ
レイクポイントを設定するよう構成してもよい。
Further, the division / optimization unit 617 may be configured to set a break point only to the first correction line among the correction lines in the control block for each control block indicated by the control transition preceding list. Further, for each control block, the division / optimization unit 617 sets a break point in the first row of the control block when a modified row exists in the control block, and sets a breakpoint in the modified row other than the first row. The configuration may be omitted.
In addition to this configuration, when a plurality of modified lines are consecutive in the control block, the break point may be set only in the first modified line.

【0068】図10は、ステップS805の制御移行先
行一覧作成処理の詳細な処理手順を示すフローチャート
である。 ステップS901:分割・最適化部617は、読み込ん
だ修正行一覧のソースコードを読み込む。 ステップS902:後の単語解析処理のために各種変数
の初期化処理を行う。すなわち現在行に0、制御移行先
行フラグに1、次文先頭フラグに0、中フラグに0、カ
ッコカウントに−1をセットする。
FIG. 10 is a flow chart showing a detailed processing procedure of the control transition preceding list creation processing of step S805. Step S901: The division / optimization unit 617 reads the source code of the read corrected line list. Step S902: Initialize various variables for later word analysis processing. That is, the current line is set to 0, the control transition leading flag is set to 1, the next sentence start flag is set to 0, the middle flag is set to 0, and the parenthesis count is set to -1.

【0069】ステップS903:現在行+1行目の行が
あるか否かを判定する。 ステップS904:ステップS903の判定の結果、現
在行+1行目の行がある場合には、その行を抽出し、現
在行とする。 ステップS905:現在行を区切りで分割し、単語に分
ける。ここで区切りとは、ソースコードに含まれる所定
の文字列を指す。この所定の文字列は、スペース、コン
トロール文字、//・・・行末、/*・・・*/、“・
・・”、(、)、{、}、;及び:である。この所定の
文字列において「・・・」の部分は任意の文字列であ
る。区切りのうち、(、)、{、}、;、:を特に単語
区切りという。区切りで分断された1文字以上の文字列
及び単語区切りをあわせて単語という。プログラムとプ
ログラムを単語に区切った例を図19及び図20に示
す。
Step S903: It is determined whether or not there is a current row + 1 row. Step S904: If the result of determination in step S903 is that there is a current row + 1 row, that row is extracted and set as the current row. Step S905: Divide the current line into delimiters and divide into words. Here, the term delimiter refers to a predetermined character string included in the source code. This predetermined character string is a space, a control character, // ... line end, /*...*/, ".
.. ", (,), {,} ,; and: The part of" ... "in this predetermined character string is an arbitrary character string. Among the delimiters, (,), {,},;,: are particularly referred to as word delimiters. A character string consisting of one or more characters separated by a delimiter and a word delimiter are collectively referred to as a word. An example in which a program and a program are divided into words is shown in FIGS. 19 and 20.

【0070】ステップS906:現在行の頭から順に単
語を検索する。 ステップS907:単語が検索されたか否かを判定す
る。 ステップS908:ステップS907の判定の結果、単
語が検索された場合には、単語解析処理を行う。この処
理の詳細については後に図11で説明する。 ステップS909:現在行から次の単語を検索してステ
ップS907に戻る。
Step S906: Words are searched in order from the beginning of the current line. Step S907: It is determined whether a word has been searched. Step S908: If the result of determination in step S907 is that a word is found, word analysis processing is performed. Details of this processing will be described later with reference to FIG. Step S909: Search the next word from the current line and return to step S907.

【0071】ステップS910:ステップS907の判
定の結果、単語が検索されなかった場合には、制御移行
先行一覧の現在行の行番号に対応する制御移行先行フラ
グ欄に制御移行先行フラグ値を代入した後、制御移行先
行フラグに0をセットし、ステップS903に戻る。図
11(a)は、ステップS908の単語解析処理の詳細
な処理手順を示すフローチャートである。この単語解析
処理においては、単語を分類1から6及び「その他」に
分類し、分類に応じて異なる処理を行う。図11(b)
に分類1から6の内容を示す。
Step S910: If the result of determination in step S907 is that no word is found, the control transition preceding flag value is assigned to the control transition preceding flag column corresponding to the line number of the current line in the control transition preceding list. Thereafter, the control transition leading flag is set to 0, and the process returns to step S903. FIG. 11A is a flowchart showing a detailed processing procedure of the word analysis processing in step S908. In this word analysis processing, words are classified into classifications 1 to 6 and “others”, and different processing is performed according to the classification. FIG. 11 (b)
Shows the contents of categories 1 to 6.

【0072】ステップS1001:カッコカウントが−
1より大きいか否かを判定する。 ステップS1008:ステップS1001の判定の結
果、カッコカウントが−1より大きくなく、かつ単語が
分類1に属する場合、すなわち単語が「:」又は「}」
である場合には、次文先頭フラグに1をセットする。 ステップS1009:ステップS1001の判定の結
果、カッコカウントが−1より大きくなく、かつ単語が
分類2に属する場合には、カッコカウントに0をセット
し、中フラグに1をセットする。
Step S1001: The parenthesis count is −
It is determined whether it is greater than 1. Step S1008: If the result of determination in step S1001 is that the parenthesis count is not greater than -1, and the word belongs to classification 1, that is, the word is ":" or "}".
If it is, 1 is set to the next sentence head flag. Step S1009: If the result of determination in step S1001 is that the parenthesis count is not greater than −1 and the word belongs to classification 2, the parenthesis count is set to 0 and the middle flag is set to 1.

【0073】ステップS1010:ステップS1001
の判定の結果、カッコカウントが−1より大きくなく、
かつ単語が分類3に属する場合には、次文先頭フラグに
1をセットし、中フラグに1をセットする。 ステップS1011:ステップS1001の判定の結
果、カッコカウントが−1より大きくなく、かつ単語が
分類5に属する場合には、中フラグに0をセットする。
Step S1010: Step S1001
As a result of the judgment, the parenthesis count is not greater than -1,
If the word belongs to the category 3, 1 is set to the next sentence head flag and 1 is set to the middle flag. Step S1011: If the result of determination in step S1001 is that the parenthesis count is not greater than −1 and the word belongs to classification 5, the middle flag is set to 0.

【0074】ステップS1012:ステップS1001
の判定の結果、カッコカウントが−1より大きくなく、
かつ単語が分類4に属する場合には、次文先頭フラグが
1であるか否かを判定する。 ステップS1013:ステップS1012の判定の結
果、次文先頭フラグが1である場合には、制御移行先行
フラグに1をセットし、次文先頭フラグに0をセットす
る。
Step S1012: Step S1001
As a result of the judgment, the parenthesis count is not greater than -1,
If the word belongs to classification 4, it is determined whether the next sentence head flag is 1. Step S1013: If the result of determination in step S1012 is that the next sentence start flag is 1, the control transition preceding flag is set to 1 and the next sentence start flag is set to 0.

【0075】ステップS1014:続いて、中フラグが
1であるか否かを判定する。 ステップS1015:ステップS1014の判定の結
果、中フラグが1である場合には、次文先頭フラグに1
をセットし、中フラグに0をセットする。なお、ステッ
プS1001の判定の結果、カッコカウントが−1より
大きくなく、かつ単語がいずれの分類にも属さない場合
には何もしない。
Step S1014: Subsequently, it is determined whether or not the medium flag is 1. Step S1015: If the result of determination in step S1014 is that the medium flag is 1, the next sentence start flag is 1
Is set, and 0 is set to the middle flag. If the result of determination in step S1001 is that the parenthesis count is not greater than -1, and the word does not belong to any classification, nothing is done.

【0076】ステップS1002:ステップS1001
の判定の結果、カッコカウントが−1より大きい場合に
は、単語が分類6に属するか否かを判定する。 ステップS1003:ステップS1002の判定の結
果、単語が分類6に属する場合には、さらに、その単語
が「(」であるか否かを判定する。 ステップS1004:ステップS1003の判定の結
果、単語が「(」である場合には、カッコカウントの値
を1増やす。
Step S1002: Step S1001
When the parenthesis count is larger than -1 as a result of the determination of, it is determined whether the word belongs to the classification 6. Step S1003: If the result of the determination in step S1002 is that the word belongs to classification 6, it is further determined whether or not the word is “(”. Step S1004: As a result of the determination in step S1003, the word is “ If it is (), the value of the parenthesis count is incremented by 1.

【0077】ステップS1005:ステップS1003
の判定の結果、単語が「(」でない場合には、カッコカ
ウントの値を1減らす。 ステップS1006:カッコカウントが0であるか否か
を判定する。 ステップS1007:ステップS1006の判定の結
果、カッコカウントが0である場合には、カッコカウン
トに−1をセットする。
Step S1005: Step S1003
If the word is not “(” as a result of the determination, the value of the parenthesis count is decremented by 1. Step S1006: It is determined whether the parenthesis count is 0. Step S1007: The result of the determination in step S1006 is the parentheses If the count is 0, the parenthesis count is set to -1.

【0078】なお、ここで分類1〜6は、ソースコード
がC言語で記述されている場合における分類であるが、
Java(登録商標)で記述されている場合は分類1
の「:」及び「}」に、さらに「catch」、「fi
nally」を分類するキーワードとして加えればよ
い。図10及び図11のフローチャートでは、ソースコ
ードの先頭から単語を順に解析し、次の1、2の方法で
見つかった行を制御移行先行としている。 1.ソースコードの先頭から単語を順に見ていき、分類
1「:、}」か分類3「else」の単語を見つけた
ら、その後初めて現れる分類4「;」の単語のある行を
制御移行先行とする。 2.ソースコードの先頭から単語を順に見ていき、中フ
ラグが1である場合に、分類4「;」の単語を見つけた
ら、その後初めて現れる分類4「;」の単語のある行を
制御移行先行とする。
Here, the classifications 1 to 6 are classifications when the source code is described in C language,
Class 1 if written in Java (registered trademark)
":" And "}" in addition to "catch" and "fi"
"nally" may be added as a keyword for classification. In the flowcharts of FIGS. 10 and 11, the words are analyzed in order from the beginning of the source code, and the line found by the following methods 1 and 2 is set as the control transfer precedence. 1. The words are sequentially searched from the beginning of the source code, and when a word of category 1 ":,}" or category 3 "else" is found, the line with the word of category 4 ";" that appears for the first time is set as the control transition precedent. . 2. Looking at the words in order from the beginning of the source code, and when the middle flag is 1, when a word of class 4 ";" is found, the line with the word of class 4 ";" that appears for the first time as the control transition precedent. To do.

【0079】ここで中フラグが1である場合ということ
は、ソースコードの先頭から単語を順に見ていき、分類
2「if、for、while」及び分類3「els
e」を見つけた場合のことを指す。ただし、分類2「i
f、for、while」の条件式中の単語は無視す
る。上記1、2の方法では、if、for、whil
e、elseの後でないのに{又は}がある場合、}の
次に最初に見つかった分類4「;」の行を制御移行先行
とみなすため、制御ブロックが余分にできることとなる
が、簡単なアルゴリズムで制御移行先行を見つけること
ができる利点があり、制御移行先行であるにもかかわら
ず制御移行先行とみなされないという不具合がないこと
を保証している。 <実施の形態3>図12は、実施の形態3のデバッグ装
置のブロック図である。
Here, the case where the middle flag is 1 means that the words are sequentially searched from the beginning of the source code, and the classification 2 "if, for, while" and the classification 3 "els" are performed.
"e" is found. However, classification 2 "i
Words in the conditional expression "f, for, while" are ignored. In the above methods 1 and 2, if, for, while
If there is {or} after e, else but not after e, else, the line of the classification 4 ";" that is found first after} is regarded as the control transition preceding, so an extra control block can be created. The algorithm has the advantage of being able to find the control transition precedent, and guarantees that there is no failure that the control transition precedent is not regarded as the control transition precedent. <Third Embodiment> FIG. 12 is a block diagram of a debug device according to a third embodiment.

【0080】同図においてデバッグ装置30は、実施の
形態2における図7のデバッグ装置20の構成に加え
て、バグ票管理部1118を備える。以下、実施の形態
2と同じ点については説明を省略し、異なる点を中心に
説明する。図13は、バグ票一覧の一例を示す。バグ票
一覧は、複数のバグ票からなり、各バグ票は、バグ票を
一意に示す番号であるバグ票番号とコメントと通過回数
とから構成される。
In the figure, the debug device 30 includes a bug form management unit 1118 in addition to the configuration of the debug device 20 of FIG. 7 in the second embodiment. Hereinafter, description of the same points as those of the second embodiment will be omitted, and different points will be mainly described. FIG. 13 shows an example of a bug vote list. The bug form list is composed of a plurality of bug forms, and each bug form is composed of a bug form number, which is a number uniquely indicating the bug form, a comment, and the number of passages.

【0081】コメントは1以上の各ブレイクポイント設
定行について、そのブレイクポイント設定行があるソー
スコードのファイル名と設定行番号とオペレータにより
入力されたコメントとから構成される。各行のコメント
はブレイクポイントが設定される毎に、修正内容等につ
いてオペレータにより入力されるものである。なお、そ
の他に、各行のコメントに、修正日や、時間等の情報が
自動的に記述されることとしてもよい。
The comment is composed of the file name of the source code having the breakpoint setting line, the setting line number, and the comment input by the operator for each of the one or more breakpoint setting lines. The comment of each line is input by the operator about the correction content and the like every time the breakpoint is set. In addition, information such as a modification date and time may be automatically described in the comment of each line.

【0082】通過回数は、コメント欄の各ブレイクポイ
ント設定行に対応し、ブレイクポイント設定行にある命
令文が実行された回数を示す。図14は、コマンド入力
部102がデバッグ処理終了コマンドを受け付けた場合
における処理手順を示すフローチャートである。 ステップS1301:ロード部105は、修正行一覧管
理部115に、ブレイクポイント一覧管理部111が管
理するブレイクポイント一覧から修正行一覧を作成する
よう要求する。次に、修正行一覧管理部115は、ブレ
イクポイント一覧管理部111のブレイクポイント一覧
のアドレスをロードされた実行ファイルのデバッグ情報
を用いてファイル名及び行番号に変換し、各ファイルご
とに修正行一覧を作成する。
The number of passages corresponds to each break point setting line in the comment field, and indicates the number of times the command statement on the break point setting line is executed. FIG. 14 is a flowchart showing a processing procedure when the command input unit 102 receives a debug processing end command. Step S1301: The loading unit 105 requests the modified row list management unit 115 to create a modified row list from the breakpoint list managed by the breakpoint list management unit 111. Next, the modified line list management unit 115 converts the address of the breakpoint list of the breakpoint list management unit 111 into the file name and line number using the debug information of the loaded execution file, and the modified line for each file. Create a list.

【0083】ステップS1302:ロード部105は、
ブレイクポイント一覧管理部111にブレイクポイント
一覧を破棄するよう要求を出し、ブレイクポイント一覧
管理部111はブレイクポイント一覧を破棄する。 ステップS1303:バグ票一覧のブレイクポイント設
定アドレスに0を代入する。
Step S1302: The loading section 105
The breakpoint list management unit 111 issues a request to discard the breakpoint list, and the breakpoint list management unit 111 discards the breakpoint list. Step S1303: 0 is assigned to the breakpoint setting address of the bug vote list.

【0084】ステップS1304:ロード部105は、
実行ファイルをアンロードする。図15は、コマンド入
力部102がデバッグ処理開始コマンドを受け付けた場
合における処理手順を示すフローチャートである。同図
においてステップS801より前の処理、ステップS8
01で「Yes」の場合におけるそれ以降の処理、及び
ステップS812については、図9のフローチャートと
同じであるので、部分的に図示を省略している。これら
の部分は図9と同じ処理手順であるので説明を省略し、
以下、図9とは異なる部分であるステップS1401及
びステップS1402について説明する。
Step S1304: The loading section 105
Unload the executable file. FIG. 15 is a flowchart showing a processing procedure when the command input unit 102 receives a debug processing start command. In the figure, the process before step S801, step S8
Since the subsequent processing in the case of “Yes” in 01 and step S812 are the same as those in the flowchart of FIG. 9, illustration thereof is partially omitted. Since these parts have the same processing procedure as in FIG. 9, description thereof will be omitted.
Hereinafter, step S1401 and step S1402 which are different from FIG. 9 will be described.

【0085】ステップS1401:バグ票一覧から最後
のバグ票を除き、ブレイクポイント設定アドレスが0に
なっているバグ票があるか否かを判定する。 ステップS1402:判定の結果、ブレイクポイント設
定アドレスが0になっているバグ票がある場合には、図
18に示すバグ票のクローズ処理を行う。図16は、コ
マンド入力部102がブレイクポイント設定コマンドを
受け付けた場合における処理手順を示すフローチャート
である。
Step S1401: Excluding the last bug vote from the bug vote list, it is determined whether or not there is a bug vote whose breakpoint setting address is 0. Step S1402: As a result of the determination, if there is a bug vote in which the breakpoint setting address is 0, the bug vote closing process shown in FIG. 18 is performed. FIG. 16 is a flowchart showing a processing procedure when the command input unit 102 receives a breakpoint setting command.

【0086】ステップS1501:コマンド入力部10
2がブレイクポイント設定コマンドを受け付けると、ロ
ード部105は、ブレイクポイント設定・解除部106
にブレイクポイントを設定するよう要求し、ブレイクポ
イント設定・解除部106は、ロードされた実行ファイ
ル内のデバッグ情報から、ブレイクポイント設定行に対
するアドレスを得る。
Step S1501: Command input unit 10
When 2 receives the breakpoint setting command, the loading unit 105 causes the breakpoint setting / cancelling unit 106 to
To set a breakpoint, the breakpoint setting / cancellation unit 106 obtains the address for the breakpoint setting line from the debug information in the loaded execution file.

【0087】ステップS1502:ブレイクポイント設
定アドレスを登録しようとしているバグ票が新規である
か、あるいはバグ票一覧に登録済みであるかを判定す
る。 ステップS1503:ステップS1502の判定の結
果、バグ票が新規である場合には、バグ票一覧の一番最
後にあるバグ票にブレイクポイント設定アドレスを書き
込み、コメントの最初にブレイクポイント設定アドレス
に対応したファイル名及び行番号を記述する。
Step S1502: It is judged whether the bug vote for which the breakpoint setting address is to be registered is new or has been registered in the bug vote list. Step S1503: If the result of determination in step S1502 is that the bug vote is new, the breakpoint setting address is written in the bug vote at the end of the bug vote list, and the breakpoint setting address is addressed at the beginning of the comment. Describe the file name and line number.

【0088】ステップS1504:オペレータより入力
されるコメントをファイル名及び行番号に続けて記述す
る。 ステップS1505:バグ票一覧の最後にバグ票番号の
みを記述したバグ票を作成し登録する。バグ票番号には
連続番号を割当てる。 ステップS1506:ステップS1502の判定の結
果、バグ票がバグ票一覧に登録済みのものである場合、
バグ票一覧より目的のバグ票を検索する。
Step S1504: The comment input by the operator is described following the file name and line number. Step S1505: A bug form in which only the bug form number is described is created and registered at the end of the bug form list. A serial number is assigned to the bug vote number. Step S1506: If the result of determination in step S1502 is that the bug form is already registered in the bug form list,
Search for the desired bug form from the list of bug forms.

【0089】ステップS1507:バグ票にブレイクポ
イント設定アドレスを書き込み、コメントの先頭部分に
ブレイクポイント設定アドレスに対応するファイル名及
び行番号を記述する。 ステップS1508:オペレータより入力されたコメン
トを記述する。 ステップS1509:ブレイクポイント設定アドレスを
登録すべきバグ票が他にあるか否かを判定する。
Step S1507: The breakpoint setting address is written in the bug form, and the file name and line number corresponding to the breakpoint setting address are described at the beginning of the comment. Step S1508: Describe the comment input by the operator. Step S1509: It is determined whether or not there is another bug vote for which the breakpoint setting address should be registered.

【0090】ステップS1510:ブレイクポイント一
覧管理部111は、アドレス及び命令をブレイクポイン
ト一覧に登録し、アドレス内の命令をbreak命令に
置き換える。 ステップS1511:ソースコード表示部108は、表
示を要求されたファイルをソースコードファイル管理部
114から読み出して表示する。そしてさらに、ブレイ
クポイント表示部109に指定したファイルのブレイク
ポイントを表示するよう要求する。続いて、ブレイクポ
イント表示部109は、ブレイクポイント一覧管理部1
11から指定されたファイルのブレイクポイント情報を
読み出し、ブレイクポイントを表示する。
Step S1510: The breakpoint list management unit 111 registers the address and the instruction in the breakpoint list, and replaces the instruction in the address with the break instruction. Step S1511: The source code display unit 108 reads the file requested to be displayed from the source code file management unit 114 and displays it. Then, it further requests the breakpoint display unit 109 to display the breakpoints of the specified file. Then, the breakpoint display unit 109 displays the breakpoint list management unit 1
The breakpoint information of the file designated from 11 is read and the breakpoint is displayed.

【0091】図17は、コマンド入力部102がブレイ
クポイント解除コマンドを受け付けた場合における処理
手順を示すフローチャートである。 ステップS1601:ロード部105は、ブレイクポイ
ント設定・解除部106にブレイクポイントを解除する
よう要求する。この要求を受け付けて、ブレイクポイン
ト設定・解除部106は、ロードされた実行ファイル内
のデバッグ情報から、ブレイクポイント解除行に対する
アドレスを得る。そしてバグ票管理部1118に解除す
るブレイクポイントをバグ票から削除するよう要求を出
す。続いて、ブレイクポイント一覧管理部111に、ブ
レイクポイントを解除する箇所のアドレス及びそのアド
レス内にある命令をブレイクポイント一覧から削除する
よう要求し、ソースコード表示部108に解除したファ
イルを表示するよう要求する。
FIG. 17 is a flowchart showing a processing procedure when the command input unit 102 receives a breakpoint cancellation command. Step S1601: The loading unit 105 requests the breakpoint setting / cancelling unit 106 to cancel the breakpoint. Upon receiving this request, the breakpoint setting / cancellation unit 106 obtains the address for the breakpoint cancellation line from the debug information in the loaded execution file. Then, the bug vote management unit 1118 is requested to delete the breakpoint to be canceled from the bug vote. Then, the breakpoint list management unit 111 is requested to delete the address of the location where the breakpoint is to be released and the instruction within the address from the breakpoint list, and the source code display unit 108 is to display the released file. Request.

【0092】ステップS1602:バグ票管理部111
8は、バグ票一覧の最初のバグ票を対象とする。 ステップS1603:続いて、バグ票管理部1118
は、対象のバグ票のブレイクポイント設定アドレス一覧
から順にブレイクポイント解除アドレスを検索する。
Step S1602: Bug form managing unit 111
8 targets the first bug vote in the bug vote list. Step S1603: Subsequently, the bug vote management unit 1118
Searches for breakpoint release addresses in order from the list of breakpoint setting addresses for the target bug vote.

【0093】ステップS1604:次に、ステップS1
603の検索の結果、バグ票管理部1118は、ブレイ
クポイント解除アドレスを持つバグ票を見つけられたか
否かを判定する。 ステップS1605:ステップS1604の判定の結
果、ブレイクポイント解除アドレスを持つバグ票を見つ
けられた場合には、バグ票管理部1118は、そのバグ
票を対象とする。
Step S1604: Next, step S1
As a result of the search in 603, the bug vote management unit 1118 determines whether or not a bug vote having a breakpoint cancellation address has been found. Step S1605: When a bug vote having a breakpoint cancellation address is found as a result of the determination in step S1604, the bug vote management unit 1118 targets the bug vote.

【0094】ステップS1606:バグ票管理部111
8は、対象のバグ票のブレイクポイント設定アドレス一
覧からブレイクポイント解除アドレスを削除する。 ステップS1607:続いて、バグ票管理部1118
は、対象のバグ票のブレイクポイント設定行一覧に何も
ないか否かを判定する。 ステップS1608:ステップS1607の判定の結
果、あると判定した場合には、さらに、バグ票一覧より
対象のバグ票の次にバグ票があるか否かを判定する。
Step S1606: Bug form management unit 111
Step 8 deletes the break point cancellation address from the break point setting address list of the target bug vote. Step S1607: Subsequently, the bug vote management unit 1118
Determines whether there is nothing in the breakpoint setting line list of the target bug vote. Step S1608: If the result of the determination in step S1607 is that there is, it is further determined whether or not there is a bug vote next to the target bug vote from the bug vote list.

【0095】ステップS1609:ステップS1608
の判定の結果、バグ票があると判定した場合には、次の
バグ票を対象とする。 ステップS1610:ステップS1607の判定の結
果、対象のバグ票のブレイクポイント設定行一覧に何も
ないと判定した場合には、図18に示すバグ票クローズ
処理を行う。
Step S1609: Step S1608
If it is determined that there is a bug vote, the next bug vote is targeted. Step S1610: If the result of determination in step S1607 is that there is nothing in the breakpoint setting line list of the target bug slip, the bug slip close processing shown in FIG. 18 is performed.

【0096】ステップS1611:ブレイクポイント一
覧管理部111は、元の命令をリストアした後、アドレ
ス及び命令をブレイクポイント一覧から削除する。 ステップS1612:ソースコード表示部108は、指
定されたファイルをソースコードファイル管理部114
から読み出し表示する。続いてブレイクポイント表示部
109に、指定したファイルのブレイクポイントを表示
するよう要求する。ブレイクポイント表示部109は、
ブレイクポイント一覧管理部111から指定されたファ
イルのブレイクポイント情報を読み出し、ブレイクポイ
ントを表示する。
Step S1611: The breakpoint list management section 111 restores the original instruction and then deletes the address and the instruction from the breakpoint list. Step S1612: The source code display unit 108 stores the designated file in the source code file management unit 114.
Read from and display. Then, the breakpoint display unit 109 is requested to display the breakpoint of the specified file. The break point display section 109 is
The breakpoint information of the specified file is read from the breakpoint list management unit 111 and the breakpoints are displayed.

【0097】図18は、バグ票クローズ処理の詳細な処
理手順を示すフローチャートである。 ステップS1701:バグ票管理部1118は、テスト
結果を付加し、バグ票をクローズする。 ステップS1702:続いてバグ票管理部1118は、
バグ票一覧からクローズするバグ票を削除する。
FIG. 18 is a flow chart showing the detailed processing procedure of the bug slip close processing. Step S1701: The bug form management unit 1118 adds the test result and closes the bug form. Step S1702: Subsequently, the bug form management unit 1118
Delete the closed bug vote from the bug vote list.

【0098】以上の構成により、デバッグ装置30は、
ブレイクポイント毎にバグ票を管理するので、プログラ
マは効率的に修正内容のコメントを記述することができ
る。
With the above configuration, the debug device 30
Since the bug vote is managed for each breakpoint, the programmer can write the comment of the correction contents efficiently.

【0099】[0099]

【発明の効果】本発明のブレイクポイント設定装置は、
ソースプログラムに基づいて生成された実行形式プログ
ラムをロードするロード手段と、前記ソースプログラム
を構成する各要素と前記実行形式プログラムを構成する
各箇所との対応関係を示す情報を記憶している記憶手段
と、前記ソースプログラムに対して編集がなされた場合
であって、その編集内容が特定のものであるとき、当該
特定の編集が前記ソースプログラムを構成する各要素の
いずれに対してなされたかを示す位置情報を取得して記
憶する取得手段と、前記ロードされた実行形式プログラ
ムにおける、前記取得手段により取得された位置情報が
指す要素に対応する箇所にブレイクポイントを設定する
設定手段とを備える。
The breakpoint setting device of the present invention is
Loading means for loading an execution format program generated based on the source program, and storage means for storing information indicating a correspondence relationship between each element configuring the source program and each location configuring the execution format program And when the source program is edited, and when the edited content is a specific one, it indicates to which of the elements configuring the source program the specific edit is made. An acquisition unit that acquires and stores the position information, and a setting unit that sets a breakpoint at a location in the loaded executable program corresponding to an element indicated by the position information acquired by the acquisition unit are provided.

【0100】この構成によれば、ブレイクポイント設定
装置は、オペレータの編集操作により編集された、ソー
スプログラム上の編集箇所を管理することによって編集
箇所のソースプログラム上の位置を把握し、その位置に
ブレイクポイントを設定するので、編集箇所に関して
は、オペレータによるブレイクポイントの設定指示及び
設定位置の指定が不要となる。
According to this structure, the breakpoint setting device manages the edited portion on the source program edited by the operator's editing operation to grasp the position of the edited portion on the source program and set the position to the position. Since the breakpoint is set, it is not necessary for the operator to instruct the setting of the breakpoint and the position of the editing point.

【0101】また、前記各要素は、前記ソースプログラ
ムを構成する各行であり、前記記憶手段が記憶している
前記情報は、当該各行それぞれを識別する行番号と前記
各箇所との対応関係を示すものであり、前記取得手段
は、前記ソースプログラムにおける特定の編集がなされ
た行の行番号を前記位置情報として取得して記憶するよ
う構成してもよい。
Further, each element is each line constituting the source program, and the information stored in the storage means indicates a correspondence between a line number for identifying each line and each location. The acquisition means may be configured to acquire and store, as the position information, a line number of a line in the source program in which a specific edit has been made.

【0102】また、前記特定の編集には、改行コードの
削除が含まれ、前記ブレイクポイント設定装置は、さら
に、前記ソースプログラムが編集された場合において、
当該編集箇所の編集内容が改行コードの削除であるとき
には、当該編集箇所の行番号を記憶し、前記取得手段に
より既に取得され記憶されている行番号のうち当該編集
に係る行の行番号より値が大きい行番号それぞれを値が
1つ小さい行番号に書き替える更新手段を備えてもよ
い。
Further, the specific edit includes deletion of a line feed code, and the breakpoint setting device is further configured so that when the source program is edited,
When the edit content of the edit location is the deletion of the line feed code, the line number of the edit location is stored, and the line number of the line related to the edit is stored among the line numbers already acquired and stored by the acquisition unit. It is also possible to provide an updating unit that rewrites each line number having a large number with a line number having a smaller value by one.

【0103】また、前記ブレイクポイント設定装置は、
さらに、前記ソースプログラムが編集された場合におい
て、当該編集箇所の編集内容が行頭部分への改行コード
の追加であるときには、取得手段により既に取得され記
憶されている行番号のうち当該編集箇所と同じ行番号及
び当該編集箇所の行番号より値が大きい行番号それぞれ
を値が1つ大きい行番号に書き替える更新手段を備えて
もよい。
The breakpoint setting device is
Further, in the case where the source program is edited, when the edited content of the edited portion is addition of a line feed code to the beginning of the line, the same line number as the edited portion among the line numbers already acquired and stored by the acquisition means. An updating unit may be provided for rewriting the line number and the line number having a larger value than the line number of the edited part into a line number having a value larger by one.

【0104】また、前記ブレイクポイント設定装置は、
さらに、前記ソースプログラムが編集された場合におい
て、当該編集箇所の編集内容が行末部分への改行コード
の追加であるときには、前記取得手段により既に取得さ
れ記憶されている行番号のうち当該編集箇所よりも値が
大きい行番号を値が1つ大きい値に書き替える更新手段
を備えてもよい。
Also, the break point setting device is
Further, in the case where the source program is edited, if the edited content of the edited part is addition of a line feed code to the end of the line, the line number from the edited part among the line numbers already acquired and stored by the acquisition means. Also, an updating unit for rewriting a row number having a large value into a value having a larger value may be provided.

【0105】また、前記特定の編集には、行中への改行
コードの追加が含まれ、前記ブレイクポイント設定装置
は、さらに、前記ソースプログラムが編集された場合に
おいて、当該編集箇所の編集内容が行中への改行コード
の追加であるときには、前記取得手段により既に取得さ
れ記憶されている行番号のうち当該編集箇所の行番号よ
りも値が大きい行番号それぞれを値が1つ大きい値に書
き替え、また当該編集箇所の行番号と当該編集箇所の行
番号より値が1つ大きい行番号とを新たに記憶する更新
手段を備えてもよい。
Further, the specific edit includes addition of a line feed code in the line, and the breakpoint setting device further edits the edit content of the edit location when the source program is edited. When a line feed code is added to a line, each line number having a value larger than the line number of the editing location among the line numbers already acquired and stored by the acquisition means is written as a value one larger. Alternatively, an updating unit may be provided that newly stores the line number of the edit location and the line number whose value is one greater than the line number of the edit location.

【0106】また、前記取得手段は、前記ソースプログ
ラムが編集された場合に、当該編集箇所の編集内容が改
行コード以外の文字列に対する編集であるか否かを判定
する判定手段と、前記判定手段により肯定的に判定され
た場合に、当該編集箇所の当該編集箇所の行番号を新た
に記憶する更新手段とを備えてもよい。この構成によれ
ば、ブレイクポイント設定装置は、編集が改行コードの
削除又は追加を含むか否か、改行コードの追加を含む場
合には追加位置が行頭、行中、行末のいずれであるかに
応じて移動するソースプログラム上の編集位置を把握す
ることができるので、常に正確な位置に、オペレータに
よる設定指示及び設定位置の指定なしに、ブレイクポイ
ントを設定することができる。
Further, the obtaining means, when the source program is edited, a determining means for determining whether or not the editing content of the editing location is editing for a character string other than a line feed code, and the determining means. If the determination is affirmatively determined by, an updating unit that newly stores the line number of the edited location of the edited location may be provided. According to this configuration, the breakpoint setting device determines whether the edit includes deletion or addition of a line feed code, and if the line feed code is added, whether the addition position is at the beginning of the line, in the line, or at the end of the line. Since the editing position on the source program that moves accordingly can be grasped, the break point can always be set at an accurate position without the setting instruction and the designation of the setting position by the operator.

【0107】また、前記取得手段は、さらに、前記ソー
スプログラムを構成する各制御ブロックの範囲が前記ソ
ースプログラム上のどこからどこまでであるかを行番号
により示す行範囲情報を記憶しており、前記設定手段
は、前記行範囲情報が示す各制御ブロックの先頭の行番
号に相当する実行形式プログラム上の対応箇所にブレイ
クポイントを設定してもよい。
Further, the acquisition means further stores line range information indicating a range of each control block forming the source program from a position on the source program to a position on the source program by the line number. The means may set a breakpoint at a corresponding position on the executable program corresponding to the top line number of each control block indicated by the line range information.

【0108】この構成によれば制御ブロック単位に、制
御ブロック中の修正行のうちの先頭のものについてブレ
イクポイントを設定することができる。また、前記設定
手段は、前記取得手段が記憶している行番号のうちで、
前後で連続する2つの行番号のうちの後の行番号につい
ては、対応箇所のブレイクポイントを設定しないよう構
成してもよい。
According to this structure, the break point can be set for each control block, for the first correction row in the control block. In addition, the setting means, among the line numbers stored by the acquisition means,
The break point of the corresponding portion may not be set for the line number after the two line numbers that are continuous before and after.

【0109】この構成によればソースプログラム上の連
続する2行両方に編集位置が存在する場合には、後行の
編集位置へのブレイクポイント設定を省略して前行の編
集位置にのみブレイクポイントを設定することができ
る。また、前記ブレイクポイント設定装置は、前記設定
手段が設定する各ブレイクポイント毎にユーザにより入
力される当該ブレイクポイントに対応する編集箇所に関
する情報を対応させたバグ票を作成し、当該バグ票をユ
ーザインターフェースを介してユーザに提示してもよ
い。
According to this structure, when the edit position exists in both two consecutive lines on the source program, the break point setting to the edit position of the subsequent line is omitted and the break point is set only to the edit position of the previous line. Can be set. Further, the break point setting device creates a bug vote in which information on an edit location corresponding to the break point input by the user for each break point set by the setting means is created, and the bug note is set by the user. It may be presented to the user via an interface.

【0110】この構成によれば、ブレイクポイント設定
装置は、オペレータの編集操作により編集された、ソー
スプログラム上の編集箇所を管理することによって編集
箇所のソースプログラム上の位置を把握し、その位置に
ブレイクポイントを設定するとともにバグ票を作成する
ことができるので、オペレータのバグ票作成の負担が軽
減される。
According to this structure, the breakpoint setting device manages the edited portion on the source program edited by the operator's editing operation to grasp the position of the edited portion on the source program, and set the position to the position. Since it is possible to set a breakpoint and create a bug form, the burden on the operator of creating a bug form is reduced.

【図面の簡単な説明】[Brief description of drawings]

【図1】実施の形態1のデバッグ装置のブロック図であ
る。
FIG. 1 is a block diagram of a debug device according to a first embodiment.

【図2】ブレイクポイント表示部109によって表示さ
れたブレイクポイントの一例を示す。
FIG. 2 shows an example of break points displayed by a break point display unit 109.

【図3】修正行一覧の一例をす。FIG. 3 shows an example of a corrected row list.

【図4】コマンド入力部102が編集コマンドを受け付
けた場合における処理手順を示すフローチャートであ
る。
FIG. 4 is a flowchart showing a processing procedure when the command input unit 102 receives an edit command.

【図5】コマンド入力部102がデバッグ処理開始コマ
ンドを受け付けた場合における処理手順を示すフローチ
ャートである。
FIG. 5 is a flowchart showing a processing procedure when the command input unit 102 receives a debug processing start command.

【図6】コマンド入力部102がデバッグ処理終了コマ
ンドを受け付けた場合における処理手順を示すフローチ
ャートである。
FIG. 6 is a flowchart showing a processing procedure when the command input unit 102 receives a debug processing end command.

【図7】実施の形態2のデバッグ装置のブロック図であ
る。
FIG. 7 is a block diagram of a debug device according to a second embodiment.

【図8】実施の形態2のデバッグ装置20が作成し、使
用する制御移行先行一覧の一例を示す。
FIG. 8 shows an example of a control transition preceding list created and used by the debug device 20 according to the second embodiment.

【図9】コマンド入力部102がデバッグ処理開始コマ
ンドを受け付けた場合における処理手順を示すフローチ
ャートである。
FIG. 9 is a flowchart showing a processing procedure when the command input unit 102 receives a debug processing start command.

【図10】ステップS805の制御移行先行一覧作成処
理の詳細な処理手順を示すフローチャートである。
FIG. 10 is a flowchart showing a detailed processing procedure of a control transition preceding list creation processing of step S805.

【図11】(a)は、ステップS908の単語解析処理
の詳細な処理手順を示すフローチャートである。(b)
は、分類1から6の内容を示す。
FIG. 11A is a flowchart showing a detailed processing procedure of word analysis processing in step S908. (B)
Indicates the contents of classifications 1 to 6.

【図12】実施の形態3のデバッグ装置のブロック図で
ある。
FIG. 12 is a block diagram of a debug device according to a third embodiment.

【図13】バグ票一覧の一例を示す。FIG. 13 shows an example of a bug vote list.

【図14】コマンド入力部102がデバッグ処理終了コ
マンドを受け付けた場合における処理手順を示すフロー
チャートである。
FIG. 14 is a flowchart showing a processing procedure when the command input unit receives a debug processing end command.

【図15】コマンド入力部102がデバッグ処理開始コ
マンドを受け付けた場合における処理手順を示すフロー
チャートである。
FIG. 15 is a flowchart showing a processing procedure when the command input unit 102 receives a debug processing start command.

【図16】コマンド入力部102がブレイクポイント設
定コマンドを受け付けた場合における処理手順を示すフ
ローチャートである。
16 is a flowchart showing a processing procedure when the command input unit 102 receives a breakpoint setting command. FIG.

【図17】コマンド入力部102がブレイクポイント解
除コマンドを受け付けた場合における処理手順を示すフ
ローチャートである。
FIG. 17 is a flowchart showing a processing procedure when the command input unit 102 receives a breakpoint cancellation command.

【図18】バグ票クローズ処理の詳細な処理手順を示す
フローチャートである。
FIG. 18 is a flowchart showing a detailed processing procedure of a bug form closing process.

【図19】プログラムの一例を示すFIG. 19 shows an example of a program

【図20】図19のプログラムを単語に区切った例を示
す。
FIG. 20 shows an example in which the program of FIG. 19 is divided into words.

【符号の説明】[Explanation of symbols]

10 デバッグ装置 11 メイク部 12 デバッガ部 13 エディタ部 20 デバッグ装置 30 デバッグ装置 102 コマンド入力部 103 コマンド解析部 104 実行ファイル管理部 105 ロード部 106 解除部 107 実行制御部 108 ソースコード表示部 109 ブレイクポイント表示部 110 命令処理部 111 ブレイクポイント一覧管理部 112 ソースコード編集部 113 ソースコード表示部 114 ソースコードファイル管理部 115 修正行一覧管理部 116 修正箇所設定部 617 最適化部 1118 バグ票管理部 10 Debugging device 11 Makeup Department 12 Debugger section 13 Editor 20 Debugging device 30 Debugging device 102 Command input section 103 Command parser 104 Executable file manager 105 Road section 106 Release unit 107 execution control unit 108 Source code display 109 Break point display 110 Command processing unit 111 Breakpoint List Management Department 112 Source code editor 113 Source code display 114 Source Code File Management Department 115 Modified row list management section 116 Correction point setting section 617 Optimization unit 1118 Bug form management department

───────────────────────────────────────────────────── フロントページの続き (72)発明者 川本 琢二 愛知県名古屋市中区栄2丁目6番1号 白 川ビル別館5階 株式会社松下電器情報シ ステム名古屋研究所内 Fターム(参考) 5B042 HH01 HH25 LA02 MA10 MC13 NN04 NN06 5B076 EC01 EC02 EC04    ─────────────────────────────────────────────────── ─── Continued front page    (72) Inventor Takuji Kawamoto             2-6-1, Sakae, Naka-ku, Nagoya-shi, Aichi             Kawa Building Annex 5th floor Matsushita Electric Information Co., Ltd.             Stem Nagoya Institute F term (reference) 5B042 HH01 HH25 LA02 MA10 MC13                       NN04 NN06                 5B076 EC01 EC02 EC04

Claims (15)

【特許請求の範囲】[Claims] 【請求項1】 ソースプログラムに基づいて生成された
実行形式プログラムをロードするロード手段と、 前記ソースプログラムを構成する各要素と前記実行形式
プログラムを構成する各箇所との対応関係を示す情報を
記憶している記憶手段と、 前記ソースプログラムに対して編集がなされた場合であ
って、その編集内容が特定のものであるとき、当該特定
の編集が前記ソースプログラムを構成する各要素のいず
れに対してなされたかを示す位置情報を取得して記憶す
る取得手段と、 前記ロードされた実行形式プログラムにおける、前記取
得手段により取得された位置情報が指す要素に対応する
箇所にブレイクポイントを設定する設定手段とを備える
ことを特徴とするブレイクポイント設定装置。
1. A load means for loading an execution format program generated based on a source program, and information storing a correspondence relationship between each element configuring the source program and each location configuring the execution format program. When the source program is edited, and the edited contents are specific, the specific edit is performed on any of the elements constituting the source program. Acquiring means for acquiring and storing position information indicating whether the position information has been processed, and setting means for setting a break point at a position in the loaded executable program corresponding to an element indicated by the position information acquired by the acquiring means. And a break point setting device.
【請求項2】 前記各要素は、前記ソースプログラムを
構成する各行であり、 前記記憶手段が記憶している前記情報は、当該各行それ
ぞれを識別する行番号と前記各箇所との対応関係を示す
ものであり、 前記取得手段は、前記ソースプログラムにおける特定の
編集がなされた行の行番号を前記位置情報として取得し
て記憶することを特徴とする請求項1記載のブレイクポ
イント設定装置。
2. Each of the elements is a line constituting the source program, and the information stored in the storage means indicates a correspondence relationship between a line number for identifying each of the lines and each of the locations. 2. The break point setting device according to claim 1, wherein the acquisition unit acquires and stores, as the position information, a line number of a line in the source program in which a specific edit has been performed.
【請求項3】 前記特定の編集には、改行コードの削除
が含まれ、 前記ブレイクポイント設定装置は、さらに、 前記ソースプログラムが編集された場合において、当該
編集箇所の編集内容が改行コードの削除であるときに
は、当該編集箇所の行番号を記憶し、前記取得手段によ
り既に取得され記憶されている行番号のうち当該編集に
係る行の行番号より値が大きい行番号それぞれを値が1
つ小さい行番号に書き替える更新手段を備えることを特
徴とする請求項2記載のブレイクポイント設定装置。
3. The specific edit includes deletion of a line feed code, and the breakpoint setting device further includes: when the source program is edited, edit contents of the edited portion include deletion of a line feed code. , The line number of the edited part is stored, and the line number having a value larger than the line number of the line related to the editing among the line numbers already acquired and stored by the acquisition means has a value of 1
The break point setting device according to claim 2, further comprising an updating unit that rewrites the line number to a smaller row number.
【請求項4】 前記ブレイクポイント設定装置は、さら
に、 前記ソースプログラムが編集された場合において、当該
編集箇所の編集内容が行頭部分への改行コードの追加で
あるときには、取得手段により既に取得され記憶されて
いる行番号のうち当該編集箇所と同じ行番号及び当該編
集箇所の行番号より値が大きい行番号それぞれを値が1
つ大きい行番号に書き替える更新手段を備えることを特
徴とする請求項2記載のブレイクポイント設定装置。
4. The break point setting device further stores, when the source program is edited, when the edited content of the edited portion is addition of a line feed code to the beginning of a line, the breakpoint is already acquired by the acquisition means and stored. The line number that is the same as the edit location and the line number that is larger than the line number of the edit location have the value 1
The break point setting device according to claim 2, further comprising an updating unit that rewrites the line number to a larger line number.
【請求項5】 前記ブレイクポイント設定装置は、さら
に、 前記ソースプログラムが編集された場合において、当該
編集箇所の編集内容が行末部分への改行コードの追加で
あるときには、前記取得手段により既に取得され記憶さ
れている行番号のうち当該編集箇所よりも値が大きい行
番号を値が1つ大きい値に書き替える更新手段を備える
ことを特徴とする請求項2記載のブレイクポイント設定
装置。
5. The breakpoint setting device further includes, when the source program is edited, when the edited content of the edited location is addition of a line feed code to the end of a line, the breakpoint is already acquired by the acquisition means. 3. The breakpoint setting device according to claim 2, further comprising an updating unit that rewrites a line number having a larger value than the edited location among the stored line numbers to a value having a larger value by one.
【請求項6】 前記特定の編集には、行中への改行コー
ドの追加が含まれ、 前記ブレイクポイント設定装置は、さらに、 前記ソースプログラムが編集された場合において、当該
編集箇所の編集内容が行中への改行コードの追加である
ときには、前記取得手段により既に取得され記憶されて
いる行番号のうち当該編集箇所の行番号よりも値が大き
い行番号それぞれを値が1つ大きい値に書き替え、また
当該編集箇所の行番号と当該編集箇所の行番号より値が
1つ大きい行番号とを新たに記憶する更新手段を備える
ことを特徴とする請求項2記載のブレイクポイント設定
装置。
6. The specific edit includes addition of a line feed code in a line, and the breakpoint setting device further includes: when the source program is edited, the edit content of the edit location. When a line feed code is added to a line, each line number having a value larger than the line number of the editing location among the line numbers already acquired and stored by the acquisition means is written as a value one larger. 3. The breakpoint setting device according to claim 2, further comprising update means for newly storing a line number of the edited location and a line number having a value one greater than the line number of the edited location.
【請求項7】 前記取得手段は、 前記ソースプログラムが編集された場合に、当該編集箇
所の編集内容が改行コード以外の文字列に対する編集で
あるか否かを判定する判定手段と、 前記判定手段により肯定的に判定された場合に、当該編
集箇所の当該編集箇所の行番号を新たに記憶する更新手
段とを備えることを特徴とする請求項2記載のブレイク
ポイント設定装置。
7. The determining means, when the source program is edited, determining means for determining whether or not the editing content of the editing location is editing for a character string other than a line feed code, and the determining means. 3. The break point setting device according to claim 2, further comprising: an updating unit that newly stores the line number of the edited location of the edited location when the determination is positive.
【請求項8】 前記取得手段は、さらに、前記ソースプ
ログラムを構成する各制御ブロックの範囲が前記ソース
プログラム上のどこからどこまでであるかを行番号によ
り示す行範囲情報を記憶しており、 前記設定手段は、前記行範囲情報が示す各制御ブロック
の先頭の行番号に相当する実行形式プログラム上の対応
箇所にブレイクポイントを設定することを特徴とする請
求項2記載のブレイクポイント設定装置。
8. The acquisition means further stores line range information indicating a range of each control block constituting the source program from a position on the source program to a position on the source program by line numbers. 3. The break point setting device according to claim 2, wherein the means sets a break point at a corresponding position on the executable program corresponding to the top line number of each control block indicated by the line range information.
【請求項9】 前記設定手段は、前記取得手段が記憶し
ている行番号のうちで、前後で連続する2つの行番号の
うちの後の行番号については、対応箇所のブレイクポイ
ントを設定しないことを特徴とすることを特徴とする請
求項2記載のブレイクポイント設定装置。
9. The setting unit does not set a break point at a corresponding position for a line number subsequent to two line numbers that are consecutive before and after the line number stored in the acquisition unit. The break point setting device according to claim 2, wherein:
【請求項10】 前記ブレイクポイント設定装置は、 前記設定手段が設定する各ブレイクポイント毎にユーザ
により入力される当該ブレイクポイントに対応する編集
箇所に関する情報を対応させたバグ票を作成し、当該バ
グ票をユーザインターフェースを介してユーザに提示す
ることを特徴とする請求項1記載のブレイクポイント設
定装置。
10. The break point setting device creates a bug slip in which information on an edit location corresponding to the break point input by the user is associated with each break point set by the setting means, and the bug The breakpoint setting device according to claim 1, wherein the vote is presented to the user via a user interface.
【請求項11】 前記ブレイクポイント設定装置は、前
記バグ票の作成において、前記編集箇所がデバッガによ
り解読、実行された回数をデバッガより取得し、当該回
数を前記編集箇所に関する情報に含めて提示することを
特徴とする請求項10記載のブレイクポイント設定装
置。
11. The breakpoint setting device acquires, from the debugger, the number of times the editorial portion has been decoded and executed by the debugger in creating the bug form, and presents the number of times in the information on the edited portion. The break point setting device according to claim 10, wherein
【請求項12】 取得手段は、 前記特定の編集に対応する位置情報が既に取得され記憶
されている場合には、当該位置情報を記憶することを抑
止することを特徴とする請求項1記載のブレイクポイン
ト設定装置。
12. The acquisition unit according to claim 1, wherein, when the position information corresponding to the specific edit is already acquired and stored, the acquisition unit suppresses storing the position information. Break point setting device.
【請求項13】 前記取得手段は、さらに、前記ソース
プログラムを構成する各制御ブロックの範囲が前記ソー
スプログラム上のどこからどこまでであるかを行番号に
より示す行範囲情報を記憶しており、 前記設定手段は、前記各制御ブロック毎に、当該制御ブ
ロック内にある前記特定の編集がなされた各行のうち先
頭のものにブレイクポイントを設定し、その他のものに
はブレイクポイントを設定しないよう抑止することを特
徴とする請求項2記載のブレイクポイント設定装置。
13. The acquisition means further stores line range information indicating a range of each control block constituting the source program from a position on the source program to a position on the source program, wherein the setting is performed. The means sets, for each control block, a break point at the beginning of each line in the control block that has been subjected to the specific edit, and prevents a break point from being set at other lines. The break point setting device according to claim 2.
【請求項14】 ソースプログラムに基づいて生成され
た実行形式プログラムをロードするロードステップと、 前記ソースプログラムを構成する各要素と前記実行形式
プログラムを構成する各箇所との対応関係を示す情報を
メモリに記憶する記憶ステップと、 前記ソースプログラムに対して編集がなされた場合であ
って、その編集内容が特定のものであるとき、当該特定
の編集が前記ソースプログラムを構成する各要素のいず
れに対してなされたかを示す位置情報を取得してメモリ
記憶する取得ステップと、 前記ロードされた実行形式プログラムにおける、前記取
得ステップにより取得された位置情報が指す要素に対応
する箇所にブレイクポイントを設定する設定ステップ
と、 を含むことを特徴とするブレイクポイント設定方法。
14. A load step of loading an execution format program generated based on a source program, and information indicating a correspondence relationship between each element configuring the source program and each location configuring the execution format program in a memory. And a step of storing the source program, and when the edit content is a specific one, the specific edit is performed for any one of the elements constituting the source program. An acquisition step of acquiring and storing in memory the position information indicating whether the position information has been processed, and a setting for setting a breakpoint at a location in the loaded executable program corresponding to an element indicated by the position information acquired by the acquisition step. A breakpoint setting method comprising:
【請求項15】 コンピュータに実行させるプログラム
であって、当該プログラムはコンピュータに、 ソースプログラムに基づいて生成された実行形式プログ
ラムをロードするロードステップと、 前記ソースプログラムを構成する各要素と前記実行形式
プログラムを構成する各箇所との対応関係を示す情報を
メモリに記憶する記憶ステップと、 前記ソースプログラムに対して編集がなされた場合であ
って、その編集内容が特定のものであるとき、当該特定
の編集が前記ソースプログラムを構成する各要素のいず
れに対してなされたかを示す位置情報を取得してメモリ
記憶する取得ステップと、 前記ロードされた実行形式プログラムにおける、前記取
得ステップにより取得された位置情報が指す要素に対応
する箇所にブレイクポイントを設定する設定ステップ
と、 を実行させることを特徴とするブレイクポイント設定プ
ログラム。
15. A program to be executed by a computer, the program comprising: a loading step of loading an execution format program generated based on a source program into the computer; elements constituting the source program; and the execution format. A storage step of storing information indicating a correspondence relationship with each part constituting the program in a memory, and a case where the source program is edited, and when the edited content is specific, the identification An acquisition step of acquiring and storing in memory the position information indicating which of the elements making up the source program has been edited, and the position acquired by the acquisition step in the loaded executable program. Set a breakpoint at the location corresponding to the element pointed to by the information Breakpoint setting program for causing running set and steps that, a.
JP2003031702A 2002-02-07 2003-02-07 Breakpoint setting device, breakpoint setting method, and breakpoint setting program Expired - Fee Related JP4208591B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2003031702A JP4208591B2 (en) 2002-02-07 2003-02-07 Breakpoint setting device, breakpoint setting method, and breakpoint setting program

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
JP2002031372 2002-02-07
JP2002-31372 2002-02-07
JP2003031702A JP4208591B2 (en) 2002-02-07 2003-02-07 Breakpoint setting device, breakpoint setting method, and breakpoint setting program

Publications (2)

Publication Number Publication Date
JP2003303115A true JP2003303115A (en) 2003-10-24
JP4208591B2 JP4208591B2 (en) 2009-01-14

Family

ID=29404952

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2003031702A Expired - Fee Related JP4208591B2 (en) 2002-02-07 2003-02-07 Breakpoint setting device, breakpoint setting method, and breakpoint setting program

Country Status (1)

Country Link
JP (1) JP4208591B2 (en)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2009252247A (en) * 2008-04-07 2009-10-29 Internatl Business Mach Corp <Ibm> Debugger data processing system, debugging method and computer program
CN112988532A (en) * 2021-01-27 2021-06-18 腾讯科技(深圳)有限公司 Reporting method and device of embedded point event, server and storage medium

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2009252247A (en) * 2008-04-07 2009-10-29 Internatl Business Mach Corp <Ibm> Debugger data processing system, debugging method and computer program
CN112988532A (en) * 2021-01-27 2021-06-18 腾讯科技(深圳)有限公司 Reporting method and device of embedded point event, server and storage medium

Also Published As

Publication number Publication date
JP4208591B2 (en) 2009-01-14

Similar Documents

Publication Publication Date Title
US7134115B2 (en) Apparatus, method, and program for breakpoint setting
KR100637787B1 (en) Method and program for file information write processing
CN114168286A (en) Application software migration method based on Windows
JP4208591B2 (en) Breakpoint setting device, breakpoint setting method, and breakpoint setting program
JP4754787B2 (en) In-house information system management device
US9032372B2 (en) Runtime environment and method for non-invasive monitoring of software applications
JPH0934698A (en) Software generating method and software developing and supporting method
JP2000112722A (en) System and method for managing number of printing and storage medium
JP2009151727A (en) Document processing system
JP3497053B2 (en) Processing method in online database management system and online database management system
JPS63279346A (en) File replacement processing system
JP3458421B2 (en) Document processing system
JP2000311105A (en) Computer and data synchronizing method
JP2900873B2 (en) File management device
CN114116876A (en) Method, system, device, processor and storage medium for realizing modular processing of process management based on database technology
JP2003303196A (en) Knowledge information collecting system and knowledge information collecting method
JP2021093699A (en) Initial installation system and control method of the same
JPH11203140A (en) Monitor device for agent system, monitor method, recording medium recording monitoring program, debugging device, debug method and recording medium recording debugging program
JPH09282206A (en) Change management system for product
JPH0261715A (en) Command interpreter with memory function
JPH0713752A (en) Control method/device for program revision
JPH0358225A (en) File editing system
JPH02159646A (en) Data maintenance system for data base
JPH06222934A (en) Electronic computer
JPH04134535A (en) Exception information sampling mechanism for multitask program

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20051130

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20080618

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20080715

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20080827

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20080924

A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20081021

R150 Certificate of patent or registration of utility model

Ref document number: 4208591

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

Free format text: JAPANESE INTERMEDIATE CODE: R150

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20111031

Year of fee payment: 3

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20121031

Year of fee payment: 4

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20131031

Year of fee payment: 5

LAPS Cancellation because of no payment of annual fees