JP2007004516A - Program debugging method of built-in system - Google Patents

Program debugging method of built-in system Download PDF

Info

Publication number
JP2007004516A
JP2007004516A JP2005184381A JP2005184381A JP2007004516A JP 2007004516 A JP2007004516 A JP 2007004516A JP 2005184381 A JP2005184381 A JP 2005184381A JP 2005184381 A JP2005184381 A JP 2005184381A JP 2007004516 A JP2007004516 A JP 2007004516A
Authority
JP
Japan
Prior art keywords
execution
program
code
break
processing unit
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
JP2005184381A
Other languages
Japanese (ja)
Inventor
Akira Ioku
章 井奥
Yoshiaki Morimoto
義章 森本
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.)
Hitachi Software Engineering Co Ltd
Original Assignee
Hitachi Software Engineering 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 Hitachi Software Engineering Co Ltd filed Critical Hitachi Software Engineering Co Ltd
Priority to JP2005184381A priority Critical patent/JP2007004516A/en
Publication of JP2007004516A publication Critical patent/JP2007004516A/en
Pending legal-status Critical Current

Links

Images

Abstract

<P>PROBLEM TO BE SOLVED: To provide a stepwise execution of a program under trial simply and at a low cost for a trial of software, improvement of efficiency of debugging works, and expansion for application object without a need of a monitor or a debugger. <P>SOLUTION: Codes which decide necessity of a break request according to a state of a stepwise execution activation flag to a plurality or all of execution process units of an execution program corresponding to process sections of which stepwise execution is desired to be performed on a source program, are inserted into the execution program. When the stepwise execution activation flag is in activated state, the break request in the execution program is detected, the break request is replaced with (read as) a standard input waiting code, and the stepwise execution is achieved by performing a break function, an updating function of variables, and a re-execution start. <P>COPYRIGHT: (C)2007,JPO&INPIT

Description

本発明は、組込みシステムにおけるプログラムのデバッグ方法に係り、特に、デバッグ中にプログラムの実行を中断させる、ブレークポイントの設定に関する。   The present invention relates to a method for debugging a program in an embedded system, and more particularly to setting a breakpoint for interrupting program execution during debugging.

プログラム開発においては、コンピュータ上でプログラムがどのように振る舞うか、実行時の監視が必須である。このような監視を行う基本的方法として、例えば、ソースプログラムにログの出力コードを埋め込み、これをコンパイルし、コンパイル後のモジュールを実行することで、実行中のログを得て、監視を行うことが知られている。
そして、プログラムを実行させながら、その実行状態を表示する機能を持つ、デバッガが一般的に用いられている。デバッガは、開発者が作成したプログラムコードにバグがないかを検証するために使われるツールである。
デバッガを用いれば、ソースコード(ソースプログラム)を表示した上で、操作者がそのコード中のどのポイントでどのような情報を表示するのか指定でき、この結果、そのソースコードを実行しながら、動的な情報(変数、引数、レジスタの値の変化)を表示できるから、デバッグ対象のプログラム又はコードの健全性をチェックできる。
従来のデバッガでは、ソフトウェア割込みを発生させる命令自体を、直接、デバッグ対象のプログラムに埋め込むことを要し、その割込み命令が実行され、割込みが発生して、対象プラグラムを中断(ブレーク)させていた。デバッガは、このほかに、中断時に、変数、メモリ領域、レジスタの値を参照する機能、これらの値を設定する機能、中断したプログラムの実行を再開する機能を有している。
In program development, it is essential to monitor how a program behaves on a computer during execution. As a basic method for such monitoring, for example, by embedding the output code of the log in the source program, compiling it, and executing the module after compilation, obtaining the running log and monitoring It has been known.
A debugger having a function of displaying the execution state while executing a program is generally used. The debugger is a tool used for verifying that there is no bug in the program code created by the developer.
Using the debugger, the source code (source program) can be displayed and the operator can specify what information is displayed at which point in the code. As a result, the source code can be executed while executing the source code. Information (variables, arguments, changes in register values) can be displayed, and the soundness of the program or code to be debugged can be checked.
In a conventional debugger, it is necessary to embed an instruction for generating a software interrupt directly in a program to be debugged, the interrupt instruction is executed, an interrupt is generated, and the target program is interrupted (break). . In addition to this, the debugger has a function of referring to values of variables, memory areas, and registers at the time of interruption, a function of setting these values, and a function of resuming execution of an interrupted program.

また、デバッガは、中断点を細かく設けて、中断と再開を繰り返すことで、ステップ実行という機能を有することが多い。この機能によると、プログラムの実行挙動を細かく把握しやすくなる。公知のステップ実行の実現方法として典型的な実施の形態は、デバッガが、コードの行ごとに次の命令にブレークポイントを挿入し、プロセスを動作させ、関連する例外をキャッチし、および命令ポインタを検査して、事前に構成されたステップポイントに達したかどうかを判定する(または、デバッガが手動で停止されるまでこれらを行う)。   In many cases, a debugger has a function of step execution by providing interruption points in detail and repeating interruption and restart. This function makes it easier to grasp the execution behavior of the program in detail. A typical embodiment for implementing known step execution is that the debugger inserts a breakpoint at the next instruction for each line of code, runs the process, catches the associated exception, and sets the instruction pointer. Examine to determine if pre-configured step points have been reached (or do these until the debugger is manually stopped).

