JP2010079341A - Debugging device - Google Patents

Debugging device Download PDF

Info

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
Application number
JP2008243590A
Other languages
Japanese (ja)
Other versions
JP5212864B2 (en
Inventor
Teru Watanabe
渡辺  輝
Hirotoshi Kamiya
洋利 神谷
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.)
Yokogawa Electric Corp
Original Assignee
Yokogawa Electric Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Yokogawa Electric Corp filed Critical Yokogawa Electric Corp
Priority to JP2008243590A priority Critical patent/JP5212864B2/en
Publication of JP2010079341A publication Critical patent/JP2010079341A/en
Application granted granted Critical
Publication of JP5212864B2 publication Critical patent/JP5212864B2/en
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Debugging And Monitoring (AREA)
  • Test And Diagnosis Of Digital Computers (AREA)

Abstract

<P>PROBLEM TO BE SOLVED: To provide a debugging device that increases the efficiency of debugging, by improving the ease of operation and convenience for a user. <P>SOLUTION: The debugging device 1 includes: a general-purpose debugger 20 for debugging a test program P to be used for a tester TE for testing a semiconductor device; a test control module 30 for controlling a tester TE in accordance with the content of the test program P under the control of a general-purpose debugger 20; and an IDE (Integrated Development Environment) 10 for controlling the general-purpose debugger 20 and the test control module 30, and for acquiring information to be obtained by the general-purpose debugger 20 and the test control module 30, and for providing an integrated development environment necessary for the creation of the test program P. <P>COPYRIGHT: (C)2010,JPO&INPIT

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 conventional debugging apparatus 100 includes a general-purpose IDE (Integrated Development Environment) 110, a general-purpose debugger 120, a test control module 130, and terminal software 140, and a tester (semiconductor test apparatus). The test program (test program) P100 used in the tester 200 is debugged.

汎用IDE110は、デバッグ操作ツール111及びデバッグ制御モジュール112を備えており、デバッグ対象であるテストプログラムP100に対するエディタ及びコンパイラ(図示省略)並びに汎用デバッガ120等のテストプログラムP100の作成に必要なツールを1つのインターフェイスで統合して扱うことのできる環境を提供する。デバッグ操作ツール111は、デバッグ制御モジュール112との間でイベント制御を行うことにより、ユーザUの指示に応じたデバッグ機能(ブレークポイント機能、ステップ実行機能、及びトレース機能等)を制御する。   The general-purpose IDE 110 includes a debug operation tool 111 and a debug control module 112, and includes an editor and a compiler (not shown) for the test program P100 to be debugged, and a tool necessary for creating the test program P100 such as the general-purpose debugger 120. Provides an environment that can be integrated and handled by two interfaces. The debug operation tool 111 controls a debug function (break point function, step execution function, trace function, etc.) according to an instruction from the user U by performing event control with the debug control module 112.

デバッグ制御モジュール112は、テストプログラムP100の実行プロセスを生成し、テストプログラムP100と汎用デバッガ120との関連付けを行う。また、ユーザUの指示に応じたデバッグ機能を実現するコマンドを生成して汎用デバッガ120に出力することにより、ユーザUの指示に応じたデバッグ機能を実現する。更に、汎用デバッガ120から得られる各種情報をイベントとしてデバッグ操作ツール111に通知する。   The debug control module 112 generates an execution process of the test program P100 and associates the test program P100 with the general-purpose debugger 120. In addition, a debug function corresponding to the instruction of the user U is realized by generating a command for realizing a debug function corresponding to the instruction of the user U and outputting the command to the general-purpose debugger 120. Further, various information obtained from the general-purpose debugger 120 is notified to the debug operation tool 111 as events.

汎用デバッガ120は、デバッグ制御モジュール112の制御の下で、C言語等の汎用プログラミング言語で記述されたプログラムのデバッグを行うものであり、テストプログラムP100が汎用プログラミング言語の文法に則して記述されている場合には、そのデバッグを行うことも可能である。テスト制御モジュール130は、テスタ200でテストプログラムP100を実行させる上で必要となるテスト制御ライブラリL100を備えており、このテスト制御ライブラリL100を用いて、テストプログラムP100に基づいてテスタ200で行われるテスト(試験)の制御を行う。   The general-purpose debugger 120 debugs a program written in a general-purpose programming language such as C language under the control of the debug control module 112, and the test program P100 is described according to the grammar of the general-purpose programming language. If so, you can debug it. The test control module 130 includes a test control library L100 necessary for causing the tester 200 to execute the test program P100, and a test performed by the tester 200 based on the test program P100 using the test control library L100. (Test) is controlled.

端末ソフト140は、テスト制御モジュール130に対してユーザUの指示を直接入力するものである。例えば、テスタ200に特有の命令であって、汎用IDE110で扱うことのできない特殊命令(例えば、テスタ200の動作中断(テスタブレーク)を指示する命令)をテスト制御モジュール130に入力する。或いは、テストプログラムP100の特殊な実行制御(例えば、テストプログラムP100を実行させるためのスレッドを別途生成してテストプログラムP100の実行を開始させる制御)を行うために、テストプログラムP100の実行指示をテスト制御モジュール130に入力する。   The terminal software 140 is for directly inputting a user U instruction to the test control module 130. For example, a special instruction that is unique to the tester 200 and cannot be handled by the general-purpose IDE 110 (for example, an instruction that instructs to interrupt the operation of the tester 200 (tester break)) is input to the test control module 130. Alternatively, in order to perform special execution control of the test program P100 (for example, control for separately generating a thread for executing the test program P100 and starting execution of the test program P100), the execution instruction of the test program P100 is tested. Input to the control module 130.

次に、上記構成における従来のデバッグ装置100の動作について説明する。デバッグ装置100の動作は、(1)通常のデバッグ時の動作、(2)テスタブレークを行う場合の動作、(3)テストプログラムP100の特殊な実行制御を行う場合の動作、に大別される。以下、これらについて順に説明する。   Next, the operation of the conventional debugging device 100 having the above configuration will be described. The operation of the debugging device 100 is roughly divided into (1) normal debugging operation, (2) operation for performing a tester break, and (3) operation for performing special execution control of the test program P100. . Hereinafter, these will be described in order.

