JP2010079341A - Debugging device - Google Patents
Debugging device Download PDFInfo
- Publication number
- JP2010079341A JP2010079341A JP2008243590A JP2008243590A JP2010079341A JP 2010079341 A JP2010079341 A JP 2010079341A JP 2008243590 A JP2008243590 A JP 2008243590A JP 2008243590 A JP2008243590 A JP 2008243590A JP 2010079341 A JP2010079341 A JP 2010079341A
- Authority
- JP
- Japan
- Prior art keywords
- debug
- test program
- test
- control module
- debugging
- 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
Links
Images
Landscapes
- Debugging And Monitoring (AREA)
- Test And Diagnosis Of Digital Computers (AREA)
Abstract
Description
本発明は、半導体デバイスの試験を行う半導体試験装置で用いられる試験プログラムのデバッグを行うデバッグ装置に関する。 The present invention relates to a debugging apparatus for debugging a test program used in a semiconductor testing apparatus for testing a semiconductor device.
周知の通り、半導体試験装置は、ユーザによって作成された試験プログラムに従って、被試験対象である半導体デバイス(以下、DUT(Device Under Test)という)の試験を行う。デバッグ装置は、ユーザによって作成された試験プログラムが、半導体試験装置によって正常に解釈・実行されるように作成(記述)されているか否かを予め確認し、誤りがあればその誤りを修正するために用いられる。近年においては、C言語又はC++言語等の汎用プログラミング言語の文法に則して試験プログラムが記述される傾向にあり、試験プログラム用のデバッグ装置も汎用プログラミング言語のデバッグに用いられるような汎用的なものが用いられている。 As is well known, a semiconductor test apparatus tests a semiconductor device to be tested (hereinafter referred to as DUT (Device Under Test)) in accordance with a test program created by a user. The debugging device checks in advance whether or not the test program created by the user has been created (written) so that it can be correctly interpreted and executed by the semiconductor testing device, and corrects the error if there is an error. Used for. In recent years, test programs tend to be written in accordance with the grammar of a general-purpose programming language such as C language or C ++ language, and a debugging device for the test program is also used for debugging a general-purpose programming language. Things are used.
図10は、従来のデバッグ装置の要部構成を示すブロック図である。図10に示す通り、従来のデバッグ装置100は、汎用IDE(Integrated Development Environment:統合開発環境)110、汎用デバッガ120、テスト制御モジュール130、及び端末ソフト140を備えており、テスタ(半導体試験装置)200に接続されて、テスタ200で用いられるテストプログラム(試験プログラム)P100のデバッグを行う。
FIG. 10 is a block diagram showing a main configuration of a conventional debugging device. As shown in FIG. 10, a
汎用IDE110は、デバッグ操作ツール111及びデバッグ制御モジュール112を備えており、デバッグ対象であるテストプログラムP100に対するエディタ及びコンパイラ(図示省略)並びに汎用デバッガ120等のテストプログラムP100の作成に必要なツールを1つのインターフェイスで統合して扱うことのできる環境を提供する。デバッグ操作ツール111は、デバッグ制御モジュール112との間でイベント制御を行うことにより、ユーザUの指示に応じたデバッグ機能(ブレークポイント機能、ステップ実行機能、及びトレース機能等)を制御する。
The general-purpose IDE 110 includes a debug operation tool 111 and a
デバッグ制御モジュール112は、テストプログラムP100の実行プロセスを生成し、テストプログラムP100と汎用デバッガ120との関連付けを行う。また、ユーザUの指示に応じたデバッグ機能を実現するコマンドを生成して汎用デバッガ120に出力することにより、ユーザUの指示に応じたデバッグ機能を実現する。更に、汎用デバッガ120から得られる各種情報をイベントとしてデバッグ操作ツール111に通知する。
The
汎用デバッガ120は、デバッグ制御モジュール112の制御の下で、C言語等の汎用プログラミング言語で記述されたプログラムのデバッグを行うものであり、テストプログラムP100が汎用プログラミング言語の文法に則して記述されている場合には、そのデバッグを行うことも可能である。テスト制御モジュール130は、テスタ200でテストプログラムP100を実行させる上で必要となるテスト制御ライブラリL100を備えており、このテスト制御ライブラリL100を用いて、テストプログラムP100に基づいてテスタ200で行われるテスト(試験)の制御を行う。
The general-
端末ソフト140は、テスト制御モジュール130に対してユーザUの指示を直接入力するものである。例えば、テスタ200に特有の命令であって、汎用IDE110で扱うことのできない特殊命令(例えば、テスタ200の動作中断(テスタブレーク)を指示する命令)をテスト制御モジュール130に入力する。或いは、テストプログラムP100の特殊な実行制御(例えば、テストプログラムP100を実行させるためのスレッドを別途生成してテストプログラムP100の実行を開始させる制御)を行うために、テストプログラムP100の実行指示をテスト制御モジュール130に入力する。
The
次に、上記構成における従来のデバッグ装置100の動作について説明する。デバッグ装置100の動作は、(1)通常のデバッグ時の動作、(2)テスタブレークを行う場合の動作、(3)テストプログラムP100の特殊な実行制御を行う場合の動作、に大別される。以下、これらについて順に説明する。
Next, the operation of the
(1)通常のデバッグ時の動作
テストプログラムP100のデバッグを行う場合には、ユーザUがデバッグ操作ツール111を操作してテストプログラムP100のデバッグ開始指示を行う。デバッグ開始指示がなされると、デバッグ操作ツール111からデバッグ制御モジュール112に対して、ユーザUの指示に応じたテストプログラムP100のデバッグを開始する旨の通知がなされる。かかる通知によって、デバッグ制御モジュール112はテストプログラムP100の実行プロセスを生成し、テストプログラムP100と汎用デバッガ120との関連付けを行って、汎用デバッガ120からテストプログラムP100のデバッグを制御可能な状態にする。
(1) Operation at the time of normal debugging When debugging the test program P100, the user U operates the debug operation tool 111 to give an instruction to start debugging the test program P100. When a debug start instruction is given, the debug operation tool 111 notifies the
以上の処理が終了すると、デバッグ制御モジュール112は汎用デバッガ120に対してコマンドを出力してテストプログラムP100の実行を開始させる。すると、デバッグ制御モジュール112からデバッグ操作ツール111に対し、テストプログラムP100の実行開始を示すプログラム開始イベントが通知され、デバッグ操作ツール111の表示はテストプログラムP100が実行されている状態である旨を示す表示に更新される。ここで、ユーザUがブレークポイント機能、ステップ実行機能、又はトレース機能等を指示した上でデバッグ開始指示を行うことにより、ユーザUの指示に応じたデバッグ機能を実現することができる。
When the above processing is completed, the
尚、テストプログラムP100の実行が終了すると、汎用デバッガ120がデバッグ制御モジュール112によってなされたテストプログラムP100と汎用デバッガ120との関連付けを自動的に解除し、デバッグ制御モジュール112に対してテストプログラムP100の実行終了を通知する。すると、デバッグ制御モジュール112はデバッグ操作ツール111に対してプログラム終了イベントを通知し、これによりデバッグ操作ツール111の表示はテストプログラムP100が実行が終了した状態である旨を示す表示に更新される。
When the execution of the test program P100 is finished, the general-
(2)テスタブレークを行う場合の動作
テスタ200の動作を中断させるテスタブレークを行う場合には、ユーザUは汎用IDE110とは別に端末ソフト140を用いてテスタブレークを実施するための特殊命令を入力する。この特殊命令が入力されると、テスト制御モジュール130はテスタ200の動作を中断させ、動作の再開を示す命令が入力されるまで待ち状態になる。尚、かかる待ち状態のときに、ユーザUが端末ソフト140を操作すれば、動作が中断したテスタ200の状態を得ることもできる。また、ユーザUが端末ソフト140を用いて所定の命令を入力すれば、中断したテスタ200の動作を再開させることもできる。
(2) Operation when performing a tester break When performing a tester break that interrupts the operation of the
(3)テストプログラムP100の特殊な実行制御を行う場合の動作
テストプログラムP100の特殊な実行制御を行う場合には、まずユーザUが汎用IDE110を用いてテストプログラムP100を実行させる。次にユーザUはデバッグ操作ツール111に指示を行い、実行状態にあるテストプログラムP100を汎用デバッガ120の管理下に登録(アタッチ)する。尚、かかる登録によってテストプログラムP100は一時停止状態になる。テストプログラムP100が一時停止状態にあるときに、ユーザUがテストプログラムP100の実行指示をテスト制御モジュール130に入力することにより、テストプログラムP100の実行が再開される。
(3) Operation when performing special execution control of the test program P100 When performing special execution control of the test program P100, the user U first executes the test program P100 using the general-
尚、テストプログラムP100の実行が終了した場合には、テストプログラムP100を汎用デバッガ120の管理下から解除(デタッチ)する必要がある。しかしながら、テストプログラムP100の実行が終了しても、テストプログラムP100は解除されずに汎用デバッガ120の管理下に登録された状態のままになる。このため、ユーザUは、端末ソフト140を用いてテストプログラムP100の実行終了を確認し、テストプログラムP100の実行終了が確認された場合にはデバッグ操作ツール111に指示を行い、実行が終了したテストプログラムP100を汎用デバッガ120の管理下から解除する。
When the execution of the test program P100 is completed, it is necessary to release (detach) the test program P100 from the management of the general-
尚、半導体試験装置で用いられる試験プログラムのデバッグを行う従来のデバッグ装置の詳細については、例えば以下の非特許文献1を参照されたい。
ところで、上述した通り、従来のデバッグ装置では、テスタブレークを実施する命令のような特殊命令を汎用IDE110で取り扱うことができないため、ユーザUが端末ソフト140を用いてテスト制御モジュール130に特殊命令を直接入力している。仮に、この特殊命令を汎用IDE110で扱うことができれば、ユーザUが汎用IDE110を用いてブレークポイント機能によりテストプログラムP100の実行を中断する場合と同様の操作でテスタ200の動作を中断させることができ、ユーザUの手間が省けて操作性及び利便性が向上し、この結果としてデバッグ効率を高められると考えられる。
By the way, as described above, in the conventional debugging device, since the general-purpose IDE 110 cannot handle a special instruction such as an instruction for executing a tester break, the user U uses the
また、テストプログラムP100の特殊な実行制御を行う場合にも、ユーザUは汎用IDE110のデバッグ操作ツール111の操作と端末ソフト140の操作とを行う必要がある。しかも、テストプログラムP100の実行開始時及び実行終了時に端末ソフト140を操作しなければならず極めて煩雑である。仮に、以上のテストプログラムP100の実行開始及び実行終了を汎用IDE110から制御できれば、煩雑な操作が不要になって操作性及び利便性が向上し、この結果としてデバッグ効率も高められると考えられる。
Also, when performing special execution control of the test program P100, the user U needs to operate the debug operation tool 111 of the general-purpose IDE 110 and the
ここで、テストプログラムP100の大部分はテスタ200のメーカによって提供され、ユーザUによって作成される部分は僅かである。テストプログラムP100のデバッグを行う場合には、ユーザUによって作成された部分の実行結果がユーザUにとっては重要であり、テスタ200のメーカによって提供された部分の実行結果はユーザUにとってはさほど重要ではない。このため、上述した特殊命令によるテストブレークやテストプログラムP100の実行開始及び実行終了の制御を汎用IDE110から実現する場合であっても、ユーザUによって作成された部分の実行結果のみが表示されることが望ましい。何故ならば、ユーザUにとって必要な情報のみが表示されて不要な情報が表示されないため、ユーザUが実行結果を容易に把握することができ、これによりデバッグ効率を高めることができると考えられるからである。
Here, most of the test program P100 is provided by the manufacturer of the
本発明は上記事情に鑑みてなされたものであり、ユーザの操作性及び利便性を向上させてデバッグ効率を高めることができるデバッグ装置を提供することを目的とする。 The present invention has been made in view of the above circumstances, and an object of the present invention is to provide a debugging device that can improve user's operability and convenience and increase debugging efficiency.
上記課題を解決するために、本発明のデバッグ装置は、半導体デバイスの試験を行う半導体試験装置(TE)で用いられる試験プログラム(P)のデバッグを行うデバッグ手段(20)と、当該デバッグ手段の制御の下で前記試験プログラムの内容に応じた前記半導体試験装置に対する制御を行う試験制御手段(30)とを備えるデバッグ装置(1〜3)において、前記デバッグ手段及び前記試験制御手段の制御並びに前記デバッグ手段及び前記試験制御手段で得られる情報の取得が可能であって、前記試験プログラムの作成に必要な統合開発環境を提供する開発環境提供手段(10、40、50)を備えることを特徴としている。
この発明によると、デバッグ手段及び試験制御手段の制御が開発環境提供手段によって直接行われるとともに、デバッグ手段及び試験制御手段で得られる情報の取得が開発環境提供手段によって直接行われる。
また、本発明のデバッグ装置は、前記開発環境提供手段が、前記デバッグ手段の制御及び前記デバッグ手段で得られる情報の取得が可能なデバッグ制御手段(12、52)と、前記試験制御手段に前記半導体試験装置の動作を中断させる制御を行うとともに、前記試験制御手段から前記半導体試験装置の動作が中断した旨を示す通知を取得した場合に前記デバッグ制御手段に前記デバッグ手段の動作を中断させる制御を行わせる中断制御手段(13)とを備えることを特徴としている。
更に、本発明のデバッグ装置は、前記開発環境提供手段が、前記デバッグ制御手段が前記デバッグ手段から前記デバッグ手段の動作が中断した旨を示す通知を取得した場合に、当該通知に基づいて前記デバッグ手段の動作中断を示す情報の表示を行うことを特徴としている。
或いは、本発明のデバッグ装置は、前記開発環境提供手段が、前記デバッグ手段の制御及び前記デバッグ手段で得られる情報の取得が可能なデバッグ制御手段(42、52)と、前記デバッグ制御手段に前記デバッグ手段の動作開始又は動作停止の制御を行わせるとともに、前記デバッグ制御手段に前記デバッグ手段の動作開始の制御を行わせた場合には前記試験制御手段に前記試験プログラムを実行させる制御を行う実行制御手段(41a)とを備えることを特徴としている。
また、本発明のデバッグ装置は、前記開発環境提供手段が、前記デバッグ制御手段から得られる前記試験プログラムの実行履歴情報に、ユーザによって記述されたユーザ記述関数の呼び出しが含まれているか否かを判断して、前記デバッグ手段による前記試験プログラムのステップ実行を前記デバッグ制御手段に制御させるステップ実行制御手段(53)を備えることを特徴としている。
また、本発明のデバッグ装置は、前記開発環境提供手段が、前記デバッグ制御手段から得られる前記試験プログラムの実行履歴情報に、ユーザによって記述されたユーザ記述関数の呼び出しが含まれているか否かの判断と、前記実行履歴情報で示される前記ユーザ記述関数及び他の関数の呼び出し状況の判断との少なくとも一方の判断を行って、前記実行履歴情報の表示制御を行う表示制御手段(51a)を備えることを特徴としている。
In order to solve the above problems, a debugging apparatus of the present invention includes a debugging means (20) for debugging a test program (P) used in a semiconductor testing apparatus (TE) for testing a semiconductor device, In a debugging apparatus (1-3) comprising test control means (30) for controlling the semiconductor test apparatus according to the content of the test program under control, the control of the debugging means and the test control means, and the It is possible to acquire information obtained by the debugging means and the test control means, and comprises development environment providing means (10, 40, 50) for providing an integrated development environment necessary for creating the test program. Yes.
According to this invention, control of the debugging means and test control means is directly performed by the development environment providing means, and acquisition of information obtained by the debugging means and test control means is directly performed by the development environment providing means.
In the debugging device of the present invention, the development environment providing unit includes a debug control unit (12, 52) capable of controlling the debug unit and acquiring information obtained by the debug unit, and the test control unit including the debug control unit. Control for interrupting the operation of the semiconductor test apparatus, and for causing the debug control means to interrupt the operation of the debug means when a notification indicating that the operation of the semiconductor test apparatus is interrupted is obtained from the test control means It is characterized by comprising interruption control means (13) for performing.
Furthermore, in the debugging device of the present invention, when the development environment providing unit acquires the notification indicating that the operation of the debugging unit is interrupted from the debugging unit, the debugging control unit is configured to debug the debugging unit based on the notification. It is characterized in that information indicating the interruption of the operation of the means is displayed.
Alternatively, in the debugging device of the present invention, the development environment providing unit includes a debugging control unit (42, 52) capable of controlling the debugging unit and acquiring information obtained by the debugging unit, and the debugging control unit includes the debugging device. Execution for controlling the start or stop of the operation of the debugging means and for causing the test control means to execute the test program when the debugging control means is controlled to start the operation of the debugging means. And a control means (41a).
In the debugging apparatus of the present invention, the development environment providing means determines whether or not the execution history information of the test program obtained from the debug control means includes a call to a user-written function described by a user. Judgment further comprises step execution control means (53) for making the debug control means control step execution of the test program by the debugging means.
In the debugging device of the present invention, whether the development environment providing means includes a call to a user-written function described by a user in the execution history information of the test program obtained from the debug control means. Display control means (51a) for performing display control of the execution history information by performing at least one of the determination and the determination of the call state of the user description function and other functions indicated by the execution history information. It is characterized by that.
本発明によれば、デバッグ手段及び試験制御手段の制御を開発環境提供手段によって直接行うとともに、デバッグ手段及び試験制御手段で得られる情報の取得を開発環境提供手段で直接行っている。このため、半導体試験装置に関する特殊命令の開発環境提供手段から試験制御手段への直接出力、半導体試験装置の動作停止に合わせたデバッグ手段の停止、デバッグ手段の動作開始・動作停止に合わせた試験プログラムの実行開始等を実現することができる。また、デバッグ手段による試験プログラムのステップ実行制御や試験プログラムの実行結果の表示制御も実現できる。これにより、ユーザの操作性及び利便性が向上し、デバッグ効率を高めることができるという効果がある。 According to the present invention, the debugging unit and the test control unit are directly controlled by the development environment providing unit, and the information obtained by the debugging unit and the test control unit is directly acquired by the development environment providing unit. Therefore, direct output from the development environment providing means to the test control means for the special instructions related to the semiconductor test equipment, the stop of the debug means in accordance with the stop of the operation of the semiconductor test equipment, the test program adapted to the start / stop of the operation of the debug means Can be started. Also, step execution control of the test program by the debugging means and display control of the execution result of the test program can be realized. As a result, user operability and convenience are improved, and debugging efficiency can be improved.
以下、図面を参照して本発明の実施形態によるデバッグ装置について詳細に説明する。 Hereinafter, a debugging device according to an embodiment of the present invention will be described in detail with reference to the drawings.
〔第1実施形態〕
図1は、本発明の第1実施形態によるデバッグ装置の要部構成を示すブロック図である。図1に示す通り、本実施形態のデバッグ装置1は、IDE10(開発環境提供手段)、汎用デバッガ20(デバッグ手段)、及びテスト制御モジュール30(試験制御手段)を備えており、テスタTE(半導体試験装置)に接続されて、テスタTEで用いられるテストプログラムP(試験プログラム)のデバッグを行う。このデバッグ装置1は、ユーザUがIDE10を用いてブレークポイント機能によりテストプログラムPの実行を中断する場合と同様の操作で、テスタTEの動作中断(テスタブレーク)を実現するものである。
[First Embodiment]
FIG. 1 is a block diagram showing a main configuration of a debugging device according to the first embodiment of the present invention. As shown in FIG. 1, the debugging device 1 of this embodiment includes an IDE 10 (development environment providing means), a general-purpose debugger 20 (debugging means), and a test control module 30 (test control means), and a tester TE (semiconductor). The test program P (test program) used in the tester TE is debugged. The debugging device 1 realizes the operation interruption (tester break) of the tester TE by the same operation as when the user U interrupts the execution of the test program P by the breakpoint function using the
IDE10は、デバッグ操作ツール11、デバッグ制御モジュール12(デバッグ制御手段)、及びテスタブレーク制御モジュール13(中断制御手段)を備えており、テスト制御モジュール30及び汎用デバッガ20の制御が可能であるとともに、これらテスト制御モジュール30及び汎用デバッガ20で得られる各種情報の取得が可能である。また、IDE10は、デバッグ対象であるテストプログラムPに対するエディタ及びコンパイラ(図示省略)並びに汎用デバッガ20等のテストプログラムPの作成に必要なツールを1つのインターフェイスで統合して扱うことのできる環境(統合開発環境)を提供する。
The
尚、IDE10は、C言語等のC++言語等の汎用プログラミング言語で記述されたプログラムの開発に用いられる汎用IDEに対して、テスタTEの制御を行う上で必要となるテスタブレーク制御モジュール13の追加等を行ったものである。汎用IDEを用いなくともIDE10を作成することは可能であるが、既存の汎用IDEに対して新たな機能(テスタブレーク制御モジュール13)を追加し、この機能追加に伴う汎用IDEの改変を行えばIDE10を作成することができるため、汎用IDEを用いずにIDE10を作成する場合に比べてデバッグ装置1の作成コストを低減することができる。
The
デバッグ操作ツール11は、デバッグ制御モジュール12との間でイベント制御を行うことにより、ユーザUの指示に応じたデバッグ機能を制御する。ここで、ユーザUの指示に応じたデバッグ機能としては、ブレークポイント機能、ステップ実行機能、及びトレース機能等が挙げられる。ブレークポイント機能とは、テストプログラムPの実行をテストプログラムPの特定の位置で中断させる機能である。ステップ実行機能とは、テストプログラムPの実行をユーザUの指示に応じてテストプログラムPの行毎に順次実行させる機能である。トレース機能とは、テストプログラムPの実行中に用いられる各種変数の内容や状態を参照する機能である。
The
デバッグ制御モジュール12は、テストプログラムPの実行プロセスを生成し、テストプログラムPと汎用デバッガ20との関連付けを行う。また、ユーザUの指示に応じたデバッグ機能を実現するコマンドを生成して汎用デバッガ20に出力することにより、ユーザUの指示に応じたデバッグ機能を実現する。更に、汎用デバッガ20から得られる各種情報をイベントとしてデバッグ操作ツール11に通知する。
The
また、デバッグ制御モジュール12は、デバッグ操作ツール11との間で行われるイベント制御に応じたデバッグイベントをテスタブレーク制御モジュール13に対して発行する。更に、テスタブレーク制御モジュール13から出力されるテストプログラムPの一時中断指示に基づいて、汎用デバッガ20にテストプログラムPの実行を中断させる。尚、テストプログラムPの実行を中断させた場合には、汎用デバッガ20から得られる各種情報をIDEブレークイベントとしてテスタブレーク制御モジュール13に通知する。
The
テスタブレーク制御モジュール13は、デバッグ制御モジュール12から発行されるデバッグイベントがテスタTEの動作中断(テスタブレーク)に関するイベントである場合には、テスト制御モジュール30に対してテスタブレークを実施するための制御(設定)を行う。また、テスト制御モジュール30からテスタTEの動作が中断した旨を示すテスタブレークイベントを取得した場合には、汎用デバッガ20の動作を中断させてテストプログラムPの実行を一時的に中断させる指示(テストプログラムPの一時中断指示)をデバッグ制御モジュール12に出力する。尚、テスタブレーク制御モジュール13は、上記のテスタブレークイベントを取得した場合には、動作モードをテスタブレーク制御モードに移行してテスタブレーク制御に係る各種制御を行う。
The tester
ここで、テスタブレーク制御モジュール13がテスタブレークイベントを取得した場合にテストプログラムPの実行を中断させるのは、汎用デバッガ20からブレーク情報(テストプログラムPのファイル名や中断した行を示す情報)を得るためである。つまり、テスタTEの動作が中断されてもテストプログラムPは見かけ上実行が中断された状態にあって実際には実行が中断されていない。テストプログラムPの実行が実際に中断されれば汎用デバッガ20からブレーク情報(テストプログラムPのファイル名や中断した行を示す情報)を得ることができるが、実行が中断されていないとデバッグ情報を取得することができない。そこで、テスタブレークイベントを取得した場合にテストプログラムPの実行を中断させて、汎用デバッガ20からブレーク情報の取得を可能としている。
Here, when the tester
汎用デバッガ20は、デバッグ制御モジュール12の制御の下で、C言語等の汎用プログラミング言語で記述されたプログラムのデバッグを行うものであり、テストプログラムPが汎用プログラミング言語の文法に則して記述されている場合には、そのデバッグを行うことも可能である。テスト制御モジュール30は、テスタTEでテストプログラムPを実行させる上で必要となるテスト制御ライブラリLを備えており、汎用デバッガ20の制御の下でテスト制御ライブラリLを用いてテストプログラムPの内容に応じたテスタTEに対する制御を行う。このテスト制御ライブラリLは、テスタブレークが実施されてテスタTEの動作が中断した場合には、テスタブレーク制御モジュール13に対してテスタTEの動作が中断した旨を示すテスタブレークイベントを出力する。
The general-
尚、テスタTEは、テスト制御モジュール30の制御の下でDUT(図示省略)のテスト(試験)を行う。このテスタTEは、半導体メモリのテストを行うメモリテスタ、半導体論理回路をテストするロジックテスタ、LCD(Liquid Crystal Display:液晶表示ディスプレイ)の駆動ドライバをテストするトライバテスタ等の何れのテスタであっても良い。
The tester TE performs a test (test) of a DUT (not shown) under the control of the
次に、上記構成におけるデバッグ装置1の動作について説明する。図2は本発明の第1実施形態によるデバッグ装置におけるテスタブレーク設定時の動作を示すフローチャートであり、図3は同デバッグ装置におけるテスタブレーク制御時の動作を示すフローチャートである。ユーザUがデバッグ操作ツール11に対して、テストプログラムPのデバッグ開始の指示を行うと、テストプログラムPの内容が表示されて、図2に示すフローチャートが繰り返し実行される。
Next, the operation of the debugging device 1 having the above configuration will be described. FIG. 2 is a flowchart showing an operation at the time of setting a tester break in the debugging device according to the first embodiment of the present invention, and FIG. 3 is a flowchart showing an operation at the time of tester break control in the debugging device. When the user U instructs the
テストプログラムPが表示された状態で、ユーザUはデバッグ操作ツール11を操作して、テストプログラムPの編集、従来から用いられているブレークポイントの設定、又はテスタブレークについてのブレークポイント(テスタブレークポイント)の設定等を行う。かかる操作が行われると、デバッグ制御モジュール12からテスタブレーク制御モジュール13及び汎用デバッガ20に対して、その操作に応じたデバッグイベント発行される。
In a state where the test program P is displayed, the user U operates the
デバッグ制御モジュール12からデバッグイベントが発行されると、テスタブレーク制御モジュール13において、そのデバッグイベントがユーザUによってブレークポイントの設定がされた場合に発行されるイベント(ブレークポイント設定イベント)であるが否かが判断される(ステップS11)。この判断結果が「NO」の場合には図2に示すフローチャートが再度最初から開始される。
When a debug event is issued from the
これに対し、ステップS11でブレークポイント設定イベントであると判断された場合(判断結果が「YES」の場合)には、テスタブレーク制御モジュール13でブレークポイント設定イベントが解析され、そのブレークポイント設定イベントがテスタブレークポイントの設定によって発生したものであるか否かが判断される(ステップS12)。この判断結果が「NO」の場合には図2に示すフローチャートが再度最初から開始される。
On the other hand, when it is determined in step S11 that the event is a breakpoint setting event (when the determination result is “YES”), the tester
他方、ステップS12の判断結果が「YES」の場合には、テスタブレーク制御モジュール13によって、テスト制御モジュール30に対するテスタブレークポイントの設定が行われる(ステップS13)。このテスタブレークポイントの設定は、ブレークポイント設定イベントに含まれる設定情報に基づいて行われる。テスタブレークポイント設定が終了すると図2に示すフローチャートが再度最初から開始される。
On the other hand, if the determination result in step S12 is “YES”, the tester
ここで、テスタブレークポイントはユーザUによって新たに設定される場合のみならず、一度設定されたものがユーザUによって取り消される場合もある。テスタブレークポイントが取り消された場合には、ステップS13において先にテスト制御モジュール30に設定したテスタブレークポイントを削除する設定が行われる。以上の動作が繰り返されることにより、IDE10を用いたテスト制御モジュール30に対するテスタブレークポイントの設定が行われる。
Here, not only when the tester breakpoint is newly set by the user U, but once set, the user U may cancel the tester breakpoint. When the tester breakpoint is canceled, the setting for deleting the tester breakpoint previously set in the
以上の操作を終えて、ユーザUがデバッグ操作ツール11に対して、テストプログラムPの実行の指示を行うと、デバッグ制御モジュール12がテストプログラムPの実行プロセスを生成し、テストプログラムPと汎用デバッガ20との関連付けを行って、汎用デバッガ20からテストプログラムPのデバッグを制御可能な状態にしてテストプログラムPの実行を開始させる。また、上記のユーザUによるテストプログラムの実行指示により、図3に示すフローチャートが繰り返し実行される。
After the above operation, when the user U instructs the
図3に示すフローチャートが開始されると、まずテスト制御モジュール30からテスタTEの動作が中断した旨を示すテスタブレークイベントを受信したか否かがテスタブレーク制御モジュール13によって判断される(ステップS21)。この判断結果が「YES」の場合には、テスタブレーク制御モジュール13の動作モードがテスタブレーク制御モードに移行する(ステップS22)。
When the flowchart shown in FIG. 3 is started, first, the tester
以上の移行処理が行われると、テスタブレーク制御モジュール13からデバッグ制御モジュール12に対して、テストプログラムPの一時中断指示が出力される。デバッグ制御モジュール12は、テスタブレーク制御モジュール13からの一時中断指示を一時中断コマンドに変換して汎用デバッガ20に出力し、テストプログラムPの実行を中断させる(ステップS23)。この中断処理によってテストプログラムPの実行が中断した位置がテスタブレークのブレーク地点となる。尚、以上の中断処理を行うと、デバッグ制御モジュール12でテストプログラムPの実行が中断された旨を示すIDE一時中断イベントが発行される。以上の処理が終了すると、図3に示すフローチャートが再度最初から開始される。
When the above transition processing is performed, the tester
他方、ステップS21の判断結果が「NO」の場合には、デバッグ制御モジュール12で発行されたIDE一時中断イベントを受信したか否かがテスタブレーク制御モジュール13によって判断される(ステップS24)。この判断結果が「YES」の場合には、テスタブレーク制御モジュール13の動作モードがテスタブレーク制御モードであるか否かが判断される(ステップS25)。この判断結果が「NO」の場合は、図3に示すフローチャートが再度最初から開始される。
On the other hand, if the determination result in step S21 is “NO”, the tester
これに対し、ステップS25の判断結果が「YES」の場合には、テスタブレーク制御モジュール13によってIDE一時中断イベントからブレーク情報が取得され、IDEブレークイベントが作成される(ステップS26)。IDEブレークイベントが作成されると、テスタブレーク制御モジュール13からデバッグ制御モジュール12に対して、IDEブレークイベントの発行が指示される(ステップS27)。これによりIDE10に設けられた不図示のエディタ及びコンパイラ等にIDEブレークイベントが通知され、ブレーク情報の表示が行われる。以上の処理が終了すると、図3に示すフローチャートが再度最初から開始される。
On the other hand, if the determination result in step S25 is “YES”, the tester
他方、ステップS24の判断結果が「NO」の場合には、デバッグ制御モジュール12で発行されたIDEブレークイベントを受信したか否かがテスタブレーク制御モジュール13によって判断される(ステップS28)。この判断結果が「NO」の場合は、図3に示すフローチャートが再度最初から開始される。これに対し、ステップS28の判断結果が「YES」の場合には、テスタブレーク制御モジュール13の動作モードがテスタブレーク制御モードであるか否かが判断される(ステップS29)。この判断結果が「NO」の場合は、図3に示すフローチャートが再度最初から開始される。
On the other hand, if the determination result in step S24 is “NO”, the tester
これに対し、ステップS29の判断結果が「YES」の場合には、テスタブレーク制御モジュール13からテスト制御モジュール30に、テスタブレーク制御が完了した旨が通知され(ステップS30)。かかる通知がなされると、テスタブレーク制御モジュール13のテスタブレーク制御モードが解除される(ステップS31)。以上説明した一連の処理によってテスタブレーク制御が実施される。
On the other hand, if the determination result in step S29 is “YES”, the tester
以上の通り、本実施形態のデバッグ装置1は、テスト制御モジュール30及び汎用デバッガ20の制御が可能であるとともに、これらテスト制御モジュール30及び汎用デバッガ20で得られる各種情報の取得が可能であるIDE10を備えている。このため、ユーザUがIDE10のデバッグ操作ツール11を操作してテスト制御モジュール30に対するテスタブレークポイントの設定を行うことができる。また、テスト制御モジュール30からのテスタブレークイベントを取得した場合に、汎用デバッガ20の動作を中断させてテストプログラムPの実行を中断させるテスタブレーク制御モジュール13をIDE10に設けているため、テストプログラムPの実行が中断されたときのブレーク情報を得ることもできる。これにより、ユーザUの操作性及び利便性を向上させてデバッグ効率を高めることができる。
As described above, the debug device 1 according to the present embodiment can control the
〔第2実施形態〕
図4は、本発明の第2実施形態によるデバッグ装置の要部構成を示すブロック図である。図4に示す通り、本実施形態のデバッグ装置2は、図1に示すデバッグ装置1が備えるIDE10に代えてIDE40を設けた構成であり、テスタTEに接続されて、テスタTEで用いられるテストプログラムPのデバッグを行う。このデバッグ装置2は、ユーザUがIDE40を操作している状態で、テストプログラムPの特殊な実行制御を実現するものである。
[Second Embodiment]
FIG. 4 is a block diagram showing a main configuration of the debugging device according to the second embodiment of the present invention. As shown in FIG. 4, the
IDE40は、デバッグ操作ツール41及びデバッグ制御モジュール42(デバッグ制御手段)を備えており、テスト制御モジュール30及び汎用デバッガ20の制御が可能であるとともに、これらテスト制御モジュール30及び汎用デバッガ20で得られる各種情報の取得が可能である。このIDE40は、図1に示すIDE10と同様の統合開発環境を提供するものであり、汎用IDEを用いて作成することができる。
The
デバッグ操作ツール41は、図1に示すデバッグ操作ツール11と同様に、デバッグ制御モジュール42との間でイベント制御を行うことにより、ユーザUの指示に応じたデバッグ機能を制御する。このデバッグ操作ツール41は、デバッグ制御モジュール42に汎用デバッガ20の動作開始又は動作停止の制御を行わせる実行制御モジュール41a(実行制御手段)を備える。
Similar to the
ここで、実行制御モジュール41aは、デバッグ制御モジュール42に汎用デバッガ20の動作開始の制御を行わせた場合には、テスト制御モジュール30に対してテストプログラムPを実行させる制御を行う。これは、実行状態にあるテストプログラムPを汎用デバッガ20の管理下に登録(アタッチ)するとテストプログラムPは命令待ち状態になって停止し、汎用デバッガ20の動作を開始させただけではテストプログラムPの実行が開始されないからである。
Here, the
デバッグ制御モジュール42は、図1に示すデバッグ制御モジュール12と同様に、テストプログラムPの実行プロセスを生成し、テストプログラムPと汎用デバッガ20との関連付けを行う。また、ユーザUの指示に応じたデバッグ機能を実現するコマンドを生成して汎用デバッガ20に出力することにより、ユーザUの指示に応じたデバッグ機能を実現する。更に、汎用デバッガ20から得られる各種情報をイベントとしてデバッグ操作ツール41に通知する。
Similar to the
次に、上記構成におけるデバッグ装置2の動作について説明する。図5は、本発明の第2実施形態によるデバッグ装置の動作を示すフローチャートである。まず、ユーザUの操作によって予めテストプログラムPが実行されている状態にあるものとする。かかる状態において、ユーザUがデバッグ操作ツール41に対して、テストプログラムPのデバッグの指示を行うと、図5に示すフローチャートが開始される。
Next, the operation of the
テストプログラムPのデバッグが開始されると、デバッグ操作ツール41に設けられた実行制御モジュール41aからデバッグ制御モジュール42に対してテストプログラムPのアタッチが指示される(ステップS41)。このアタッチ指示によって、デバッグ制御モジュール42から汎用デバッガ20に対してテストプログラムPのアタッチコマンドが出力され、これにより実行状態にあるテストプログラムPが汎用デバッガ20の管理下に登録(アタッチ)される(ステップS42)。尚、テストプログラムPをアタッチすると、テストプログラムPは命令待ち状態になって停止し、汎用デバッガ20は一時停止状態になる。
When debugging of the test program P is started, the
次に、汎用デバッガ20が一時停止状態であるため、実行制御モジュール41aからデバッグ制御モジュール42に対して汎用デバッガ20の再開が指示される(ステップS43)。この再開指示によって、デバッグ制御モジュール42から汎用デバッガ20に対して再開コマンドが出力され、これにより汎用デバッガ20の動作が再開される(ステップS44)。
Next, since the general-
以上の処理によって汎用デバッガ20は再開されたものの、テストプログラムPは命令待ち状態になって停止している。このため、実行制御モジュール41aからテスト制御モジュール30に対してテストプログラムPの実行開始が指示される(ステップS45)。この実行開始指示がなされると、テスト制御モジュール30は命令待ち状態になって停止しているテストプログラムPの実行が開始され、汎用デバッガ20によるテストプログラムPのデバッグが行われる。
Although the general-
テストプログラムPのデバッグが開始されると、テスト制御モジュール30からテスタTEの制御状況を示すテスタイベントが通知されて実行制御モジュール41aで受信される(ステップS46)。次に、受信したテスタイベントがテストプログラムPの実行終了時に発行されるテストプログラム終了イベントであるか否かが実行制御モジュール41aで判断される(ステップS47)。テストプログラム終了イベントではないと判断された場合(判断結果が「NO」の場合)にはテスト制御モジュール30から通知されるテスタイベントの受信(ステップS46)が繰り返される。
When debugging of the test program P is started, a tester event indicating the control status of the tester TE is notified from the
これに対し、テストプログラム終了イベントであると判断された場合(判断結果が「YES」の場合)には、実行制御モジュール41aからデバッグ制御モジュール42に対してテストプログラムPのデタッチが指示される(ステップS48)。このデタッチ指示によって、デバッグ制御モジュール42から汎用デバッガ20に対してテストプログラムPのデタッチコマンドが出力され、これによりテストプログラムPが汎用デバッガ20の管理下から解除(デタッチ)される(ステップS49)。尚、テストプログラムPがデタッチされると、実行制御モジュール41aはIDE40上でのデバッグを終了する。
On the other hand, when it is determined that the event is a test program end event (when the determination result is “YES”), the
以上の通り、本実施形態のデバッグ装置2は、テスト制御モジュール30及び汎用デバッガ20の制御が可能であるとともに、これらテスト制御モジュール30及び汎用デバッガ20で得られる各種情報の取得が可能であるIDE40を備えている。このIDE40には、汎用デバッガ20の動作開始又は動作停止をデバッグ制御モジュール42に制御させるとともにテストプログラムPをテスト制御モジュール30実行させる実行制御モジュール41aが設けられている。このため、ユーザUが煩雑な操作を行わなくともテストプログラムPの特殊な実行制御が自動的に行われ、ユーザUの操作性及び利便性を向上させてデバッグ効率を高めることができる。
As described above, the
〔第3実施形態〕
図6は、本発明の第3実施形態によるデバッグ装置の要部構成を示すブロック図である。図6に示す通り、本実施形態のデバッグ装置3は、図1に示すデバッグ装置1が備えるIDE10に代えてIDE50を設けた構成であり、テスタTEに接続されて、テスタTEで用いられるテストプログラムPのデバッグを行う。このデバッグ装置3は、テストプログラムPを実行して得られる実行結果のうち、ユーザUによって作成された部分のみのステップ実行を実現し、またその部分の実行結果のみの表示を実現するものである。
[Third Embodiment]
FIG. 6 is a block diagram showing a main configuration of a debugging device according to the third embodiment of the present invention. As shown in FIG. 6, the debugging device 3 of the present embodiment has a configuration in which an
IDE50は、デバッグ操作ツール51、デバッグ制御モジュール52(デバッグ制御手段)、及びステップ実行制御モジュール53(ステップ実行制御手段)を備えており、汎用デバッガ20の制御が可能であるとともに、汎用デバッガ20で得られる各種情報の取得が可能である。このIDE50は、図1,図4に示すIDE10,40と同様の統合開発環境を提供するものであり、汎用IDEを用いて作成することができる。
The
尚、図6においては説明を簡単にするために図示を省略しているが、図1に示すテスタブレーク制御モジュール13或いは図4に示す実行制御モジュール41aをIDE50内に設けた構成にすることもできる。かかる構成にすることで、汎用デバッガ20の制御及び汎用デバッガ20で得られる各種情報の取得のみならず、テスト制御モジュール30の制御及びテスト制御モジュール30で得られる各種情報の取得が可能になり、第1実施形態で説明したIDE50を用いたテスタブレーク又は第2実施形態で説明したテストプログラムPの特殊な実行制御も実現できる。
Although illustration is omitted in FIG. 6 for simplicity of explanation, the tester
デバッグ操作ツール51は、図1に示すデバッグ操作ツール11と同様に、デバッグ制御モジュール52との間でイベント制御を行うことにより、ユーザUの指示に応じたデバッグ機能を制御する。このデバッグ操作ツール51は、デバッグ制御モジュール52から得られるテストプログラムP1のスレッド情報及びスタック情報(実行履歴情報)の表示制御を行う表示制御モジュール51a(表示制御手段)を備える。
Similar to the
ここで、上記のスレッド情報は実行されたスレッド(プログラムの実行単位)を特定する情報であり、上記のスタック情報はそのスレッドにおける関数(テストプログラムPに記述された関数)の呼び出し履歴を示す情報である。尚、テストプログラムPには、ユーザUによって記述された関数(ユーザ記述関数)とシステム関数(例えば、テスタTEの製造メーカによって予め用意された関数)とが記述されており、スタック情報はこれらユーザ記述関数及びシステム関数を特定する情報が、呼び出された順で時系列的に格納された情報である。 Here, the thread information is information for specifying an executed thread (program execution unit), and the stack information is information indicating a call history of a function (a function described in the test program P) in the thread. It is. In the test program P, a function (user description function) described by the user U and a system function (for example, a function prepared in advance by the manufacturer of the tester TE) are described. Information for specifying the description function and the system function is information stored in time series in the order of calling.
表示制御モジュール51aは、表示すべき対象(表示アイテム)がスレッド情報である場合には、上記のスタック情報にユーザ記述関数が含まれるか否かを判断し、ユーザ記述関数が含まれると判断した場合に表示アイテムの表示を行う。また、表示アイテムがスタック情報である場合には、スタック情報に基づいてユーザ記述関数及びシステム関数の呼び出し状況を判断し、その判断結果から表示アイテムの表示を行う。
When the object to be displayed (display item) is thread information, the
具体的には、ユーザ記述関数の呼び出しと他の関数(システム記述関数を含む)の呼び出しとの前後関係を判断し、ユーザ記述関数の呼び出し以降に呼び出された関数についてのスタック情報を表示アイテムとして表示する。これは、システム関数からユーザ記述関数の呼び出しが行われることはあるが、ユーザ記述関数からシステム関数の呼び出しが行われることはないため、ユーザ記述関数の呼び出し以降に呼び出された関数についてのスタック情報のみを表示すれば、ユーザUにとって不要なシステム関数についてのスタック情報の表示がなされることはないためである。 Specifically, it determines the context between calls to user-written functions and calls to other functions (including system-written functions), and displays stack information about functions called after calling user-written functions as display items. indicate. This is because the user-written function is called from the system function, but the system function is not called from the user-written function, so the stack information about the function called after the user-written function is called. This is because the stack information about the system function unnecessary for the user U is not displayed.
デバッグ制御モジュール52は、図1に示すデバッグ制御モジュール12と同様に、テストプログラムPの実行プロセスを生成し、テストプログラムPと汎用デバッガ20との関連付けを行う。また、ユーザUの指示に応じたデバッグ機能を実現するコマンドを生成して汎用デバッガ20に出力することにより、ユーザUの指示に応じたデバッグ機能を実現する。更に、汎用デバッガ20から得られる各種情報をイベントとしてデバッグ操作ツール51及びステップ実行制御モジュール53に通知する。また更に、ステップ実行制御モジュール53の制御の下で、汎用デバッガ20によるテストプログラムPのステップ実行を制御する。
Similar to the
ステップ実行制御モジュール53は、デバッグ制御モジュール52から得られるテストプログラムP1のスレッド情報及びスタック情報に応じて、汎用デバッガ20によるテストプログラムPのステップ実行を、デバッグ制御モジュール52に制御させる。具体的には、上記のスタック情報にユーザ記述関数が含まれるか否かを判断し、ユーザ記述関数が含まれると判断した場合に上記のステップ実行をデバッグ制御モジュール52に制御させる。
The step
次に、上記構成におけるデバッグ装置3の動作について説明する。図7は、本発明の第3実施形態によるデバッグ装置におけるステップ実行時の動作を示すフローチャートである。ユーザUがデバッグ操作ツール51に対して、テストプログラムPのステップ実行の指示を行うと、デバッグ制御モジュール52がテストプログラムPの実行プロセスを生成し、テストプログラムPと汎用デバッガ20との関連付けを行って、汎用デバッガ20からテストプログラムPのデバッグを制御可能な状態にしてテストプログラムPのステップ実行を開始させる。尚、ステップ実行の開始により、図7に示すフローチャートが繰り返し実行される。
Next, the operation of the debugging device 3 having the above configuration will be described. FIG. 7 is a flowchart showing the operation at the time of step execution in the debugging device according to the third embodiment of the present invention. When the user U instructs the
テストプログラムPのステップ実行が行われると、汎用デバッガ20からデバッグ制御モジュール52に対してステップ完了が通知され、これによりデバッグ制御モジュール52からステップイベントが発行される。図7に示す通り、まずデバッグ制御モジュール52から発行されるステップイベントがステップ実行制御モジュール53で受信されたか否かが判断される(ステップS51)。
When the step execution of the test program P is performed, the
ステップイベントが受信されたと判断された場合(判断結果が「YES」の場合)には、ステップ実行制御モジュール53において、ステップイベントに含まれるスレッド情報及びスタック情報が取得され、そのスタック情報にユーザ記述関数が含まれているか否かが判断される(ステップS52)。この判断結果が「YES」の場合には図7に示すフローチャートが再度最初から開始される。
When it is determined that the step event has been received (when the determination result is “YES”), the step
これに対し、ステップS52の判断結果が「NO」の場合には、ステップ実行制御モジュール53の動作モードが、ステップ実行終了位置の調整を行うステップ実行制御モードに移行する(ステップS53)。ここで、ステップ実行終了位置を調整するのは、スタック情報にユーザ記述関数が含まれておらず、テストプログラムPのステップ実行がユーザUに対する非公開領域(例えば、システム関数が記述された領域)で終了したと考えられるためである。
On the other hand, if the determination result in step S52 is “NO”, the operation mode of the step
以上の移行処理が行われると、ステップ実行制御モジュール53によって、テストプログラムPに記述された全てのユーザ記述関数にブレークポイントが設定される(ステップS54)。ここで、ステップ実行終了位置から次のユーザ記述関数が記述されている位置まで処理を進めれば、上記のステップ実行終了位置の調整を行うことができる。しかしながら、次に実行されるユーザ記述関数を特定することができないため、全てのユーザ記述関数に対してブレークポイントの設定を行っている。
When the above transition processing is performed, the step
ブレークポイントの設定が終了すると、ステップ実行制御モジュール53からデバッグ制御モジュール52に対して、テストプログラムPの実行再開指示がなされる。デバッグ制御モジュール52は、ステップ実行制御モジュール53からの実行再開指示を再開コマンドに変換して汎用デバッガ20に出力し、テストプログラムPの実行を再開させる(ステップS55)。以上の処理が終了すると図7に示すフローチャートが再度最初から開始される。
When the breakpoint setting is completed, the step
他方、ステップS51の判断結果が「NO」の場合には、デバッグ制御モジュール52で発行されたIDEブレークイベントを受信したか否かがステップ実行制御モジュール53によって判断される(ステップS56)。この判断結果が「NO」の場合は、図7に示すフローチャートが再度最初から開始される。これに対し、ステップS56の判断結果が「YES」の場合には、ステップ実行制御モジュール53の動作モードがステップ実行制御モードであるか否かが判断される(ステップS57)。この判断結果が「NO」の場合は、図7に示すフローチャートが再度最初から開始される。
On the other hand, if the determination result in step S51 is “NO”, the step
これに対し、ステップS57の判断結果が「YES」の場合には、ステップS54の処理でユーザ記述関数に対して設定されたブレークポイントの全てがステップ実行制御モジュール53によって解除される(ステップS58)。ブレークポイントが解除されると、ステップ実行制御モジュール53のステップ実行制御モードも解除される(ステップS59)。以上説明した一連の処理によってステップ実行制御が実施される。
On the other hand, if the determination result of step S57 is “YES”, all the breakpoints set for the user description function in the process of step S54 are canceled by the step execution control module 53 (step S58). . When the breakpoint is released, the step execution control mode of the step
以上の通り、本実施形態のデバッグ装置3は、デバッグ制御モジュール52から得られるスタック情報にユーザ記述関数が含まれるか否かを判断し、ユーザ記述関数が含まれると判断した場合にテストプログラムPのステップ実行をデバッグ制御モジュール52に制御させるステップ実行制御モジュール53を備えている。このため、ユーザUによって記述された領域(公開領域)とユーザに対する非公開領域とがテストプログラムP内に存在していても、公開領域に記述されたユーザ記述関数のみを対象にステップ実行することができる。これにより、ユーザUの操作性及び利便性を向上させてデバッグ効率を高めることができる。
As described above, the debugging device 3 according to the present embodiment determines whether or not the user description function is included in the stack information obtained from the
図8は、本発明の第3実施形態によるデバッグ装置における表示制御時の動作を示すフローチャートである。ユーザUがデバッグ操作ツール51に対して、デバッグの指示を行い、汎用デバッガ20によるテストプログラムPのデバッグが開始されると、図8に示すフローチャートが実行される。テストプログラムPのデバッグ中に、ブレークポイントによるブレーク、ステップ実行の実行終了、又は強制的な一時中断等によって汎用デバッガ20によるテストプログラムPの実行が中断されると、デバッグ制御モジュール52からその旨を示すプログラム中断イベントが発行される。
FIG. 8 is a flowchart showing an operation at the time of display control in the debug device according to the third embodiment of the present invention. When the user U gives a debug instruction to the
図8に示す通り、まずデバッグ制御モジュール52から発行されるプログラム中断イベントがデバッグ操作ツール51に設けられた表示制御モジュール51aで受信されたか否かが判断される(ステップS61)。この判断結果が「NO」の場合にはステップS61の処理が繰り返される。これに対し、ステップS61の判断結果が「YES」の場合には、表示制御モジュール51aによって、プログラム中断イベントに含まれるスレッド情報及びスタック情報から表示すべき表示アイテムが取得される(ステップS62)。
As shown in FIG. 8, it is first determined whether or not a program interruption event issued from the
次に、取得された表示アイテムがスレッドであるか否かが表示制御モジュール51aによって判断される(ステップS63)。表示アイテムがスレッドであると判断された場合(ステップS63の判断結果が「YES」の場合)には、そのスレッドにおけるスタック情報にユーザ記述関数が含まれているか否かが表示制御モジュール51aによって判断される(ステップS64)。
Next, the
この判断結果が「YES」の場合には、表示制御モジュール51aによって、ステップS62で取得された表示アイテム(スレッド)の表示が行われ(ステップS65)、他の表示アイテムが有るか否かが判断される(ステップS66)。これに対し、ステップS64の判断結果が「NO」の場合には、表示アイテムの表示が行われずに他の表示アイテムが有るか否かが判断される(ステップS66)。
When the determination result is “YES”, the
他方、ステップS63における判断結果が「NO」の場合には、取得された表示アイテムがスタックであるか否かが表示制御モジュール51aによって判断される(ステップS67)。表示アイテムがスタックであると判断された場合(ステップS67の判断結果が「YES」の場合)には、その表示アイテム(スタック情報)に係る関数の呼び出しがユーザ記述関数の呼び出し以降に行われたか否かが判断される(ステップS68)。
On the other hand, if the determination result in step S63 is “NO”, the
この判断結果が「YES」の場合には、表示制御モジュール51aによって、ステップS62で取得された表示アイテム(スタック)の表示が行われ(ステップS65)、他の表示アイテムが有るか否かが判断される(ステップS66)。これに対し、ステップS68の判断結果が「NO」の場合には、表示アイテムの表示が行われずに他の表示アイテムが有るか否かが判断される(ステップS66)。
When the determination result is “YES”, the
ステップS66において、他の表示アイテムが有ると判断された場合(判断結果が「YES」の場合)には、プログラム中断イベントに含まれるスレッド情報及びスタック情報から表示すべき表示アイテムが取得され(ステップS62)、上述した処理が繰り返される。これに対し、ステップS66の判断結果が「NO」の場合には、図8に示すフローチャートが再度最初から開始される。 If it is determined in step S66 that there is another display item (when the determination result is “YES”), the display item to be displayed is acquired from the thread information and stack information included in the program interruption event (step S66). S62), the process described above is repeated. On the other hand, when the determination result of step S66 is “NO”, the flowchart shown in FIG. 8 is started again from the beginning.
以上の処理が行われると、テストプログラムPの実行結果のうち、ユーザ記述関数が関連する実行結果(スレッド情報及びスタック情報)のみが表示される。図9は、テストプログラムPの実行結果の表示例を示す図である。図9に示す例では、テストプログラムPの実行結果がツリー形式で表示されている。つまり、ツリーの大元の部分にテストプログラムPを示す情報Q1(例えば、テストプログラムの名称やファイル名)が表示され、この情報にぶら下がる形で、デバッグ時に起動されたデバッガプロセスを示す情報Q2が表示される。 When the above processing is performed, only the execution results (thread information and stack information) related to the user-written function among the execution results of the test program P are displayed. FIG. 9 is a diagram illustrating a display example of the execution result of the test program P. In the example shown in FIG. 9, the execution result of the test program P is displayed in a tree format. That is, information Q1 indicating the test program P (for example, the name of the test program or the file name) is displayed at the main part of the tree, and information Q2 indicating the debugger process started at the time of debugging is displayed in a hanging form. Is displayed.
また、デバッガプロセスを示す情報Q2にぶら下がる形で、そのデバッガプロセスで生成された複数のスレッドを示す情報Q3が表示され、これらスレッドを示す情報Q3にぶら下がる形で、スタック情報Q4が表示される。尚、スレッドを示す情報Q3及びスタック情報Q4は、テストプログラムPに記述された関数のうちのユーザ記述関数に関連するもののみが表示され、システム関数に関連するものが表示されることはない。 Further, information Q3 indicating a plurality of threads generated by the debugger process is displayed in a form hanging from the information Q2 indicating the debugger process, and stack information Q4 is displayed in a form hanging from the information Q3 indicating these threads. Of the information Q3 and the stack information Q4 indicating the thread, only those related to the user-written function among the functions described in the test program P are displayed, and those related to the system function are not displayed.
以上の通り、本実施形態のデバッグ装置3は、デバッグ制御モジュール52から得られるプログラム中断イベントに含まれるスレッド情報にユーザ記述関数が含まれるか否かを判断し、ユーザ記述関数が含まれると判断した場合にその表示を行い、また、プログラム中断イベントに含まれるスタック情報に基づいてユーザ記述関数及びシステム関数の呼び出し状況を判断し、その判断結果からその表示を行う表示制御モジュール51aを備えている。このため、ユーザUによって記述された領域(公開領域)とユーザに対する非公開領域とがテストプログラムP内に存在していても、公開領域に記述されたユーザ記述関数の実行結果のみを表示させることができる。これにより、ユーザUの操作性及び利便性を向上させてデバッグ効率を高めることができる。
As described above, the debugging device 3 according to the present embodiment determines whether or not the user description function is included in the thread information included in the program interruption event obtained from the
以上、本発明の実施形態によるデバッグ装置について説明したが、本発明は上述した実施形態に制限されることなく、本発明の範囲内で自由に変更が可能である。例えば、上記実施形態で説明したデバッグ装置1〜3は、ハードウェアにより実現されていても良く、ソフトウェアにより実現されていても良い。ソフトウェアにより実現する場合には、デバッグ装置1〜3に設けられた各ブロックの機能を実現するプログラムをコンピュータに実行させることにより実現される。 The debug device according to the embodiment of the present invention has been described above. However, the present invention is not limited to the above-described embodiment, and can be freely changed within the scope of the present invention. For example, the debugging devices 1 to 3 described in the above embodiment may be realized by hardware or may be realized by software. When realized by software, it is realized by causing a computer to execute a program that realizes the function of each block provided in the debugging devices 1 to 3.
上記のプログラムは、ネットワークを介してダウンロードすることにより、コンピュータにインストールすることができる。或いは、例えばCD−ROM又はDVD(登録商標)−ROM等のコンピュータ読み取り可能な記録媒体に記憶されていてもよい。この記録媒体に記録されたプログラムをCD−ROMドライブ又はDVD(登録商標)−ROMドライブ等のドライブ装置を用いて読み取れば、コンピュータにインストールすることができる。 The above program can be installed on a computer by downloading it via a network. Alternatively, the program may be stored in a computer-readable recording medium such as a CD-ROM or a DVD (registered trademark) -ROM. If the program recorded on this recording medium is read using a drive device such as a CD-ROM drive or a DVD (registered trademark) -ROM drive, it can be installed in a computer.
1〜3 デバッグ装置
10 IDE
12 デバッグ制御モジュール
13 テスタブレーク制御モジュール
20 汎用デバッガ
30 テスト制御モジュール
40 IDE
41a 実行制御モジュール
42 デバッグ制御モジュール
50 IDE
51a 表示制御モジュール
52 デバッグ制御モジュール
53 ステップ実行制御モジュール
P テストプログラム
TE テスタ
1-3
12
41a
51a
Claims (6)
前記デバッグ手段及び前記試験制御手段の制御並びに前記デバッグ手段及び前記試験制御手段で得られる情報の取得が可能であって、前記試験プログラムの作成に必要な統合開発環境を提供する開発環境提供手段を備えることを特徴とするデバッグ装置。 Debug means for debugging a test program used in a semiconductor test apparatus for testing a semiconductor device, and test control means for controlling the semiconductor test apparatus according to the contents of the test program under the control of the debug means In a debugging device comprising:
Development environment providing means that can control the debugging means and the test control means, obtain information obtained by the debugging means and the test control means, and provide an integrated development environment necessary for creating the test program. A debugging device comprising:
前記試験制御手段に前記半導体試験装置の動作を中断させる制御を行うとともに、前記試験制御手段から前記半導体試験装置の動作が中断した旨を示す通知を取得した場合に前記デバッグ制御手段に前記デバッグ手段の動作を中断させる制御を行わせる中断制御手段と
を備えることを特徴とする請求項1記載のデバッグ装置。 The development environment providing unit includes a debug control unit capable of controlling the debug unit and acquiring information obtained by the debug unit;
When the test control means controls the operation of the semiconductor test apparatus to be interrupted, and when the notification indicating that the operation of the semiconductor test apparatus is interrupted is acquired from the test control means, the debug control means is provided with the debug means. The debugging apparatus according to claim 1, further comprising interruption control means for performing control for interrupting the operation of the debugging apparatus.
前記デバッグ制御手段に前記デバッグ手段の動作開始又は動作停止の制御を行わせるとともに、前記デバッグ制御手段に前記デバッグ手段の動作開始の制御を行わせた場合には前記試験制御手段に前記試験プログラムを実行させる制御を行う実行制御手段と
を備えることを特徴とする請求項1記載のデバッグ装置。 The development environment providing unit includes a debug control unit capable of controlling the debug unit and acquiring information obtained by the debug unit;
When the debug control means controls the start or stop of the operation of the debug means, and the debug control means controls the start of operation of the debug means, the test control means stores the test program. The debugging apparatus according to claim 1, further comprising execution control means for performing control to be executed.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2008243590A JP5212864B2 (en) | 2008-09-24 | 2008-09-24 | Debug device |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2008243590A JP5212864B2 (en) | 2008-09-24 | 2008-09-24 | Debug device |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2010079341A true JP2010079341A (en) | 2010-04-08 |
JP5212864B2 JP5212864B2 (en) | 2013-06-19 |
Family
ID=42209755
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2008243590A Expired - Fee Related JP5212864B2 (en) | 2008-09-24 | 2008-09-24 | Debug device |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP5212864B2 (en) |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH04177180A (en) * | 1990-11-13 | 1992-06-24 | Hitachi Ltd | Production method for memory lsi test pattern program |
JPH11295393A (en) * | 1998-04-14 | 1999-10-29 | Advantest Corp | Semiconductor test program debugging apparatus |
JP2002157143A (en) * | 2000-11-21 | 2002-05-31 | Ando Electric Co Ltd | Debug support system for integrated circuit test program |
JP2004139458A (en) * | 2002-10-18 | 2004-05-13 | Advantest Corp | Program development support device, program execution device, compiling method, and debugging method |
-
2008
- 2008-09-24 JP JP2008243590A patent/JP5212864B2/en not_active Expired - Fee Related
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH04177180A (en) * | 1990-11-13 | 1992-06-24 | Hitachi Ltd | Production method for memory lsi test pattern program |
JPH11295393A (en) * | 1998-04-14 | 1999-10-29 | Advantest Corp | Semiconductor test program debugging apparatus |
JP2002157143A (en) * | 2000-11-21 | 2002-05-31 | Ando Electric Co Ltd | Debug support system for integrated circuit test program |
JP2004139458A (en) * | 2002-10-18 | 2004-05-13 | Advantest Corp | Program development support device, program execution device, compiling method, and debugging method |
Also Published As
Publication number | Publication date |
---|---|
JP5212864B2 (en) | 2013-06-19 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP4901075B2 (en) | Computer-readable medium, method and computing device | |
JP4828271B2 (en) | Software generation apparatus for multiple OS versions and software generation support program for multiple OS versions | |
US20070074168A1 (en) | Automated step type determination | |
KR101008977B1 (en) | Method of testing OSGi service platform and test tool thereof | |
US8640105B2 (en) | Method and system for debugging a job running on a legacy system | |
JP2005011342A (en) | Debug of break point in pluggable component | |
US20050132338A1 (en) | Altering execution flow of a computer program | |
JP2000132424A (en) | Software instrumentation method | |
US8656361B2 (en) | Debugging code visually on a canvas | |
US8701094B2 (en) | Event management in a non-stop debugging environment | |
JP2000122886A (en) | Program production system of semiconductor testing device | |
US20040168157A1 (en) | System and method for creating a process invocation tree | |
CN105446886A (en) | Computer program debugging method and device | |
JP5212864B2 (en) | Debug device | |
KR20100073180A (en) | Visual debugging apparatus and method thereof | |
CN114398290B (en) | Program debugging method, device, equipment and medium | |
JP4941674B2 (en) | Simulation system | |
CN112579460B (en) | Multi-level debugging method based on multi-core embedded system | |
JPH05265802A (en) | Software debugging device | |
JP2012133775A (en) | Debugging method and remote debugging method for task script | |
CN114253840A (en) | Multithreading breakpoint debugging method and system in ATE (automatic test equipment) | |
JP4962226B2 (en) | Development support system, development support device, development support method, and development support program | |
CN110506242B (en) | Program development support device, system, method and recording medium | |
JP2004139313A (en) | Source code display system and program | |
JP5071072B2 (en) | Development support equipment and semiconductor test equipment |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20110311 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20120808 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20120828 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20121004 |
|
A711 | Notification of change in applicant |
Free format text: JAPANESE INTERMEDIATE CODE: A711 Effective date: 20121031 |
|
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: 20130205 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20130215 |
|
R150 | Certificate of patent or registration of utility model |
Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20160308 Year of fee payment: 3 |
|
LAPS | Cancellation because of no payment of annual fees |