メモリー、CPUパワーその他の計算機資源を豊富に有する上記のシステムとは異なり、各種の機器に組み込まれて、マイクロプロセッサによりその制御を行う、機器組込み制御システム(組込みシステム)が普及している。
組込みシステムに搭載されるプログラムをデバッグするに際しては、1)組込みシステムでは、汎用のOSを搭載できない、2)メモリ容量の制約が厳しい等の理由により、機器の実動作環境下で従来のデバッガを使用できないという課題があった。
そのため、対象プログラムの変数の値を表示装置やファイルに出力する、又は、内部メモリに書き込む、といったデバッグ機能を、各種の機器の開発者自らが開発しなければならなかった。つまり対象プログラム中に自作のソフトウエアを組み込んで、アセンブル/コンパイルした後に実行し、組込みシステムが処理するデータの変化を追跡することが必要であった。このようなデバッグ機能は、製品をリリースするときには削除されるか、コンパイルフラグで切換えられるようにし、最終的な製品(オブジェクトコード)からは除かれていた(特許文献1)。
組込みシステムにおいては、リモートデバッグと呼ばれる、比較的高機能なデバッグが行われることがある(特許文献2)。一般に次のような手法である(図11)。
デバッグの対象である、ターゲットシステム23のROM26に、モニタープログラム25を組み込む。ホストコンピュータ22上のデバッガ21は、モニタープログラム25とインターフェース29を介して通信する。CPU24は、組込みシステムにおけるマイクロコンピュータ内の中央演算ユニットである。ここで、ユーザプログラム27はRAM28に格納されている。
ホストコンピュータ22は、モニタープログラム25に対してコマンドを送信し、モニタープログラム25はそのコマンドを受信し、ブレーク、トレースその他の処理を実行する。モニタープログラム25は、ブレークコマンドに対しては、ブレークポイントのアドレスをレジスタに格納してCPU24にアドレス一致例外を発生させ、ユーザプログラム27からモニタープログラム25に制御を移し、ブレーク処理を行う(ハードウェアブレーク)。
ハードウエアブレークの機能がないマイクロコンピュータにおいては、モニタープログラム25がブレークポイントに例外を発生させるトラップ命令を、ユーザプログラム27中に書き込み、ユーザプログラム27に例外を発生させてモニタープログラム25に制御を移し、ブレーク処理を行い、同処理が終了した後、前記トラップ命令を元の命令に戻す(ソフトウェアブレーク)。
モニタープログラム25は、トレースコマンドに対しては、マイクロコンピュータが有しているトレース機能を使うため、CPU24をトレースモードに遷移させ、ユーザプログラム27を対象として、トレース実行させる。トレースモードがないマイクロコンピュータ対しては、ソフトウエアブレークで説明した方法により、1命令先のアドレスにブレークポイントを設定して、ユーザプログラム27が1命令実行した時点で例外を発生させ、これを繰り返すことにより、ユーザプログラム27を対象として、トレース実行させる。
Unlike the above-described system having abundant computer resources such as memory, CPU power, and the like, a built-in control system (embedded system) that is incorporated in various devices and controlled by a microprocessor has become widespread.
When debugging a program installed in an embedded system, 1) A general-purpose OS cannot be installed in an embedded system. 2) Due to strict memory capacity restrictions, a conventional debugger must be installed under the actual operating environment of the device. There was a problem that it could not be used.
For this reason, developers of various devices themselves have to develop debugging functions such as outputting the values of variables of the target program to a display device or a file, or writing them to an internal memory. In other words, it is necessary to embed original software in the target program, execute it after assembling / compiling, and track changes in data processed by the embedded system. Such a debug function is deleted when a product is released or is switched by a compile flag, and is excluded from a final product (object code) (Patent Document 1).
In an embedded system, debugging with relatively high functionality called remote debugging may be performed (Patent Document 2). Generally, the following method is used (FIG. 11).
The monitor program 25 is incorporated into the ROM 26 of the target system 23 that is the object of debugging. The debugger 21 on the host computer 22 communicates with the monitor program 25 via the interface 29. The CPU 24 is a central processing unit in the microcomputer in the embedded system. Here, the user program 27 is stored in the RAM 28.
The host computer 22 transmits a command to the monitor program 25, and the monitor program 25 receives the command and executes break, trace, and other processes. In response to a break command, the monitor program 25 stores the address of the breakpoint in a register, causes the CPU 24 to generate an address match exception, transfers control from the user program 27 to the monitor program 25, and performs break processing (hardware) break).
In a microcomputer without a hardware break function, the monitor program 25 writes a trap instruction that causes an exception at a breakpoint into the user program 27, causes the user program 27 to generate an exception, and transfers control to the monitor program 25. Then, break processing is performed, and after the processing is completed, the trap instruction is returned to the original instruction (software break).
The monitor program 25 uses the trace function of the microcomputer in response to the trace command, so that the CPU 24 shifts to the trace mode and the user program 27 is traced. For a microcomputer without a trace mode, a breakpoint is set at an address one instruction ahead by the method described in the software break, an exception is generated when the user program 27 executes one instruction, and this is repeated. As a result, the user program 27 is traced.

従来のリモートデバッグは、実行時に、デバッグ対象システム上のモニタープログラム又はホストコンピュータ上のデバッガが、ブレークポイントに例外を発生させるトラップ命令を、RAM上に展開されたユーザプログラムに書き込んでいる。従って、ROM上でユーザプログラムを動作させる組込みシステムには適用できない。ROMには書き込みができないためである。
この課題に対して、特許文献2では、ROM化前に、ソースコードの翻訳時にトラップ命令を埋め込み、ROMに格納し、そのままROM上で実行させるとしている。
In the conventional remote debugging, at the time of execution, the monitor program on the system to be debugged or the debugger on the host computer writes a trap instruction for causing an exception at a breakpoint to the user program developed on the RAM. Therefore, it cannot be applied to an embedded system that operates a user program on a ROM. This is because the ROM cannot be written.
In order to deal with this problem, in Patent Document 2, a trap instruction is embedded at the time of translation of the source code, stored in the ROM, and executed as it is on the ROM before the ROM.

RAMへの展開前に、トラップ命令等の埋め込み操作を行うことは、例えば、特許文献3にも記載されている。ここでは、ブレークポイントの適切な指定位置情報を容易に把握するため、デバッガの機能を使わずに、実行プログラムのソースコード又はソースコードに関連する情報を、実行プログラムの実行時に連動して表示し、実行プログラムの意味等の把握を容易にすることができる、ソースコード表示システム及びプログラムを提供している。   Performing an embedding operation such as a trap instruction before expansion into the RAM is also described in Patent Document 3, for example. Here, the source code of the execution program or the information related to the source code is displayed in conjunction with the execution program execution without using the debugger function in order to easily grasp the appropriate specified position information of the breakpoint. A source code display system and a program that can make it easy to grasp the meaning of an execution program are provided.

特開2001−222447号JP 2001-222447 A 特開2004−013880号JP 2004-013880 A 特開2004−139313号JP 2004-139313 A

特許文献2では、デバッガと組み合わせて実行させるので、表示・参照機能の制約は少ない。しかしデバッガを用いる点で、計算機資源を要し、動作環境上の制約が大きくなり、組み込み機器への適用が制限される。   In Patent Document 2, since it is executed in combination with a debugger, there are few restrictions on the display / reference function. However, the use of a debugger requires computer resources, increases operating environment restrictions, and limits application to embedded devices.

一方、特許文献3では、デバッガを必要しない点で広範に適用できるが、表示機能のみであり、パラメータの変更、変数値の更新ができない。また、特許文献3では、ステップ実行の実現を想定していないと判断できる。   On the other hand, Patent Document 3 can be widely applied in that it does not require a debugger, but it has only a display function and cannot change parameters or update variable values. Moreover, in patent document 3, it can be judged that the implementation | achievement of step execution is not assumed.

本発明は、専用のモニタープログラムやデバッガの追加を必要とせずに、ステップ実行機能を提供することを目的とする。   An object of the present invention is to provide a step execution function without requiring addition of a dedicated monitor program or debugger.

デバッグ対象の実行プログラムの実行状態で、当該実行プログラム内にブレーク要求が記述されているか否かを検出する機能、及び、ブレーク要求が記述されていたならば、実行中のプログラムの停止を実現するコードと読み替えて実行する演算処理部では、ブレーク要求コードの読み替えで標準入力待ちコード(標準入力待ち命令)に対応づけると、簡便でかつデバッガの設置を伴わずに、ブレーク機能を備えた制御方法を実現できる。このような制御方法において、さらに、当該実行プログラムの連続あるいは不連続に存在する2つ以上の処理の直前あるいは直後の地点に対して、ブレーク要求コードを挿入する機能を設ける。すると、小刻みにプログラムが一時停止する中断点を設けることと等価になり、デバッガの設置を伴わずにステップ実行機能を備えることが可能になる。なお、ブレーク要求コードの読み替え内容として標準入力待ちコードとして記載していくが、プログラムが一時停止する機能を実現するならば、これに限定するものではない。   A function to detect whether or not a break request is described in the execution program in the execution state of the execution program to be debugged, and to stop the program being executed if the break request is described In the arithmetic processing unit that is read as code, the break request code is read associating with the standard input wait code (standard input wait instruction), and it is easy and control method with break function without installing a debugger. Can be realized. In such a control method, a function for inserting a break request code at a point immediately before or immediately after two or more processes existing continuously or discontinuously in the execution program is provided. This is equivalent to providing an interruption point at which the program pauses in small steps, and it is possible to provide a step execution function without installing a debugger. In addition, although it describes as a standard input waiting code as the replacement content of a break request code, if a function which a program pauses is implement | achieved, it will not be limited to this.