(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 debug control module 112 that debugging of the test program P100 according to the user U instruction is started. With this notification, the debug control module 112 generates an execution process of the test program P100, associates the test program P100 with the general-purpose debugger 120, and makes the debug of the test program P100 controllable from the general-purpose debugger 120.

以上の処理が終了すると、デバッグ制御モジュール112は汎用デバッガ120に対してコマンドを出力してテストプログラムP100の実行を開始させる。すると、デバッグ制御モジュール112からデバッグ操作ツール111に対し、テストプログラムP100の実行開始を示すプログラム開始イベントが通知され、デバッグ操作ツール111の表示はテストプログラムP100が実行されている状態である旨を示す表示に更新される。ここで、ユーザUがブレークポイント機能、ステップ実行機能、又はトレース機能等を指示した上でデバッグ開始指示を行うことにより、ユーザUの指示に応じたデバッグ機能を実現することができる。   When the above processing is completed, the debug control module 112 outputs a command to the general-purpose debugger 120 to start execution of the test program P100. Then, a program start event indicating the start of execution of the test program P100 is notified from the debug control module 112 to the debug operation tool 111, and the display of the debug operation tool 111 indicates that the test program P100 is being executed. Updated to display. Here, the debug function according to the instruction | indication of the user U is realizable by performing the debug start instruction | indication after the user U instruct | indicates a breakpoint function, a step execution function, or a trace function.

尚、テストプログラムP100の実行が終了すると、汎用デバッガ120がデバッグ制御モジュール112によってなされたテストプログラムP100と汎用デバッガ120との関連付けを自動的に解除し、デバッグ制御モジュール112に対してテストプログラムP100の実行終了を通知する。すると、デバッグ制御モジュール112はデバッグ操作ツール111に対してプログラム終了イベントを通知し、これによりデバッグ操作ツール111の表示はテストプログラムP100が実行が終了した状態である旨を示す表示に更新される。   When the execution of the test program P100 is finished, the general-purpose debugger 120 automatically releases the association between the test program P100 and the general-purpose debugger 120 made by the debug control module 112, and the test program P100 is instructed to the debug control module 112. Notify the end of execution. Then, the debug control module 112 notifies the debug operation tool 111 of the program end event, and thereby the display of the debug operation tool 111 is updated to a display indicating that the execution of the test program P100 is completed.

(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 tester 200, the user U inputs a special instruction for performing the tester break using the terminal software 140 in addition to the general-purpose IDE 110. To do. When this special command is input, the test control module 130 interrupts the operation of the tester 200 and waits until a command indicating resumption of the operation is input. If the user U operates the terminal software 140 in such a waiting state, the state of the tester 200 in which the operation is interrupted can be obtained. Moreover, if the user U inputs a predetermined command using the terminal software 140, the operation of the interrupted tester 200 can be resumed.

(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-purpose IDE 110. Next, the user U instructs the debug operation tool 111 to register (attach) the test program P100 in the execution state under the control of the general-purpose debugger 120. Note that the test program P100 is temporarily stopped by such registration. When the test program P100 is in a suspended state, the user U inputs an execution instruction for the test program P100 to the test control module 130, so that the execution of the test program P100 is resumed.

尚、テストプログラム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-purpose debugger 120. However, even when the execution of the test program P100 is completed, the test program P100 is not released and remains registered under the control of the general-purpose debugger 120. For this reason, the user U uses the terminal software 140 to confirm the end of the execution of the test program P100. When the end of the execution of the test program P100 is confirmed, the user U instructs the debug operation tool 111 to complete the test. The program P100 is released from the management of the general-purpose debugger 120.

尚、半導体試験装置で用いられる試験プログラムのデバッグを行う従来のデバッグ装置の詳細については、例えば以下の非特許文献1を参照されたい。
石川淳也,他8名,「開発のプロが教える標準Eclipse3.1完全解説−インストールからリッチクライアント開発まで」,株式会社アスキー,2005年12月16日,第5章
For details of a conventional debugging apparatus that debugs a test program used in a semiconductor testing apparatus, see, for example, Non-Patent Document 1 below.
Shinya Ishikawa, 8 others, "Standard Eclipse 3.1 taught by development professionals-from installation to rich client development", ASCII Corporation, December 16, 2005, Chapter 5

ところで、上述した通り、従来のデバッグ装置では、テスタブレークを実施する命令のような特殊命令を汎用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 terminal software 140 to give a special instruction to the test control module 130. Enter directly. If the special instruction can be handled by the general-purpose IDE 110, the operation of the tester 200 can be interrupted by the same operation as when the user U interrupts the execution of the test program P100 by the breakpoint function using the general-purpose IDE 110. Therefore, it is considered that the operability and convenience are improved by saving the user U, and as a result, the debugging efficiency can be improved.

また、テストプログラム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 terminal software 140. In addition, the terminal software 140 must be operated at the start and end of execution of the test program P100, which is extremely complicated. If the execution start and execution end of the test program P100 described above can be controlled from the general-purpose IDE 110, it is considered that complicated operations are not required and operability and convenience are improved, and as a result, debugging efficiency is also improved.

ここで、テストプログラム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 tester 200, and only a small portion is created by the user U. When debugging the test program P100, the execution result of the part created by the user U is important for the user U, and the execution result of the part provided by the manufacturer of the tester 200 is not so important for the user U. Absent. Therefore, only the execution result of the part created by the user U is displayed even when the test break by the special instruction and the control of the start and end of execution of the test program P100 are realized from the general-purpose IDE 110. Is desirable. This is because only the information necessary for the user U is displayed and unnecessary information is not displayed, so that the user U can easily grasp the execution result, thereby improving the debugging efficiency. It is.

本発明は上記事情に鑑みてなされたものであり、ユーザの操作性及び利便性を向上させてデバッグ効率を高めることができるデバッグ装置を提供することを目的とする。   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 IDE 10.

IDE10は、デバッグ操作ツール11、デバッグ制御モジュール12(デバッグ制御手段)、及びテスタブレーク制御モジュール13(中断制御手段)を備えており、テスト制御モジュール30及び汎用デバッガ20の制御が可能であるとともに、これらテスト制御モジュール30及び汎用デバッガ20で得られる各種情報の取得が可能である。また、IDE10は、デバッグ対象であるテストプログラムPに対するエディタ及びコンパイラ(図示省略)並びに汎用デバッガ20等のテストプログラムPの作成に必要なツールを1つのインターフェイスで統合して扱うことのできる環境(統合開発環境)を提供する。   The IDE 10 includes a debug operation tool 11, a debug control module 12 (debug control means), and a tester break control module 13 (interrupt control means). The IDE 10 can control the test control module 30 and the general-purpose debugger 20. Various kinds of information obtained by the test control module 30 and the general-purpose debugger 20 can be acquired. The IDE 10 is an environment (integrated) that can handle an editor, a compiler (not shown) for the test program P to be debugged, and tools necessary for creating the test program P such as the general-purpose debugger 20 through a single interface. Development environment).

尚、IDE10は、C言語等のC++言語等の汎用プログラミング言語で記述されたプログラムの開発に用いられる汎用IDEに対して、テスタTEの制御を行う上で必要となるテスタブレーク制御モジュール13の追加等を行ったものである。汎用IDEを用いなくともIDE10を作成することは可能であるが、既存の汎用IDEに対して新たな機能(テスタブレーク制御モジュール13)を追加し、この機能追加に伴う汎用IDEの改変を行えばIDE10を作成することができるため、汎用IDEを用いずにIDE10を作成する場合に比べてデバッグ装置1の作成コストを低減することができる。   The IDE 10 adds a tester break control module 13 necessary for controlling the tester TE with respect to the general-purpose IDE used for developing a program written in a general-purpose programming language such as C ++ such as C language. Etc. Although it is possible to create IDE 10 without using general-purpose IDE, if a new function (tester break control module 13) is added to the existing general-purpose IDE and the general-purpose IDE is modified along with this function addition, Since the IDE 10 can be created, the creation cost of the debug device 1 can be reduced as compared with the case where the IDE 10 is created without using the general-purpose IDE.

デバッグ操作ツール11は、デバッグ制御モジュール12との間でイベント制御を行うことにより、ユーザUの指示に応じたデバッグ機能を制御する。ここで、ユーザUの指示に応じたデバッグ機能としては、ブレークポイント機能、ステップ実行機能、及びトレース機能等が挙げられる。ブレークポイント機能とは、テストプログラムPの実行をテストプログラムPの特定の位置で中断させる機能である。ステップ実行機能とは、テストプログラムPの実行をユーザUの指示に応じてテストプログラムPの行毎に順次実行させる機能である。トレース機能とは、テストプログラムPの実行中に用いられる各種変数の内容や状態を参照する機能である。   The debug operation tool 11 controls the debug function according to the instruction of the user U by performing event control with the debug control module 12. Here, examples of the debugging function according to the instruction from the user U include a breakpoint function, a step execution function, and a trace function. The breakpoint function is a function that interrupts execution of the test program P at a specific position of the test program P. The step execution function is a function for sequentially executing the test program P for each line of the test program P in accordance with an instruction from the user U. The trace function is a function for referring to the contents and states of various variables used during the execution of the test program P.

デバッグ制御モジュール12は、テストプログラムPの実行プロセスを生成し、テストプログラムPと汎用デバッガ20との関連付けを行う。また、ユーザUの指示に応じたデバッグ機能を実現するコマンドを生成して汎用デバッガ20に出力することにより、ユーザUの指示に応じたデバッグ機能を実現する。更に、汎用デバッガ20から得られる各種情報をイベントとしてデバッグ操作ツール11に通知する。   The debug control module 12 generates an execution process of the test program P and associates the test program P with the general-purpose debugger 20. In addition, a debug function corresponding to the instruction of the user U is realized by generating a command that realizes a debug function corresponding to the instruction of the user U and outputting the command to the general-purpose debugger 20. Furthermore, various information obtained from the general-purpose debugger 20 is notified to the debug operation tool 11 as events.

また、デバッグ制御モジュール12は、デバッグ操作ツール11との間で行われるイベント制御に応じたデバッグイベントをテスタブレーク制御モジュール13に対して発行する。更に、テスタブレーク制御モジュール13から出力されるテストプログラムPの一時中断指示に基づいて、汎用デバッガ20にテストプログラムPの実行を中断させる。尚、テストプログラムPの実行を中断させた場合には、汎用デバッガ20から得られる各種情報をIDEブレークイベントとしてテスタブレーク制御モジュール13に通知する。   The debug control module 12 issues a debug event corresponding to the event control performed with the debug operation tool 11 to the tester break control module 13. Furthermore, based on the instruction to temporarily stop the test program P output from the tester break control module 13, the general-purpose debugger 20 interrupts the execution of the test program P. When the execution of the test program P is interrupted, various information obtained from the general-purpose debugger 20 is notified to the tester break control module 13 as an IDE break event.

テスタブレーク制御モジュール13は、デバッグ制御モジュール12から発行されるデバッグイベントがテスタTEの動作中断(テスタブレーク)に関するイベントである場合には、テスト制御モジュール30に対してテスタブレークを実施するための制御(設定)を行う。また、テスト制御モジュール30からテスタTEの動作が中断した旨を示すテスタブレークイベントを取得した場合には、汎用デバッガ20の動作を中断させてテストプログラムPの実行を一時的に中断させる指示(テストプログラムPの一時中断指示)をデバッグ制御モジュール12に出力する。尚、テスタブレーク制御モジュール13は、上記のテスタブレークイベントを取得した場合には、動作モードをテスタブレーク制御モードに移行してテスタブレーク制御に係る各種制御を行う。   The tester break control module 13 controls the test control module 30 to execute a tester break when the debug event issued from the debug control module 12 is an event related to the operation interruption (tester break) of the tester TE. (Set). Further, when a tester break event indicating that the operation of the tester TE is interrupted is obtained from the test control module 30, an instruction to interrupt the operation of the general-purpose debugger 20 and temporarily interrupt the execution of the test program P (test The program P temporary suspension instruction) is output to the debug control module 12. Note that when the tester break control module 13 acquires the tester break event, the tester break control module 13 shifts the operation mode to the tester break control mode and performs various controls related to the tester break control.

ここで、テスタブレーク制御モジュール13がテスタブレークイベントを取得した場合にテストプログラムPの実行を中断させるのは、汎用デバッガ20からブレーク情報(テストプログラムPのファイル名や中断した行を示す情報)を得るためである。つまり、テスタTEの動作が中断されてもテストプログラムPは見かけ上実行が中断された状態にあって実際には実行が中断されていない。テストプログラムPの実行が実際に中断されれば汎用デバッガ20からブレーク情報(テストプログラムPのファイル名や中断した行を示す情報)を得ることができるが、実行が中断されていないとデバッグ情報を取得することができない。そこで、テスタブレークイベントを取得した場合にテストプログラムPの実行を中断させて、汎用デバッガ20からブレーク情報の取得を可能としている。   Here, when the tester break control module 13 acquires a tester break event, the execution of the test program P is interrupted by receiving break information (information indicating the file name of the test program P or the interrupted line) from the general-purpose debugger 20. To get. That is, even if the operation of the tester TE is interrupted, the test program P is apparently interrupted and is not actually interrupted. If execution of the test program P is actually interrupted, break information (information indicating the file name of the test program P and the interrupted line) can be obtained from the general-purpose debugger 20, but if execution is not interrupted, debug information is obtained. I can't get it. Therefore, when a tester break event is acquired, execution of the test program P is interrupted, and break information can be acquired from the general-purpose debugger 20.

汎用デバッガ20は、デバッグ制御モジュール12の制御の下で、C言語等の汎用プログラミング言語で記述されたプログラムのデバッグを行うものであり、テストプログラムPが汎用プログラミング言語の文法に則して記述されている場合には、そのデバッグを行うことも可能である。テスト制御モジュール30は、テスタTEでテストプログラムPを実行させる上で必要となるテスト制御ライブラリLを備えており、汎用デバッガ20の制御の下でテスト制御ライブラリLを用いてテストプログラムPの内容に応じたテスタTEに対する制御を行う。このテスト制御ライブラリLは、テスタブレークが実施されてテスタTEの動作が中断した場合には、テスタブレーク制御モジュール13に対してテスタTEの動作が中断した旨を示すテスタブレークイベントを出力する。   The general-purpose debugger 20 debugs a program written in a general-purpose programming language such as C language under the control of the debug control module 12, and the test program P is described in accordance with the grammar of the general-purpose programming language. If so, you can debug it. The test control module 30 includes a test control library L necessary for executing the test program P by the tester TE. The test control module 30 uses the test control library L under the control of the general-purpose debugger 20 to change the contents of the test program P. The corresponding tester TE is controlled. When the tester break is executed and the operation of the tester TE is interrupted, the test control library L outputs a tester break event indicating that the operation of the tester TE is interrupted to the tester break control module 13.

尚、テスタ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 test control module 30. This tester TE may be any tester such as a memory tester for testing a semiconductor memory, a logic tester for testing a semiconductor logic circuit, and a tribat tester for testing a driver for an LCD (Liquid Crystal Display). .

次に、上記構成におけるデバッグ装置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 debug operation tool 11 to start debugging the test program P, the contents of the test program P are displayed, and the flowchart shown in FIG. 2 is repeatedly executed.

テストプログラムPが表示された状態で、ユーザUはデバッグ操作ツール11を操作して、テストプログラムPの編集、従来から用いられているブレークポイントの設定、又はテスタブレークについてのブレークポイント(テスタブレークポイント)の設定等を行う。かかる操作が行われると、デバッグ制御モジュール12からテスタブレーク制御モジュール13及び汎用デバッガ20に対して、その操作に応じたデバッグイベント発行される。   In a state where the test program P is displayed, the user U operates the debug operation tool 11 to edit the test program P, set a breakpoint conventionally used, or a breakpoint for a tester break (tester breakpoint). ). When such an operation is performed, a debug event corresponding to the operation is issued from the debug control module 12 to the tester break control module 13 and the general-purpose debugger 20.

デバッグ制御モジュール12からデバッグイベントが発行されると、テスタブレーク制御モジュール13において、そのデバッグイベントがユーザUによってブレークポイントの設定がされた場合に発行されるイベント(ブレークポイント設定イベント)であるが否かが判断される(ステップS11)。この判断結果が「NO」の場合には図2に示すフローチャートが再度最初から開始される。   When a debug event is issued from the debug control module 12, the tester break control module 13 determines whether the debug event is an event (breakpoint setting event) issued when a breakpoint is set by the user U. Is determined (step S11). When this determination is “NO”, the flowchart shown in FIG. 2 is started again from the beginning.

これに対し、ステップ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 break control module 13 analyzes the breakpoint setting event, and the breakpoint setting event is analyzed. Is determined to be caused by setting a tester breakpoint (step S12). When this determination is “NO”, the flowchart shown in FIG. 2 is started again from the beginning.

他方、ステップS12の判断結果が「YES」の場合には、テスタブレーク制御モジュール13によって、テスト制御モジュール30に対するテスタブレークポイントの設定が行われる(ステップS13)。このテスタブレークポイントの設定は、ブレークポイント設定イベントに含まれる設定情報に基づいて行われる。テスタブレークポイント設定が終了すると図2に示すフローチャートが再度最初から開始される。   On the other hand, if the determination result in step S12 is “YES”, the tester break control module 13 sets a tester breakpoint for the test control module 30 (step S13). The tester breakpoint is set based on setting information included in the breakpoint setting event. When the tester breakpoint setting is completed, the flowchart shown in FIG. 2 is started again from the beginning.

ここで、テスタブレークポイントはユーザ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 test control module 30 is performed in step S13. By repeating the above operation, a tester breakpoint is set for the test control module 30 using the IDE 10.

以上の操作を終えて、ユーザUがデバッグ操作ツール11に対して、テストプログラムPの実行の指示を行うと、デバッグ制御モジュール12がテストプログラムPの実行プロセスを生成し、テストプログラムPと汎用デバッガ20との関連付けを行って、汎用デバッガ20からテストプログラムPのデバッグを制御可能な状態にしてテストプログラムPの実行を開始させる。また、上記のユーザUによるテストプログラムの実行指示により、図3に示すフローチャートが繰り返し実行される。   After the above operation, when the user U instructs the debug operation tool 11 to execute the test program P, the debug control module 12 generates an execution process of the test program P, and the test program P and the general-purpose debugger. 20, the debugging of the test program P is made controllable from the general-purpose debugger 20 and the execution of the test program P is started. Further, the flowchart shown in FIG. 3 is repeatedly executed according to an instruction to execute the test program by the user U.

図3に示すフローチャートが開始されると、まずテスト制御モジュール30からテスタTEの動作が中断した旨を示すテスタブレークイベントを受信したか否かがテスタブレーク制御モジュール13によって判断される(ステップS21)。この判断結果が「YES」の場合には、テスタブレーク制御モジュール13の動作モードがテスタブレーク制御モードに移行する(ステップS22)。   When the flowchart shown in FIG. 3 is started, first, the tester break control module 13 determines whether or not a tester break event indicating that the operation of the tester TE is interrupted has been received from the test control module 30 (step S21). . If the determination result is “YES”, the operation mode of the tester break control module 13 shifts to the tester break control mode (step S22).

以上の移行処理が行われると、テスタブレーク制御モジュール13からデバッグ制御モジュール12に対して、テストプログラムPの一時中断指示が出力される。デバッグ制御モジュール12は、テスタブレーク制御モジュール13からの一時中断指示を一時中断コマンドに変換して汎用デバッガ20に出力し、テストプログラムPの実行を中断させる(ステップS23)。この中断処理によってテストプログラムPの実行が中断した位置がテスタブレークのブレーク地点となる。尚、以上の中断処理を行うと、デバッグ制御モジュール12でテストプログラムPの実行が中断された旨を示すIDE一時中断イベントが発行される。以上の処理が終了すると、図3に示すフローチャートが再度最初から開始される。   When the above transition processing is performed, the tester break control module 13 outputs a temporary suspension instruction for the test program P to the debug control module 12. The debug control module 12 converts the temporary interruption instruction from the tester break control module 13 into a temporary interruption command, outputs it to the general-purpose debugger 20, and interrupts the execution of the test program P (step S23). The position at which execution of the test program P is interrupted by this interruption processing becomes the break point of the tester break. When the above interruption processing is performed, an IDE temporary interruption event indicating that execution of the test program P is interrupted by the debug control module 12 is issued. When the above process ends, the flowchart shown in FIG. 3 starts again from the beginning.

他方、ステップ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 break control module 13 determines whether or not the IDE temporary interruption event issued by the debug control module 12 has been received (step S24). If the determination result is “YES”, it is determined whether or not the operation mode of the tester break control module 13 is the tester break control mode (step S25). When the determination result is “NO”, the flowchart shown in FIG. 3 is started again from the beginning.

これに対し、ステップ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 break control module 13 acquires break information from the IDE temporary interruption event and creates an IDE break event (step S26). When the IDE break event is created, the tester break control module 13 instructs the debug control module 12 to issue the IDE break event (step S27). As a result, an IDE break event is notified to an editor (not shown), a compiler, and the like provided in the IDE 10, and break information is displayed. When the above process ends, the flowchart shown in FIG. 3 starts again from the beginning.

他方、ステップ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 break control module 13 determines whether an IDE break event issued by the debug control module 12 has been received (step S28). When the determination result is “NO”, the flowchart shown in FIG. 3 is started again from the beginning. On the other hand, if the determination result in step S28 is “YES”, it is determined whether or not the operation mode of the tester break control module 13 is the tester break control mode (step S29). When the determination result is “NO”, the flowchart shown in FIG. 3 is started again from the beginning.

これに対し、ステップS29の判断結果が「YES」の場合には、テスタブレーク制御モジュール13からテスト制御モジュール30に、テスタブレーク制御が完了した旨が通知され(ステップS30)。かかる通知がなされると、テスタブレーク制御モジュール13のテスタブレーク制御モードが解除される(ステップS31)。以上説明した一連の処理によってテスタブレーク制御が実施される。   On the other hand, if the determination result in step S29 is “YES”, the tester break control module 13 notifies the test control module 30 that the tester break control has been completed (step S30). When such notification is made, the tester break control mode of the tester break control module 13 is canceled (step S31). Tester break control is performed by the series of processes described above.

以上の通り、本実施形態のデバッグ装置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 test control module 30 and the general-purpose debugger 20, and can acquire various types of information obtained by the test control module 30 and the general-purpose debugger 20. It has. Therefore, the user U can set the tester breakpoint for the test control module 30 by operating the debugging operation tool 11 of the IDE 10. Further, since the tester break control module 13 that interrupts the operation of the general-purpose debugger 20 and interrupts the execution of the test program P when the tester break event is acquired from the test control module 30 is provided in the IDE 10, the test program P It is also possible to obtain break information when execution of is interrupted. Thereby, the operativity and convenience of the user U can be improved and debugging efficiency can be improved.

〔第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 debugging device 2 of the present embodiment has a configuration in which an IDE 40 is provided instead of the IDE 10 included in the debugging device 1 shown in FIG. 1, and is connected to the tester TE and used in the tester TE Debug P. The debug device 2 realizes special execution control of the test program P while the user U is operating the IDE 40.

IDE40は、デバッグ操作ツール41及びデバッグ制御モジュール42(デバッグ制御手段)を備えており、テスト制御モジュール30及び汎用デバッガ20の制御が可能であるとともに、これらテスト制御モジュール30及び汎用デバッガ20で得られる各種情報の取得が可能である。このIDE40は、図1に示すIDE10と同様の統合開発環境を提供するものであり、汎用IDEを用いて作成することができる。   The IDE 40 includes a debug operation tool 41 and a debug control module 42 (debug control means). The IDE 40 can control the test control module 30 and the general-purpose debugger 20, and is obtained by the test control module 30 and the general-purpose debugger 20. Various information can be acquired. The IDE 40 provides an integrated development environment similar to the IDE 10 shown in FIG. 1, and can be created using a general-purpose IDE.

デバッグ操作ツール41は、図1に示すデバッグ操作ツール11と同様に、デバッグ制御モジュール42との間でイベント制御を行うことにより、ユーザUの指示に応じたデバッグ機能を制御する。このデバッグ操作ツール41は、デバッグ制御モジュール42に汎用デバッガ20の動作開始又は動作停止の制御を行わせる実行制御モジュール41a(実行制御手段)を備える。   Similar to the debug operation tool 11 shown in FIG. 1, the debug operation tool 41 performs event control with the debug control module 42 to control a debug function according to an instruction from the user U. The debug operation tool 41 includes an execution control module 41a (execution control means) that controls the debug control module 42 to start or stop the operation of the general-purpose debugger 20.

ここで、実行制御モジュール41aは、デバッグ制御モジュール42に汎用デバッガ20の動作開始の制御を行わせた場合には、テスト制御モジュール30に対してテストプログラムPを実行させる制御を行う。これは、実行状態にあるテストプログラムPを汎用デバッガ20の管理下に登録(アタッチ)するとテストプログラムPは命令待ち状態になって停止し、汎用デバッガ20の動作を開始させただけではテストプログラムPの実行が開始されないからである。   Here, the execution control module 41 a controls the test control module 30 to execute the test program P when the debug control module 42 controls the start of the operation of the general-purpose debugger 20. This is because when the test program P in the execution state is registered (attached) under the control of the general-purpose debugger 20, the test program P stops in an instruction-waiting state, and the test program P is simply started by starting the operation of the general-purpose debugger 20. This is because the execution of is not started.

デバッグ制御モジュール42は、図1に示すデバッグ制御モジュール12と同様に、テストプログラムPの実行プロセスを生成し、テストプログラムPと汎用デバッガ20との関連付けを行う。また、ユーザUの指示に応じたデバッグ機能を実現するコマンドを生成して汎用デバッガ20に出力することにより、ユーザUの指示に応じたデバッグ機能を実現する。更に、汎用デバッガ20から得られる各種情報をイベントとしてデバッグ操作ツール41に通知する。   Similar to the debug control module 12 shown in FIG. 1, the debug control module 42 generates an execution process of the test program P and associates the test program P with the general-purpose debugger 20. In addition, a debug function corresponding to the instruction of the user U is realized by generating a command that realizes a debug function corresponding to the instruction of the user U and outputting the command to the general-purpose debugger 20. Furthermore, various information obtained from the general-purpose debugger 20 is notified to the debug operation tool 41 as events.

次に、上記構成におけるデバッグ装置2の動作について説明する。図5は、本発明の第2実施形態によるデバッグ装置の動作を示すフローチャートである。まず、ユーザUの操作によって予めテストプログラムPが実行されている状態にあるものとする。かかる状態において、ユーザUがデバッグ操作ツール41に対して、テストプログラムPのデバッグの指示を行うと、図5に示すフローチャートが開始される。   Next, the operation of the debugging device 2 having the above configuration will be described. FIG. 5 is a flowchart showing the operation of the debugging apparatus according to the second embodiment of the present invention. First, it is assumed that the test program P is being executed in advance by the operation of the user U. In this state, when the user U instructs the debug operation tool 41 to debug the test program P, the flowchart shown in FIG. 5 is started.

テストプログラム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 execution control module 41a provided in the debug operation tool 41 instructs the debug control module 42 to attach the test program P (step S41). By this attach instruction, the attach command of the test program P is output from the debug control module 42 to the general-purpose debugger 20, and thereby the test program P in the execution state is registered (attached) under the control of the general-purpose debugger 20 ( Step S42). When the test program P is attached, the test program P is in a command waiting state and stopped, and the general-purpose debugger 20 is temporarily stopped.

次に、汎用デバッガ20が一時停止状態であるため、実行制御モジュール41aからデバッグ制御モジュール42に対して汎用デバッガ20の再開が指示される(ステップS43)。この再開指示によって、デバッグ制御モジュール42から汎用デバッガ20に対して再開コマンドが出力され、これにより汎用デバッガ20の動作が再開される(ステップS44)。   Next, since the general-purpose debugger 20 is in a paused state, the execution control module 41a instructs the debug control module 42 to resume the general-purpose debugger 20 (step S43). In response to the restart instruction, a restart command is output from the debug control module 42 to the general-purpose debugger 20, thereby restarting the operation of the general-purpose debugger 20 (step S44).

以上の処理によって汎用デバッガ20は再開されたものの、テストプログラムPは命令待ち状態になって停止している。このため、実行制御モジュール41aからテスト制御モジュール30に対してテストプログラムPの実行開始が指示される(ステップS45)。この実行開始指示がなされると、テスト制御モジュール30は命令待ち状態になって停止しているテストプログラムPの実行が開始され、汎用デバッガ20によるテストプログラムPのデバッグが行われる。   Although the general-purpose debugger 20 has been restarted by the above processing, the test program P is in an instruction waiting state and stopped. Therefore, the execution control module 41a instructs the test control module 30 to start execution of the test program P (step S45). When this execution start instruction is given, the test control module 30 starts execution of the test program P that has been stopped in an instruction waiting state, and the general purpose debugger 20 debugs the test program P.

テストプログラム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 test control module 30 and received by the execution control module 41a (step S46). Next, the execution control module 41a determines whether or not the received tester event is a test program end event issued at the end of execution of the test program P (step S47). When it is determined that the event is not a test program end event (when the determination result is “NO”), reception of a tester event notified from the test control module 30 (step S46) is repeated.

これに対し、テストプログラム終了イベントであると判断された場合(判断結果が「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 execution control module 41 a instructs the debug control module 42 to detach the test program P ( Step S48). In response to this detach instruction, a detach command for the test program P is output from the debug control module 42 to the general-purpose debugger 20, and the test program P is released (detached) from the control of the general-purpose debugger 20 (step S49). When the test program P is detached, the execution control module 41a finishes debugging on the IDE 40.

以上の通り、本実施形態のデバッグ装置2は、テスト制御モジュール30及び汎用デバッガ20の制御が可能であるとともに、これらテスト制御モジュール30及び汎用デバッガ20で得られる各種情報の取得が可能であるIDE40を備えている。このIDE40には、汎用デバッガ20の動作開始又は動作停止をデバッグ制御モジュール42に制御させるとともにテストプログラムPをテスト制御モジュール30実行させる実行制御モジュール41aが設けられている。このため、ユーザUが煩雑な操作を行わなくともテストプログラムPの特殊な実行制御が自動的に行われ、ユーザUの操作性及び利便性を向上させてデバッグ効率を高めることができる。   As described above, the debug device 2 according to the present embodiment can control the test control module 30 and the general-purpose debugger 20, and can acquire various types of information obtained by the test control module 30 and the general-purpose debugger 20. It has. The IDE 40 is provided with an execution control module 41 a for causing the debug control module 42 to control the start or stop of the operation of the general-purpose debugger 20 and executing the test program P. Therefore, special execution control of the test program P is automatically performed even if the user U does not perform complicated operations, and the operability and convenience of the user U can be improved and debugging efficiency can be improved.

〔第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 IDE 50 is provided instead of the IDE 10 included in the debugging device 1 shown in FIG. 1, and a test program that is connected to the tester TE and used in the tester TE Debug P. The debugging device 3 realizes step execution of only a portion created by the user U among execution results obtained by executing the test program P, and displays only the execution result of the portion. .

IDE50は、デバッグ操作ツール51、デバッグ制御モジュール52(デバッグ制御手段)、及びステップ実行制御モジュール53(ステップ実行制御手段)を備えており、汎用デバッガ20の制御が可能であるとともに、汎用デバッガ20で得られる各種情報の取得が可能である。このIDE50は、図1,図4に示すIDE10,40と同様の統合開発環境を提供するものであり、汎用IDEを用いて作成することができる。   The IDE 50 includes a debug operation tool 51, a debug control module 52 (debug control means), and a step execution control module 53 (step execution control means). The IDE 50 can control the general-purpose debugger 20, and It is possible to acquire various information obtained. The IDE 50 provides an integrated development environment similar to the IDEs 10 and 40 shown in FIGS. 1 and 4, and can be created using a general-purpose IDE.

尚、図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 break control module 13 shown in FIG. 1 or the execution control module 41a shown in FIG. 4 may be provided in the IDE 50. it can. With this configuration, not only control of the general-purpose debugger 20 and acquisition of various information obtained by the general-purpose debugger 20, but also control of the test control module 30 and acquisition of various information obtained by the test control module 30 are possible. Special execution control of the tester break using the IDE 50 described in the first embodiment or the test program P described in the second embodiment can also be realized.

デバッグ操作ツール51は、図1に示すデバッグ操作ツール11と同様に、デバッグ制御モジュール52との間でイベント制御を行うことにより、ユーザUの指示に応じたデバッグ機能を制御する。このデバッグ操作ツール51は、デバッグ制御モジュール52から得られるテストプログラムP1のスレッド情報及びスタック情報(実行履歴情報)の表示制御を行う表示制御モジュール51a(表示制御手段)を備える。   Similar to the debug operation tool 11 shown in FIG. 1, the debug operation tool 51 performs event control with the debug control module 52 to control a debug function according to an instruction from the user U. The debug operation tool 51 includes a display control module 51a (display control means) that performs display control of thread information and stack information (execution history information) of the test program P1 obtained from the debug control module 52.

ここで、上記のスレッド情報は実行されたスレッド(プログラムの実行単位)を特定する情報であり、上記のスタック情報はそのスレッドにおける関数(テストプログラム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 display control module 51a determines whether or not the user description function is included in the stack information, and determines that the user description function is included. Display the display item in case. Further, when the display item is stack information, the calling state of the user description function and the system function is determined based on the stack information, and the display item is displayed based on the determination result.

具体的には、ユーザ記述関数の呼び出しと他の関数(システム記述関数を含む)の呼び出しとの前後関係を判断し、ユーザ記述関数の呼び出し以降に呼び出された関数についてのスタック情報を表示アイテムとして表示する。これは、システム関数からユーザ記述関数の呼び出しが行われることはあるが、ユーザ記述関数からシステム関数の呼び出しが行われることはないため、ユーザ記述関数の呼び出し以降に呼び出された関数についてのスタック情報のみを表示すれば、ユーザ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 debug control module 12 shown in FIG. 1, the debug control module 52 generates an execution process of the test program P and associates the test program P with the general-purpose debugger 20. In addition, a debug function corresponding to the instruction of the user U is realized by generating a command that realizes a debug function corresponding to the instruction of the user U and outputting the command to the general-purpose debugger 20. Furthermore, various information obtained from the general-purpose debugger 20 is notified to the debug operation tool 51 and the step execution control module 53 as events. Furthermore, under the control of the step execution control module 53, the step execution of the test program P by the general-purpose debugger 20 is controlled.

ステップ実行制御モジュール53は、デバッグ制御モジュール52から得られるテストプログラムP1のスレッド情報及びスタック情報に応じて、汎用デバッガ20によるテストプログラムPのステップ実行を、デバッグ制御モジュール52に制御させる。具体的には、上記のスタック情報にユーザ記述関数が含まれるか否かを判断し、ユーザ記述関数が含まれると判断した場合に上記のステップ実行をデバッグ制御モジュール52に制御させる。   The step execution control module 53 causes the debug control module 52 to control the step execution of the test program P by the general-purpose debugger 20 according to the thread information and stack information of the test program P1 obtained from the debug control module 52. Specifically, it is determined whether or not a user description function is included in the stack information. When it is determined that a user description function is included, the debug control module 52 controls the above step execution.

次に、上記構成におけるデバッグ装置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 debug operation tool 51 to perform step execution of the test program P, the debug control module 52 generates an execution process of the test program P and associates the test program P with the general-purpose debugger 20. Thus, the debugging of the test program P is made controllable from the general-purpose debugger 20, and step execution of the test program P is started. In addition, the flowchart shown in FIG. 7 is repeatedly performed by the start of step execution.

テストプログラムPのステップ実行が行われると、汎用デバッガ20からデバッグ制御モジュール52に対してステップ完了が通知され、これによりデバッグ制御モジュール52からステップイベントが発行される。図7に示す通り、まずデバッグ制御モジュール52から発行されるステップイベントがステップ実行制御モジュール53で受信されたか否かが判断される(ステップS51)。   When the step execution of the test program P is performed, the general debugger 20 notifies the debug control module 52 of the completion of the step, whereby the debug control module 52 issues a step event. As shown in FIG. 7, it is first determined whether or not a step event issued from the debug control module 52 has been received by the step execution control module 53 (step S51).

ステップイベントが受信されたと判断された場合(判断結果が「YES」の場合)には、ステップ実行制御モジュール53において、ステップイベントに含まれるスレッド情報及びスタック情報が取得され、そのスタック情報にユーザ記述関数が含まれているか否かが判断される(ステップS52)。この判断結果が「YES」の場合には図7に示すフローチャートが再度最初から開始される。   When it is determined that the step event has been received (when the determination result is “YES”), the step execution control module 53 obtains thread information and stack information included in the step event, and user description is included in the stack information. It is determined whether or not a function is included (step S52). When the determination result is “YES”, the flowchart shown in FIG. 7 is started again from the beginning.

これに対し、ステップ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 execution control module 53 shifts to a step execution control mode in which the step execution end position is adjusted (step S53). Here, the step execution end position is adjusted because the user description function is not included in the stack information, and the step execution of the test program P is an undisclosed area for the user U (for example, an area where a system function is described). This is because it is considered that the process was completed.

以上の移行処理が行われると、ステップ実行制御モジュール53によって、テストプログラムPに記述された全てのユーザ記述関数にブレークポイントが設定される(ステップS54)。ここで、ステップ実行終了位置から次のユーザ記述関数が記述されている位置まで処理を進めれば、上記のステップ実行終了位置の調整を行うことができる。しかしながら、次に実行されるユーザ記述関数を特定することができないため、全てのユーザ記述関数に対してブレークポイントの設定を行っている。   When the above transition processing is performed, the step execution control module 53 sets breakpoints in all user-written functions described in the test program P (step S54). Here, if the process proceeds from the step execution end position to the position where the next user description function is described, the above step execution end position can be adjusted. However, since the user description function to be executed next cannot be specified, breakpoints are set for all user description functions.

ブレークポイントの設定が終了すると、ステップ実行制御モジュール53からデバッグ制御モジュール52に対して、テストプログラムPの実行再開指示がなされる。デバッグ制御モジュール52は、ステップ実行制御モジュール53からの実行再開指示を再開コマンドに変換して汎用デバッガ20に出力し、テストプログラムPの実行を再開させる(ステップS55)。以上の処理が終了すると図7に示すフローチャートが再度最初から開始される。   When the breakpoint setting is completed, the step execution control module 53 instructs the debug control module 52 to resume execution of the test program P. The debug control module 52 converts the execution restart instruction from the step execution control module 53 into a restart command and outputs it to the general-purpose debugger 20 to restart the execution of the test program P (step S55). When the above process ends, the flowchart shown in FIG. 7 starts again from the beginning.

他方、ステップ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 execution control module 53 determines whether an IDE break event issued by the debug control module 52 has been received (step S56). If this determination is “NO”, the flowchart shown in FIG. 7 is started again from the beginning. On the other hand, when the determination result of step S56 is “YES”, it is determined whether or not the operation mode of the step execution control module 53 is the step execution control mode (step S57). If this determination is “NO”, the flowchart shown in FIG. 7 is started again from the beginning.

これに対し、ステップ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 execution control module 53 is also released (step S59). Step execution control is performed by the series of processes described above.

以上の通り、本実施形態のデバッグ装置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 debug control module 52, and when determining that the user description function is included, the test program P Is provided with a step execution control module 53 that causes the debug control module 52 to control the step execution. For this reason, even if the area (public area) described by the user U and the non-public area for the user exist in the test program P, only the user description function described in the public area is executed as a step. Can do. Thereby, the operativity and convenience of the user U can be improved and debugging efficiency can be improved.

図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 debug operation tool 51 and debugging of the test program P by the general-purpose debugger 20 is started, the flowchart shown in FIG. 8 is executed. While the test program P is being debugged, if the execution of the test program P by the general-purpose debugger 20 is interrupted due to a break due to a breakpoint, the end of execution of step execution, or a forcible temporary suspension, the debug control module 52 notifies the fact. The indicated program interruption event is issued.

図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 debug control module 52 has been received by the display control module 51a provided in the debug operation tool 51 (step S61). If the determination result is “NO”, the process of step S61 is repeated. On the other hand, if the determination result in step S61 is “YES”, the display control module 51a acquires the display item to be displayed from the thread information and stack information included in the program interruption event (step S62).

次に、取得された表示アイテムがスレッドであるか否かが表示制御モジュール51aによって判断される(ステップS63)。表示アイテムがスレッドであると判断された場合(ステップS63の判断結果が「YES」の場合)には、そのスレッドにおけるスタック情報にユーザ記述関数が含まれているか否かが表示制御モジュール51aによって判断される(ステップS64)。   Next, the display control module 51a determines whether or not the acquired display item is a thread (step S63). When it is determined that the display item is a thread (when the determination result of step S63 is “YES”), the display control module 51a determines whether or not the user description function is included in the stack information in the thread. (Step S64).

この判断結果が「YES」の場合には、表示制御モジュール51aによって、ステップS62で取得された表示アイテム(スレッド)の表示が行われ(ステップS65)、他の表示アイテムが有るか否かが判断される(ステップS66)。これに対し、ステップS64の判断結果が「NO」の場合には、表示アイテムの表示が行われずに他の表示アイテムが有るか否かが判断される(ステップS66)。   When the determination result is “YES”, the display control module 51a displays the display item (thread) acquired in step S62 (step S65), and determines whether there is another display item. (Step S66). On the other hand, if the determination result in step S64 is “NO”, it is determined whether or not there is another display item without displaying the display item (step S66).

他方、ステップS63における判断結果が「NO」の場合には、取得された表示アイテムがスタックであるか否かが表示制御モジュール51aによって判断される(ステップS67)。表示アイテムがスタックであると判断された場合(ステップS67の判断結果が「YES」の場合)には、その表示アイテム(スタック情報)に係る関数の呼び出しがユーザ記述関数の呼び出し以降に行われたか否かが判断される(ステップS68)。   On the other hand, if the determination result in step S63 is “NO”, the display control module 51a determines whether or not the acquired display item is a stack (step S67). When it is determined that the display item is a stack (when the determination result of step S67 is “YES”), whether the function related to the display item (stack information) has been called after the call of the user-written function It is determined whether or not (step S68).

この判断結果が「YES」の場合には、表示制御モジュール51aによって、ステップS62で取得された表示アイテム(スタック)の表示が行われ(ステップS65)、他の表示アイテムが有るか否かが判断される(ステップS66)。これに対し、ステップS68の判断結果が「NO」の場合には、表示アイテムの表示が行われずに他の表示アイテムが有るか否かが判断される(ステップS66)。   When the determination result is “YES”, the display control module 51a displays the display item (stack) acquired in step S62 (step S65), and determines whether there is another display item. (Step S66). On the other hand, when the determination result of step S68 is “NO”, it is determined whether or not there is another display item without displaying the display item (step S66).

ステップ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 debug control module 52, and determines that the user description function is included. And a display control module 51a that displays the call state of the user description function and the system function based on the stack information included in the program interruption event and displays the result from the determination result. . For this reason, even if the area (public area) described by the user U and the non-public area for the user exist in the test program P, only the execution result of the user description function described in the public area is displayed. Can do. Thereby, the operativity and convenience of the user U can be improved and debugging efficiency can be improved.

以上、本発明の実施形態によるデバッグ装置について説明したが、本発明は上述した実施形態に制限されることなく、本発明の範囲内で自由に変更が可能である。例えば、上記実施形態で説明したデバッグ装置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実施形態によるデバッグ装置の要部構成を示すブロック図である。It is a block diagram which shows the principal part structure of the debugging apparatus by 1st Embodiment of this invention. 本発明の第1実施形態によるデバッグ装置におけるテスタブレーク設定時の動作を示すフローチャートである。It is a flowchart which shows the operation | movement at the time of the tester break setting in the debugging apparatus by 1st Embodiment of this invention. 本発明の第1実施形態によるデバッグ装置におけるテスタブレーク制御時の動作を示すフローチャートである。It is a flowchart which shows the operation | movement at the time of the tester break control in the debugging apparatus by 1st Embodiment of this invention. 本発明の第2実施形態によるデバッグ装置の要部構成を示すブロック図である。It is a block diagram which shows the principal part structure of the debugging apparatus by 2nd Embodiment of this invention. 本発明の第2実施形態によるデバッグ装置の動作を示すフローチャートである。It is a flowchart which shows operation | movement of the debugging apparatus by 2nd Embodiment of this invention. 本発明の第3実施形態によるデバッグ装置の要部構成を示すブロック図である。It is a block diagram which shows the principal part structure of the debugging apparatus by 3rd Embodiment of this invention. 本発明の第3実施形態によるデバッグ装置におけるステップ実行時の動作を示すフローチャートである。It is a flowchart which shows the operation | movement at the time of step execution in the debugging apparatus by 3rd Embodiment of this invention. 本発明の第3実施形態によるデバッグ装置における表示制御時の動作を示すフローチャートである。It is a flowchart which shows the operation | movement at the time of the display control in the debugging apparatus by 3rd Embodiment of this invention. テストプログラムPの実行結果の表示例を示す図である。It is a figure which shows the example of a display of the execution result of the test program P. 従来のデバッグ装置の要部構成を示すブロック図である。It is a block diagram which shows the principal part structure of the conventional debugging apparatus.

符号の説明Explanation of symbols

1〜3 デバッグ装置
10 IDE
12 デバッグ制御モジュール
13 テスタブレーク制御モジュール
20 汎用デバッガ
30 テスト制御モジュール
40 IDE
41a 実行制御モジュール
42 デバッグ制御モジュール
50 IDE
51a 表示制御モジュール
52 デバッグ制御モジュール
53 ステップ実行制御モジュール
P テストプログラム
TE テスタ
1-3 Debugging device 10 IDE
12 Debug control module 13 Tester break control module 20 General purpose debugger 30 Test control module 40 IDE
41a Execution control module 42 Debug control module 50 IDE
51a Display control module 52 Debug control module 53 Step execution control module P Test program TE tester

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.
前記開発環境提供手段は、前記デバッグ制御手段が前記デバッグ手段から前記デバッグ手段の動作が中断した旨を示す通知を取得した場合に、当該通知に基づいて前記デバッグ手段の動作中断を示す情報の表示を行うことを特徴とする請求項2記載のデバッグ装置。   The development environment providing means, when the debug control means acquires from the debug means a notification indicating that the operation of the debug means has been interrupted, displays information indicating the operation interruption of the debug means based on the notification The debugging device according to claim 2, wherein: 前記開発環境提供手段は、前記デバッグ手段の制御及び前記デバッグ手段で得られる情報の取得が可能なデバッグ制御手段と、
前記デバッグ制御手段に前記デバッグ手段の動作開始又は動作停止の制御を行わせるとともに、前記デバッグ制御手段に前記デバッグ手段の動作開始の制御を行わせた場合には前記試験制御手段に前記試験プログラムを実行させる制御を行う実行制御手段と
を備えることを特徴とする請求項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.
前記開発環境提供手段は、前記デバッグ制御手段から得られる前記試験プログラムの実行履歴情報に、ユーザによって記述されたユーザ記述関数の呼び出しが含まれているか否かを判断して、前記デバッグ手段による前記試験プログラムのステップ実行を前記デバッグ制御手段に制御させるステップ実行制御手段を備えることを特徴とする請求項2から請求項4記載のデバッグ装置。   The development environment providing unit determines whether the execution history information of the test program obtained from the debug control unit includes a call to a user-written function described by a user, and the debugging unit provides the 5. The debugging apparatus according to claim 2, further comprising step execution control means for causing the debug control means to control step execution of a test program. 前記開発環境提供手段は、前記デバッグ制御手段から得られる前記試験プログラムの実行履歴情報に、ユーザによって記述されたユーザ記述関数の呼び出しが含まれているか否かの判断と、前記実行履歴情報で示される前記ユーザ記述関数及び他の関数の呼び出し状況の判断との少なくとも一方の判断を行って、前記実行履歴情報の表示制御を行う表示制御手段を備えることを特徴とする請求項2から請求項5記載のデバッグ装置。   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, and indicates the execution history information. 6. A display control unit for performing display control of the execution history information by performing determination of at least one of determination of a call state of the user description function and another function to be performed. The debugging device described.
JP2008243590A 2008-09-24 2008-09-24 Debug device Expired - Fee Related JP5212864B2 (en)

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)

* Cited by examiner, † Cited by third party
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

Patent Citations (4)

* Cited by examiner, † Cited by third party
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