この機能の実行により、ステップ実行においても標準入力待ち(一時停止)状態となり、ユーザからの入力を受付るので、かかる入力を識別するコマンド識別手段と、識別したコマンドを実行する手段、例えば、実行プログラムのソースコード、変数、その他実行プログラムの関連情報を取得する情報取得手段と、関連情報の一部または全部を表示する表示手段と、変数の格納している値を更新する更新手段とを備える。   By executing this function, even in step execution, the standard input is waited (temporarily stopped), and input from the user is accepted. Therefore, command identification means for identifying such input and means for executing the identified command, for example, execution Information acquisition means for acquiring program source code, variables, and other related information of the execution program, display means for displaying part or all of the related information, and update means for updating values stored in the variables .

ここで、ブレーク要求の存在は、ブレークメソッドの呼び出しコードの存在と同義としてもよい。その場合は、ブレークメソッドの定義部分に標準入力待ち関数の呼び出しを記述しておけば、ブレークメソッドの呼び出しに連動して、標準入力待ちが実行されることになる。結果として、デバッグ対象の実行プログラムの実行における、前記一時停止あるいはステップ実行と同等なステップが実現できる。   Here, the presence of the break request may be synonymous with the presence of the call code of the break method. In that case, if a call to the standard input wait function is described in the definition part of the break method, the standard input wait is executed in conjunction with the call to the break method. As a result, steps equivalent to the temporary stop or step execution can be realized in the execution of the execution target program to be debugged.

さらに、デバッグ対象の実行プログラムの実行状態で、当該実行プログラム内にステップ実行用ブレーク要求が記述されているか否かを検出する機能、およびステップ実行用ブレーク要求が挿入されていたならば、ステップ実行活性化フラグが活性化状態(オン)のときのみ標準入力待ちコードなど、実行中のプログラムの停止を可能にする(オフならば停止させない)コードに読み替えて実行する機能を設ける。
なお、標準入力とは、キーボードからの入力を行う標準ライブラリ関数であり、例えば、C言語の標準入力ライブラリの存在するscanf関数が該当する。
Further, in the execution state of the execution program to be debugged, a function for detecting whether or not a step execution break request is described in the execution program, and step execution if a step execution break request is inserted. Only when the activation flag is in the activated state (on), a function for executing the program by replacing it with a code that makes it possible to stop the program being executed, such as a standard input waiting code (if it is off, does not stop it) is provided.
The standard input is a standard library function for inputting from the keyboard, and corresponds to, for example, a scanf function in which a C standard input library exists.

従来のデバッガを必要とせずに、プログラムの実行を簡便に一時停止させ、ソースコード(全部又は一部)、用いられている変数値、その他ソースコードに関連する情報の表示、更新及びプログラムの再実行のみならずステップ実行が可能となる。   Without requiring a conventional debugger, program execution can be paused easily, and source code (all or part), variable values used, and other information related to source code can be displayed, updated, and program In addition to execution, step execution is possible.

本発明における、プログラム実行部は、実行プログラムの実行機能、その実行過程においてブレーク要求が出現した場合に標準入力待ちコードを実行する機能を有する。標準入力待ちコードは、標準入力制御部を呼び出す。
標準入力制御部は、プログラムの実行を一時停止する。また、プログラムの実行状態を表示する。さらに、ユーザへの入力待ち画面の表示を表示情報制御部に依頼する。
The program execution unit in the present invention has an execution function of an execution program and a function of executing a standard input waiting code when a break request appears in the execution process. The standard input waiting code calls the standard input control unit.
The standard input control unit temporarily stops execution of the program. It also displays the program execution status. Further, the display information control unit is requested to display a screen waiting for input to the user.

標準入力制御部は、入力待ち画面に対してユーザが入力する、標準入力制御用コマンドを読み込んで解釈する。つまり、ユーザが入力したコマンドを、標準入力制御用コマンドライブラリから呼び出す。必要な実行を行う。標準入力制御用コマンドライブラリから返ってきた処理結果を、表示情報制御部に転送する。このような表示情報生成処理依頼機能を備えている。   The standard input control unit reads and interprets standard input control commands input by the user on the input waiting screen. That is, the command input by the user is called from the standard input control command library. Perform the necessary execution. The processing result returned from the standard input control command library is transferred to the display information control unit. Such a display information generation processing request function is provided.

なお、実行中のプログラムの停止を可能にするコードの実施の形態として、標準入力待ちコードで例を示していくが、実行中のプログラムの停止を可能にするものであれば、これに限定するものではない。   As an example of the code that can stop the program being executed, an example of the standard input waiting code is shown. However, the code is limited to this as long as the program that is being executed can be stopped. It is not a thing.

そして、本発明における実施の形態として特徴的な構成要素として、ステップ実行を可能にするために、ブレーク要求コードが、プログラムの実行単位(行)の複数箇所に一括して埋め込まれることを特徴とする。ここでソースレベルデバッグを行う場合には、実行単位とはソースプログラムの一行に対応する処理内容を意味する。
また、これらブレーク要求コードには、第一のブレーク要求、第二のブレーク要求の2種類のコードを設ける。第一のブレーク要求は、ステップ実行の要否に関わらずブレークをさせるために存在し、第二のブレーク要求は、ステップ実行のために追加的に存在する。
As a characteristic component of the embodiment of the present invention, a break request code is embedded at a plurality of locations in a program execution unit (line) to enable step execution. To do. Here, when performing source level debugging, the execution unit means the processing content corresponding to one line of the source program.
These break request codes are provided with two types of codes, a first break request and a second break request. The first break request exists to cause a break regardless of whether or not step execution is necessary, and the second break request additionally exists for step execution.

このような実施の形態においては、これら2種類のブレーク要求で、ステップ実行のON(活性化)/OFF(非活性化)を実現することが特徴となる。これを選択的なステップ実行と呼ぶ。第一のブレーク要求は、ステップ実行の要否に関わらずブレークをさせる一方で、第二のブレーク要求では、ステップ実行の活性化状態ではブレークし、非活性化状態ではブレークしない動作を実現させるものとし、ステップ実行の活性化状態を示すものとしてステップ実行活性化フラグを設ける。
第一、第二のブレーク要求によるプログラム停止時に、ステップ実行の活性化状態は操作(反転)させることを可能にする。たとえば、標準入力待ち(一時停止)状態において、ユーザからの入力を受付けるので、ステップ実行をする意向を示すと識別されるコマンドが入力されたら、ステップ実行活性化フラグをオン(活性化)に設定する。一方で、ステップ実行をさせない意向、すなわち、第一のブレーク要求個所まで実行を停止させないユーザ意向を示すコマンドが入力されたら、ステップ実行活性化フラグをオフ(非活性化)に設定する。これによって、選択的なステップ実行が可能になる。
第一のブレーク要求コードは、ステップ実行の要否に関わらずブレークするので、ブレークポイント設定箇所にこの第一のブレーク要求コードを挿入しておけば、ステップ実行活性化フラグがオフ(非活性化)に設定されてステップ実行が無効になっていても、ブレーク設定は機能し続ける。
Such an embodiment is characterized in that step execution ON (activation) / OFF (deactivation) is realized by these two types of break requests. This is called selective step execution. The first break request causes a break regardless of the necessity of step execution, while the second break request realizes an operation that breaks in the activated state of step execution and does not break in the inactivated state. And a step execution activation flag is provided as an indication of the step execution activation state.
When the program is stopped by the first and second break requests, the step execution activation state can be manipulated (reversed). For example, in the standard input waiting (pause) state, input from the user is accepted, so if a command identified as indicating the intention to execute step is input, the step execution activation flag is set to ON (activated) To do. On the other hand, when a command indicating an intention not to perform step execution, that is, a user intention not to stop execution up to the first break request point is input, the step execution activation flag is set to OFF (inactivation). This allows selective step execution.
The first break request code breaks regardless of whether or not step execution is necessary. If this first break request code is inserted at the breakpoint setting location, the step execution activation flag is turned off (deactivated) The break setting continues to work even if step execution is disabled.

図1は、本発明を適用した、デバッグ支援を行う情報処理装置のシステム構成図である。
デバッグ対象である実行プログラムのファイル101は、必要に応じ実行プログラム用データベース110を使用して、プログラム実行部107により実行される。実行プログラムを作成するために使用したソースコードのファイル102、表示情報リソースファイル103、変数値格納用テーブル105は、演算処理部106から、適宜、参照される。
表示情報リソースファイル103は、ソースコードの説明文その他ソースコードに関連する表示情報を記述したファイルである。変数値格納用テーブル105は、ファイル102中のソースコードで使用されている変数の値を、時系列に格納する。
FIG. 1 is a system configuration diagram of an information processing apparatus that performs debugging support, to which the present invention is applied.
The execution program file 101 to be debugged is executed by the program execution unit 107 using the execution program database 110 as necessary. The source code file 102, the display information resource file 103, and the variable value storage table 105 used to create the execution program are appropriately referred to by the arithmetic processing unit 106.
The display information resource file 103 is a file describing description information of source code and other display information related to the source code. The variable value storage table 105 stores the values of variables used in the source code in the file 102 in time series.

本システムの演算処理部106は、プログラム実行部107、ブレーク実行部1072、標準入力制御部111、及び、表示情報制御部108を有している。
ブレーク実行部1072は、標準入力待ち命令を実行する機能を担うものであり、ブレーク実行部1072によってブレーク要求コードを標準入力待ち命令と読み替えてブレーク処理を実現する。同部1072は、プログラム実行部107が実行過程においてブレーク要求コードを検出した際に起動し、ブレーク要求コードを標準入力待ち命令と読み替えて、プログラム実行部107に処理を渡す。
The arithmetic processing unit 106 of this system includes a program execution unit 107, a break execution unit 1072, a standard input control unit 111, and a display information control unit 108.
The break execution unit 1072 has a function of executing a standard input wait instruction, and the break execution unit 1072 replaces the break request code with a standard input wait instruction to realize break processing. The unit 1072 is activated when the program execution unit 107 detects a break request code in the execution process, reads the break request code as a standard input wait instruction, and passes the processing to the program execution unit 107.

ブレーク実行部1072によって読み替えられた標準入力待ち命令は、標準入力制御部111を呼び出す。同部111は、プログラムの実行を一時停止し、実行プログラムの状態を表示し、ユーザのための入力待ち画面の表示を表示情報制御部108へ指示する。   The standard input wait instruction read by the break execution unit 1072 calls the standard input control unit 111. The unit 111 suspends execution of the program, displays the state of the execution program, and instructs the display information control unit 108 to display an input waiting screen for the user.

さらにブレークの実行に関連して、図には存在しないが、ステップ実行活性化フラグを備える。これはステップ実行の指針として参照・更新される。
標準入力制御部111は、入力待ち画面に対して、ユーザが入力した標準入力制御用コマンドを解釈する。つまり、標準入力制御用コマンドライブラリ104から、そのコマンドを呼び出す。また、ライブラリ104から返ってきた処理結果を表示情報制御部108に転送する。なお、標準入力制御用コマンドライブラリ104は、実行プログラムに埋め込まれた、本発明のコマンドライブラリである。
Further, in relation to execution of a break, a step execution activation flag is provided, although it does not exist in the figure. This is referenced and updated as a guideline for step execution.
The standard input control unit 111 interprets the standard input control command input by the user on the input waiting screen. That is, the command is called from the standard input control command library 104. In addition, the processing result returned from the library 104 is transferred to the display information control unit 108. The standard input control command library 104 is a command library of the present invention embedded in an execution program.

表示情報制御部108は、プログラム実行部107からの処理命令に基づき、ファイル102のソースコード、表示情報リソースファイル103のメッセージリソース、変数値格納用テーブル105にある変数情報から、表示すべき情報を生成し、ディスプレイ装置109に指示する。また、ファイル101の実行プログラムの実行状態の表示をディスプレイ装置109に指示する。   Based on the processing instruction from the program execution unit 107, the display information control unit 108 displays information to be displayed from the source code of the file 102, the message resource of the display information resource file 103, and the variable information in the variable value storage table 105. Generate and instruct the display device 109. Further, the display device 109 is instructed to display the execution state of the execution program of the file 101.

図2(a)に、変数値格納用テーブル105に保存されるデータ構造の一例を示す。
変数名202とは、実行プログラムのソースコード内で使用されている変数の名前であり、具体的には、index,amount,dayなどが該当する。同図には、AAA、BBB、CCCと記載されている。変数203は、その値が格納されるエリアを示す。
図2(b)に、図1に図示しない、ブレーク要求指示ファイルの一例を示す。これは、実行プログラム上でブレーク要求の挿入位置が記述された定義ファイルである。
FIG. 2A shows an example of a data structure stored in the variable value storage table 105.
The variable name 202 is a name of a variable used in the source code of the execution program, and specifically corresponds to index, amount, day, and the like. In the figure, AAA, BBB, and CCC are described. A variable 203 indicates an area in which the value is stored.
FIG. 2B shows an example of a break request instruction file not shown in FIG. This is a definition file in which the break request insertion position is described in the execution program.

ブレーク要求コードの挿入は、この指示ファイルを参照して為される。具体的には(1)コンパイラが、ブレーク要求コードを挿入したソースプログラムと、等価な実行プログラムを生成する。(2)変換ツールが、実行プログラムを解析して、その実行プログラムに埋め込む。又は(3)インタプリタその他実行時に逐次解釈処理を行うプログラム実行部が、その解釈時にブレーク要求コードを挿入する。
挿入箇所については、ブレーク位置情報記述データを別途、用意して、これを挿入操作主体(コンパイラ、変換ツール、又は、プログラム実行部)に参照させる。
図2(b)の項番1と2では、複数のブレーク要求コードを1の挿入位置ファイルにまとめて記載し、一括で指定している。これとは異なり、一箇所ずつ、対話的に指定してもよい。対話的に指定する場合には、GUI操作で、ソースプログラムを画面表示しても良い。
The break request code is inserted with reference to this instruction file. Specifically, (1) the compiler generates an execution program equivalent to the source program in which the break request code is inserted. (2) The conversion tool analyzes the execution program and embeds it in the execution program. Or (3) An interpreter or other program execution unit that performs sequential interpretation processing at the time of execution inserts a break request code at the time of interpretation.
For the insertion location, break position information description data is separately prepared and referred to by the subject of the insertion operation (compiler, conversion tool, or program execution unit).
In item numbers 1 and 2 of FIG. 2B, a plurality of break request codes are collectively described in one insertion position file and designated collectively. Unlike this, it may be specified interactively one by one. When specifying interactively, the source program may be displayed on the screen by a GUI operation.

図3に、ディスプレイ装置109の表示画面の一例を示す。
この画面は、ブレーク要求の結果、表示される停止した状態を示している。ユーザからの対話的な入力操作を待つ、入力待ち画面である。この対話的な操作画面において、ユーザは、デバッグ対象のプログラムについて、所定のコマンドを入力することにより、所定の情報の取得又は更新を行える。上記コマンド入力は、図示しないキーボードによって入力される。
入力操作を待つ画面上で、ユーザが入力できる標準入力制御用コマンドには、次のような種類が有る。
FIG. 3 shows an example of the display screen of the display device 109.
This screen shows the stopped state displayed as a result of the break request. It is an input waiting screen waiting for an interactive input operation from the user. In this interactive operation screen, the user can acquire or update predetermined information by inputting a predetermined command for the program to be debugged. The command input is input by a keyboard (not shown).
There are the following types of standard input control commands that can be input by the user on the screen waiting for an input operation.

コマンド名 意味
p 変数値の表示
s 変数値の更新
c 処理の再開(ステップ実行を行わない)
l ソースコードの表示
ST ステップ実行を行う
図3の301は、実行中のプログラムのソースコードのファイル名と行番号であり、ブレーク位置を示している。302は、ユーザからの対話的な入力操作を促す表示であり、次のコマンドを受付可能であることを示している。これらが、標準入力制御用コマンドに相当し、標準入力制御用コマンドライブラリ104(図1)により実現される。
Command name Meaning p Display variable value s Update variable value c Restart processing (does not execute step)
l Display source code
ST Step Execution 301 in FIG. 3 is the file name and line number of the source code of the program being executed, and indicates the break position. Reference numeral 302 denotes a display that prompts an interactive input operation from the user, and indicates that the next command can be received. These correspond to standard input control commands and are realized by the standard input control command library 104 (FIG. 1).

図4は、本発明に特徴的なステップ実行を可能にするためのブレーク処理の概要を示すフローチャートである。
プログラム実行部107(図1)は、デバッグの対象となるプログラム(実行プログラムファイル101に有る実行プログラム)の実行を開始する(ステップ401)。
次に、実行プログラム中にブレーク要求コードとステップ実行用ブレーク要求コードが記述されている限り、以下に示すステップ403からステップ407までの処理を繰り返し実行する(ステップ402)。
FIG. 4 is a flowchart showing an outline of break processing for enabling step execution characteristic of the present invention.
The program execution unit 107 (FIG. 1) starts executing a program to be debugged (an execution program in the execution program file 101) (step 401).
Next, as long as the break request code and the step execution break request code are described in the execution program, the following processing from step 403 to step 407 is repeatedly executed (step 402).

ステップ403において、次のブレーク要求コード(あるいはステップ実行用ブレーク要求コード)までプログラムの処理を実行する。プログラム実行部107は、ブレーク要求コードの種別に応じて解釈と実行を行う(ステップ4031)。ステップ4031において、第一のブレーク要求コード(図中ではタイプ1のブレーク要求と表記)である場合には、プログラム実行部107は、標準入力待ちコマンドを実行し、標準入力待ちコードの処理において、標準入力制御部111を呼び出す(ステップ404)。   In step 403, the program processing is executed up to the next break request code (or step execution break request code). The program execution unit 107 interprets and executes according to the type of the break request code (step 4031). In step 4031, if it is the first break request code (denoted as type 1 break request in the figure), the program execution unit 107 executes the standard input wait command, and in the processing of the standard input wait code, The standard input control unit 111 is called (step 404).

ステップ405において、標準入力制御部111は、プログラムの実行を停止する。ついで、ユーザへの入力待ち画面の表示を、表示情報制御部108に指示する。
表示情報制御部108は、転送された情報に基づいて入力待ち画面の表示情報を生成し(ステップ406)、その表示情報をディスプレイ装置109に表示する(ステップ407)。
標準入力制御部111は、入力待ち画面に対してユーザが入力する標準入力制御用コマンドを読んで解釈する。ここで次のステップ位置へ処理を進める操作、例えば、図3における処理再開のコマンド“c”の入力が為されると、ステップ実行活性化フラグがオフ(活性化)に設定されて、次の処理へ進む。コマンド”ST”の入力が為されると、ステップ実行活性化フラグがオン(活性化)に設定されて、次の処理へ進む。
In step 405, the standard input control unit 111 stops the execution of the program. Next, the display information control unit 108 is instructed to display a screen waiting for input to the user.
The display information control unit 108 generates display information for the input waiting screen based on the transferred information (step 406), and displays the display information on the display device 109 (step 407).
The standard input control unit 111 reads and interprets a standard input control command input by the user on the input waiting screen. Here, when an operation for advancing the process to the next step position, for example, the input of the process resumption command “c” in FIG. 3 is performed, the step execution activation flag is set to OFF (activation), and the next Proceed to processing. When the command “ST” is input, the step execution activation flag is set to ON (activation), and the process proceeds to the next process.

一方、ステップ4031において、第二のブレーク要求コード(図中ではタイプ2のブレーク要求と表記)である場合には、プログラム実行部107は図には存在しないステップ実行活性化フラグを参照する。活性化状態の場合には(ステップ4032)、一時停止をし、第一のブレーク要求コードと同等の処理になる(ステップ404に移行する)。非活性化の場合には、ステップ405〜407をスキップし、次の処理へ進む。   On the other hand, if it is the second break request code (denoted as a type 2 break request in the figure) at step 4031, the program execution unit 107 refers to a step execution activation flag that does not exist in the figure. If it is in the activated state (step 4032), it is temporarily stopped and the process is the same as the first break request code (the process proceeds to step 404). In the case of deactivation, steps 405 to 407 are skipped and the process proceeds to the next process.

かかる一連の操作は、対象プログラムが終了するまで実行される(ステップ408)。   Such a series of operations is executed until the target program ends (step 408).

図4のステップ406において、ユーザが、ステップ実行コマンド" ST"を入力するとプログラムの実行を再開する(停止から復帰する)。プログラム実行部107は、ステップ実行活性化フラグを活性化(オン)に設定する。そしてプログラム実行部107は停止していたプログラムの実行を再開して、図4のステップ402からの繰り返し処理に戻る。すると、すぐに次の第二のブレーク要求コード(図中ではタイプ2のブレーク要求と表記)に至るので、図4のステップ4031からステップ4032、そしてステップ404という経路を辿り、再び、実行プログラムが一時停止する。この繰返しによりステップ実行が実現されることになる。   In step 406 of FIG. 4, when the user inputs the step execution command “ST”, the execution of the program is resumed (return from the stop). The program execution unit 107 sets the step execution activation flag to activation (on). Then, the program execution unit 107 resumes the execution of the stopped program and returns to the iterative process from step 402 in FIG. This immediately leads to the next second break request code (denoted as a type 2 break request in the figure), so the path from step 4031 to step 4032 and step 404 in FIG. Pause. By repeating this, step execution is realized.

図5は、図4のステップ406において、プログラムが停止した後、停止地点周辺のソースコードを表示する処理のフローチャートである。これは、入力待ち画面に対して、ユーザが、ソース表示コマンド" l"を入力すると生じる。
プログラム実行部107は、実行中のプログラムのプログラム名及び実行中の行番号を、表示情報制御部108に転送する。表示情報制御部108は、ソースコードファイル102から、プログラム名に合致する実行中のファイルを取得する(ステップ501)。
表示情報制御部108は、ステップ501にて取得したファイルのソースコードから、プログラム実行部107から指示された行番号の前後数行、例えば、10行のソースコードを文字列として取得する(ステップ502)。次に同部108は、ソースコードのファイル名(図3、301)を、ディスプレイ装置109に表示する(ステップ503)。そして同部108は、ソースコードの一部又は全部を表示する(ステップ504)。図6に、図5のフローの結果、生成されるソース表示画面の一例を示す。
FIG. 5 is a flowchart of the process of displaying the source code around the stop point after the program is stopped in step 406 of FIG. This occurs when the user inputs the source display command “l” on the input waiting screen.
The program execution unit 107 transfers the program name of the program being executed and the line number being executed to the display information control unit 108. The display information control unit 108 acquires a file being executed that matches the program name from the source code file 102 (step 501).
The display information control unit 108 acquires several lines before and after the line number instructed by the program execution unit 107, for example, 10 lines of source code as a character string from the source code of the file acquired in step 501 (step 502). ). Next, the same unit 108 displays the source code file name (FIG. 3, 301) on the display device 109 (step 503). The part 108 displays part or all of the source code (step 504). FIG. 6 shows an example of a source display screen generated as a result of the flow of FIG.

図7は、図4のステップ406において、プログラムが停止した後、変数表示コマンド“p”を入力して、所定のエリアに指定された変数の値を表示する処理のフローチャートである。この実施例では、ブレーク要求コード毎に、監視すべき変数名を予め指定してあるものとするが、変数指定コマンドを別に設けて、停止時に入力待ち画面に対して指定してもよい。
プログラム実行部107は、実行中のプログラム中のブレーク要求コードに指定している、監視対象の変数名を抽出する(ステップ701)。もし、監視対象の変数名が指定されていなければ、ステップ702以降は実行せずに終了する。
プログラム実行部107は、変数値格納用テーブル105から監視対象の変数名の値を取得する(ステップ702)。そして同部107は、変数名とその値を表示する表示情報を作成するよう、表示情報制御部108に指示する。同部108は、指示された情報に基づき、変数名と変数値を表示するための表示情報を生成して、生成された表示情報をディスプレイ装置109に表示する(ステップ703)。
プログラム実行部107は、次の入力を受け付ける標準入力待ち状態にし(ステップ704)、一連の処理を終了する。図8に、図7のフローの結果、生成される変数値の表示画面の一例を示す。
FIG. 7 is a flowchart of processing for displaying the value of a variable designated in a predetermined area by inputting a variable display command “p” after the program is stopped in step 406 of FIG. In this embodiment, the variable name to be monitored is designated in advance for each break request code. However, a variable designation command may be provided separately and designated on the input waiting screen at the time of stop.
The program execution unit 107 extracts the monitoring target variable name specified in the break request code in the program being executed (step 701). If the variable name to be monitored is not designated, step 702 and subsequent steps are terminated without executing.
The program execution unit 107 acquires the value of the variable name to be monitored from the variable value storage table 105 (step 702). Then, the same unit 107 instructs the display information control unit 108 to create display information for displaying the variable name and its value. The same unit 108 generates display information for displaying variable names and variable values based on the instructed information, and displays the generated display information on the display device 109 (step 703).
The program execution unit 107 waits for a standard input to accept the next input (step 704), and ends the series of processes. FIG. 8 shows an example of a display screen of variable values generated as a result of the flow of FIG.

図9は、図4のステップ406において、プログラムが停止した後、変数値更新コマンドを入力して、指定された変数の値を更新する処理のフローチャートである。
プログラム実行部107は、実行中のプログラム中のブレーク要求コードに指定している、監視対象の変数名を抽出する(ステップ901)。もし、監視対象の変数名が指定されていなければ、ステップ902以降は実行せずに終了する。
プログラム実行部107は、変数値格納用テーブル105から監視対象の変数名の値を取得する(ステップ902)。
プログラム実行部107は、変数名とその値を表示する表示情報を作成するよう、表示情報制御部108に指示する。同部108は、指示された情報に基づき、変数名と変数値を表示するための表示情報を生成して、生成された表示情報をディスプレイ装置109に表示する。またプログラム実行部107は、更新する変数名と変数値を指定させる入力待ち画面を、表示情報制御部108に作成するように指示する。同部108は、指示された情報に基づいて、変数名と変数の値を表示するための表示情報を生成して、ディスプレイ装置109に表示する(ステップ903)。
FIG. 9 is a flowchart of processing for updating the value of a designated variable by inputting a variable value update command after the program is stopped in step 406 of FIG.
The program execution unit 107 extracts the monitoring target variable name specified in the break request code in the program being executed (step 901). If the variable name to be monitored is not specified, step 902 and subsequent steps are terminated without executing.
The program execution unit 107 acquires the value of the variable name to be monitored from the variable value storage table 105 (step 902).
The program execution unit 107 instructs the display information control unit 108 to create display information that displays variable names and their values. The same unit 108 generates display information for displaying variable names and variable values based on the instructed information, and displays the generated display information on the display device 109. The program execution unit 107 instructs the display information control unit 108 to create an input waiting screen for designating the variable name and variable value to be updated. The same unit 108 generates display information for displaying the variable name and the value of the variable based on the instructed information, and displays it on the display device 109 (step 903).

プログラム実行部107は、標準入力制御部111を呼び出す。同部111は、標準入力待ち画面を表示し、変数値の更新待ち状態となって、画面表示を停止する(ステップ904)。標準入力制御部111は、入力待ち画面に対してユーザからの入力があった場合には(ステップ905、Yes)、その入力に係る変数の更新値を受け取り、プログラム実行部107へ渡す。ユーザからの入力がなかった場合には(ステップ905、No)、入力待ち状態を維持する。   The program execution unit 107 calls the standard input control unit 111. The unit 111 displays a standard input waiting screen, enters a variable value update waiting state, and stops the screen display (step 904). If there is an input from the user on the input waiting screen (step 905, Yes), the standard input control unit 111 receives the updated value of the variable related to the input and passes it to the program execution unit 107. When there is no input from the user (step 905, No), the input waiting state is maintained.

プログラム実行部107は、該当する変数名に対応する格納箇所に、この更新値を格納して更新する(ステップ906)。同部107は、次の入力を受け付ける標準入力待ち状態にし(ステップ907)、一連の処理を終了する。図10に、図9のフローの結果、生成される変数値の更新操作画面の一例を示す。   The program execution unit 107 stores and updates the updated value in the storage location corresponding to the corresponding variable name (step 906). The unit 107 waits for a standard input to accept the next input (step 907), and ends a series of processing. FIG. 10 shows an example of a variable value update operation screen generated as a result of the flow of FIG.

なお、本発明を、図11のようなホストPCからデバッグターゲットを通信経由(インターフェース)でデバッグするリモートデバッグの形態で実施する場合は、表示情報制御部108(図1)によって生成された各種の表示情報を、ホストPC側に通信経由で伝送して、ホストPC側に接続されているディスプレイ装置(109、図1)に表示する形態であっても良い。同様に、入力待ち画面に対する入力も、ホストPC側に接続されているキーボードからの入力が、通信経由で実行プログラム101に伝送される形態によって実現されるようにしても良い。   When the present invention is implemented in the form of remote debugging in which the debug target is debugged from the host PC via communication (interface) as shown in FIG. 11, various types of information generated by the display information control unit 108 (FIG. 1) are used. The display information may be transmitted to the host PC via communication and displayed on the display device (109, FIG. 1) connected to the host PC. Similarly, input to the input waiting screen may be realized by a form in which input from a keyboard connected to the host PC is transmitted to the execution program 101 via communication.

また、本発明において、プログラム実行部107はインタプリタ処理系で実現されてもよく、これに付随して、実行プログラム101は、ソースプログラムから変換されてインタプリタ処理系で解釈実行される中間語プログラムの形態であってもよい。   In the present invention, the program execution unit 107 may be realized by an interpreter processing system, and accompanying this, the execution program 101 is an intermediate language program converted from a source program and interpreted and executed by the interpreter processing system. Form may be sufficient.

コンピュータ資源が十分でない環境下でも、ソフトウェア開発の効率向上及び精度向上を達成できる。   Even in an environment where computer resources are insufficient, it is possible to improve the efficiency and accuracy of software development.

本発明を適用した、デバッグ支援を行う情報処理装置のシステム構成図である。1 is a system configuration diagram of an information processing apparatus that performs debugging support, to which the present invention is applied. FIG. 変数値格納用テーブル105に保存されるデータ構造の一例と、ブレーク要求指示ファイルの一例を示す図である。It is a figure which shows an example of the data structure preserve | saved at the variable value storage table 105, and an example of a break request instruction | indication file. ディスプレイ装置109の表示画面における、入力待ち画面の一例を示す図である。6 is a diagram showing an example of an input waiting screen on the display screen of the display device 109. FIG. ステップ実行を可能にするブレーク処理の概要を示すフローチャートである。It is a flowchart which shows the outline | summary of the break process which enables step execution. 図4のステップ406において、プログラムが停止した後、停止地点周辺のソースコードを表示する処理のフローチャートである。FIG. 5 is a flowchart of processing for displaying source code around a stop point after the program is stopped in step 406 of FIG. 4. 図5のフローの結果、生成されるソース表示画面の一例を示す図である。It is a figure which shows an example of the source display screen produced | generated as a result of the flow of FIG. 変数表示コマンド“p”を入力して、所定のエリアに指定された変数の値を表示する処理のフローチャートである。It is a flowchart of the process which inputs the variable display command "p" and displays the value of the variable designated to the predetermined area. 図7のフローの結果、生成される変数値の表示画面の一例を示す図である。It is a figure which shows an example of the display screen of the variable value produced | generated as a result of the flow of FIG. 変数値更新コマンドを入力して、指定された変数の値を更新する処理のフローチャートである。It is a flowchart of the process which inputs the variable value update command and updates the value of the designated variable. 図9のフローの結果、生成される変数値の更新操作画面の一例を示す図である。It is a figure which shows an example of the update operation screen of the variable value produced | generated as a result of the flow of FIG. 従来のデバッグ方法を行うシステム構成の概念図である。It is a conceptual diagram of the system configuration which performs the conventional debugging method.

符号の説明Explanation of symbols

101…実行プログラム、
102…ソースコードファイル、
103…表示情報リソースファイル、
104…標準入力制御用コマンドライブラリ、
105…変数値格納用テーブル、
106…演算制御部、
107…プログラム実行部、 1072…ブレーク実行部、
108…表示情報制御部、
109…ディスプレイ装置、
111…標準入力制御部。
101 ... execution program,
102 ... Source code file,
103 ... display information resource file,
104: Command library for standard input control,
105 ... Variable value storage table,
106: Calculation control unit,
107: Program execution unit, 1072: Break execution unit,
108: Display information control unit,
109 ... Display device,
111: Standard input control unit.

Claims (4)

デバッグ対象の実行プログラム、当該実行プログラムのソースコードファイルを参照可能に接続され、デバッグ対象の実行プログラムの実行状態で、当該実行プログラム内にブレーク要求が記述されているか否かを検出する機能、及び、ブレーク要求が記述されていたならば、実行中のプログラムを停止させるコードと読み替えて実行する機能、を備えた演算処理部の制御方法であって、当該実行プログラムの起動が未然の段階で、当該実行プログラムの連続あるいは不連続に存在する2つ以上の処理の直前あるいは直後の地点に対して、ブレーク要求コードを挿入する機能を有し、その挿入された状態の当該実行プログラムを実行することで、ステップ実行を実現することを特徴とする演算処理部の制御方法。   A function to detect whether or not a break request is described in the execution program in the execution state of the execution program to be debugged, the source code file of the execution program that can be referenced, and the execution state of the execution program to be debugged; and If the break request has been described, the control method of the arithmetic processing unit having a function to read and execute the code for stopping the program being executed, and the execution program is not yet started, Have a function to insert a break request code at a point immediately before or after two or more processes existing continuously or discontinuously in the execution program, and execute the execution program in the inserted state A method for controlling an arithmetic processing unit, characterized in that step execution is realized. 請求項1記載の演算処理部の制御方法において、ステップ実行活性化フラグを当該演算処理部に参照させるコードの挿入機能を有し、当該演算処理部は、前記挿入したコードが実行された際にステップ実行活性化フラグが活性化状態であれば、請求項1記載のブレーク要求コードを実行して前記実行プログラムの一時停止を実現する一方で、ステップ実行活性化フラグが非活性化状態であれば請求項1記載のブレーク要求コードを実行せずに前記実行プログラムの一時停止を回避することによって、ステップ実行を選択的に実現することを特徴とする演算処理部の制御方法。   2. The method of controlling an arithmetic processing unit according to claim 1, wherein the arithmetic processing unit has a function of inserting a code that makes the arithmetic processing unit refer to the step execution activation flag, and the arithmetic processing unit is configured to execute the inserted code when the inserted code is executed. If the step execution activation flag is in an activated state, the break request code according to claim 1 is executed to realize temporary suspension of the execution program, while the step execution activation flag is in an inactivated state. A control method for an arithmetic processing unit, wherein step execution is selectively realized by avoiding temporary suspension of the execution program without executing the break request code according to claim 1. 請求項1ないしは請求項2記載の演算処理部の制御方法において、ステップ実行によって一時停止した状態で、標準入力からの入力を識別し、当該入力に応じて、所定の変数値を表示し、又は、更新する演算処理部の制御方法。   The control method of the arithmetic processing unit according to claim 1 or 2, wherein the input from the standard input is identified in a state of being paused by step execution, and a predetermined variable value is displayed according to the input, or The control method of the arithmetic processing unit to be updated. 請求項1ないしは請求項2記載の演算処理部の制御方法において、
ステップ実行によって一時停止した状態で、標準入力からの入力を識別し、当該入力に応じて、所定のソースコードの一部を表示する演算処理部の制御方法。
In the control method of the arithmetic processing unit according to claim 1 or 2,
A control method for an arithmetic processing unit that identifies an input from a standard input and displays a part of a predetermined source code according to the input in a state of being paused by step execution.
JP2005184381A 2005-06-24 2005-06-24 Program debugging method of built-in system Pending JP2007004516A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2005184381A JP2007004516A (en) 2005-06-24 2005-06-24 Program debugging method of built-in system

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2005184381A JP2007004516A (en) 2005-06-24 2005-06-24 Program debugging method of built-in system

Publications (1)

Publication Number Publication Date
JP2007004516A true JP2007004516A (en) 2007-01-11

Family

ID=37690082

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2005184381A Pending JP2007004516A (en) 2005-06-24 2005-06-24 Program debugging method of built-in system

Country Status (1)

Country Link
JP (1) JP2007004516A (en)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2008217751A (en) * 2007-02-09 2008-09-18 Ntt Docomo Inc Device and method for detecting code
JP2009163524A (en) * 2008-01-08 2009-07-23 Casio Comput Co Ltd Arithmetic processing unit
JP2012133751A (en) * 2010-12-23 2012-07-12 Korea Electronics Telecommun Method and device for monitoring data variable of software component

Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH02146630A (en) * 1988-11-29 1990-06-05 Fujitsu Ltd Program developing system for microprocessor
JPH03294934A (en) * 1990-04-13 1991-12-26 Nippon Telegr & Teleph Corp <Ntt> Debugger for high level program lenguage
JPH0454636A (en) * 1990-06-25 1992-02-21 Hitachi Ltd Processor
JPH0581069A (en) * 1991-09-20 1993-04-02 Hitachi Ltd Debugging method for program
JPH07200350A (en) * 1993-12-29 1995-08-04 Nec Corp Software debugger
JPH09288595A (en) * 1996-04-19 1997-11-04 Matsushita Electric Ind Co Ltd Arithmetic processing unit
JP2000181748A (en) * 1998-12-11 2000-06-30 Hitachi Ltd Debug system for multi-memory space program and its debug method
JP2004139313A (en) * 2002-10-17 2004-05-13 Hitachi Software Eng Co Ltd Source code display system and program

Patent Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH02146630A (en) * 1988-11-29 1990-06-05 Fujitsu Ltd Program developing system for microprocessor
JPH03294934A (en) * 1990-04-13 1991-12-26 Nippon Telegr & Teleph Corp <Ntt> Debugger for high level program lenguage
JPH0454636A (en) * 1990-06-25 1992-02-21 Hitachi Ltd Processor
JPH0581069A (en) * 1991-09-20 1993-04-02 Hitachi Ltd Debugging method for program
JPH07200350A (en) * 1993-12-29 1995-08-04 Nec Corp Software debugger
JPH09288595A (en) * 1996-04-19 1997-11-04 Matsushita Electric Ind Co Ltd Arithmetic processing unit
JP2000181748A (en) * 1998-12-11 2000-06-30 Hitachi Ltd Debug system for multi-memory space program and its debug method
JP2004139313A (en) * 2002-10-17 2004-05-13 Hitachi Software Eng Co Ltd Source code display system and program

Non-Patent Citations (3)

* Cited by examiner, † Cited by third party
Title
CSNB200000201001; Richard M.Stallman, Roland H.Pesch: GDBデバッギング入門 第1版, 19990211, pp.18〜21, 株式会社アスキー *
JPN6011001361; Richard M.Stallman, Roland H.Pesch: GDBデバッギング入門 第1版, 19990211, pp.18〜21, 株式会社アスキー *
JPN6012062694; Richard M.Stallman, Roland H.Pesch: GDBデバッギング入門 初版, 19990211, 表紙、pp.18〜21,37,57〜59、奥付, 株式会社アスキー

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2008217751A (en) * 2007-02-09 2008-09-18 Ntt Docomo Inc Device and method for detecting code
JP2009163524A (en) * 2008-01-08 2009-07-23 Casio Comput Co Ltd Arithmetic processing unit
JP2012133751A (en) * 2010-12-23 2012-07-12 Korea Electronics Telecommun Method and device for monitoring data variable of software component

Similar Documents

Publication Publication Date Title
JP4901075B2 (en) Computer-readable medium, method and computing device
US8136097B2 (en) Thread debugging device, thread debugging method and information storage medium
US7761855B2 (en) Computer program product and system for altering execution flow of a computer program
CN109726135B (en) Multi-core debugging method and device and computer readable storage medium
JP2004164554A (en) Device and method for executing and monitoring program
JP2003323318A (en) Device and method for software breakpoints implementation via specially maned function
US20080127118A1 (en) Method and system for dynamic patching of software
US20160062875A1 (en) Method for altering execution of a program, debugger, and computer-readable medium
JP2007004516A (en) Program debugging method of built-in system
EP3891613B1 (en) Software checkpoint-restoration between distinctly compiled executables
CN109144849B (en) Embedded software debugging method
JP5212508B2 (en) Debug device
JP2006350676A (en) Program debugging method of built-in system
JPH11110256A (en) Device and method for debugging program, and computer readable recording medium recorded with the method for the same
JP2010287101A (en) Software debugging device and method
JP2004287869A (en) Program execution monitoring device and method
JP2802128B2 (en) Program development equipment
JP2803090B2 (en) MPU simulation method and MPU simulator
JP2672968B2 (en) Source list output processing method for debugging
JP2007193586A (en) Program test assist system, method and program
JP3372387B2 (en) Program inspection method
JPS5930145A (en) Reexecution processing system by dynamic program correction
JP2004139313A (en) Source code display system and program
JP2022174856A (en) Program development device and program development system
JPS61180342A (en) Step execution system for high level language

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20080417

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20100401

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20110118

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20110316

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20110712

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20111012

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20111013

A911 Transfer of reconsideration by examiner before appeal (zenchi)

Free format text: JAPANESE INTERMEDIATE CODE: A911

Effective date: 20111018

A912 Removal of reconsideration by examiner before appeal (zenchi)

Free format text: JAPANESE INTERMEDIATE CODE: A912

Effective date: 20111125

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20130131