JP5397648B2 - Source code tracer - Google Patents

Source code tracer Download PDF

Info

Publication number
JP5397648B2
JP5397648B2 JP2013083486A JP2013083486A JP5397648B2 JP 5397648 B2 JP5397648 B2 JP 5397648B2 JP 2013083486 A JP2013083486 A JP 2013083486A JP 2013083486 A JP2013083486 A JP 2013083486A JP 5397648 B2 JP5397648 B2 JP 5397648B2
Authority
JP
Japan
Prior art keywords
data
source code
debug
bus
address
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.)
Active
Application number
JP2013083486A
Other languages
Japanese (ja)
Other versions
JP2013157018A (en
Inventor
亮 落合
卓哉 藤川
貴裕 毛塚
Original Assignee
ハートランド・データ株式会社
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 ハートランド・データ株式会社 filed Critical ハートランド・データ株式会社
Priority to JP2013083486A priority Critical patent/JP5397648B2/en
Publication of JP2013157018A publication Critical patent/JP2013157018A/en
Application granted granted Critical
Publication of JP5397648B2 publication Critical patent/JP5397648B2/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Description

この発明は、プログラム方式の電子情報処理装置に用いるプログラムのデバック作業を容易にするためのソースコードトレーサに関している。   The present invention relates to a source code tracer for facilitating debugging work of a program used in a program-type electronic information processing apparatus.

一般に、プログラム方式の電子情報処理装置用にプログラムを作成する場合、プログラムのデバッグ作業に多くの時間が費やされている。プログラム作成作業を効率化するためにデバッグ作業時間の短縮が求められており、デバック作業を容易にするデバッガ等が用いられる場合が多い。   In general, when a program is created for a program-type electronic information processing apparatus, a lot of time is spent on debugging the program. In order to make the program creation work more efficient, the debugging work time is required to be shortened, and a debugger or the like that facilitates the debugging work is often used.

一般に、デバッガでは、プログラムに複数のブレークポイントを設けて、それぞれのブレークポイントの時点でその実行を一時的に中断し、それぞれの時点で記憶情報のダンプを行い、それぞれの時点での記憶情報を追跡することでプログラムの動作を検証することが行なわれる。   In general, a debugger provides a program with multiple breakpoints, temporarily suspends execution at each breakpoint, dumps the stored information at each point, and stores the stored information at each point. The operation of the program is verified by tracing.

また、上記の電磁情報処理装置の動作を中断せずにその動作を観測してデバッグを行なうトレーサとして、例えば以下のような開示がある。   Further, as a tracer that performs debugging by observing the operation of the electromagnetic information processing apparatus without interrupting the operation, there is the following disclosure, for example.

特許文献1(実開平5−17738号公報)には、簡易トレーサが開示されている。これは、CPUの信号をCPU信号取出し回路で取り出し、比較基準入力設定器に予め設定しておいたデータと、取り出したデータ(アドレス/データ)を比較回路に入力して比較し、条件が一致したときにラッチトリガ決定回路に信号を送信し、ラッチトリガ決定回路で条件が一致した場合にラッチ回路に信号を送信し、ラッチ回路からの信号を受けた表示回路はその時点のデータ(CPU内部状態)を表示する構成とすることで、簡単な回路で、CPUの内部状態をリアルタイムに表示、又はトレースを残すことができるようにしたものである。   Patent Document 1 (Japanese Utility Model Laid-Open No. 5-17738) discloses a simple tracer. This is because the CPU signal is extracted by the CPU signal extraction circuit, the data set in advance in the comparison reference input setter and the extracted data (address / data) are input to the comparison circuit and compared, and the conditions match. When this happens, a signal is sent to the latch trigger determination circuit, and when the conditions match in the latch trigger determination circuit, the signal is sent to the latch circuit. The display circuit that receives the signal from the latch circuit receives the data at that time (CPU internal state) By using a configuration for displaying the CPU, it is possible to display the internal state of the CPU in real time or leave a trace with a simple circuit.

また、特許文献2(特開平6−348540号公報)には、C言語の様な高級言語で記述されたプログラムをデバッグする時にトレーサを使用して、デバッグの効率を向上させるトレース回路とトレース方法が開示されている。これは、局所変数のベースポインタをラッチする回路とプログラム実行アドレスをラッチする回路とを有し、データアクセス時に前記ベースポインタラッチの内容と前記プログラム実行アドレスラッチの内容をアクセスしたアドレスやデータやステータスと共にトレースメモリに書き込み、トレースメモリに記録されたアドレスとベースポインタの値から局所変数の変数オフセットを計算し、この変数オフセットとトレースメモリ中のプログラム実行アドレスを使って、デバッグ対象プログラムのデバッグ情報テーブルを検索し、トレースメモリに記録されたデータアクセス内容を局所変数と対応づけるものである。   Japanese Patent Laid-Open No. 6-348540 discloses a trace circuit and a trace method that improve the debugging efficiency by using a tracer when debugging a program written in a high-level language such as C language. Is disclosed. This has a circuit for latching a base pointer of a local variable and a circuit for latching a program execution address. At the time of data access, the contents of the base pointer latch and the contents of the program execution address latch are accessed. And write to the trace memory, calculate the variable offset of the local variable from the address recorded in the trace memory and the value of the base pointer, and use this variable offset and the program execution address in the trace memory to debug the debug information table of the program to be debugged And the data access content recorded in the trace memory is associated with the local variable.

また、特許文献3(特開平8−335177号公報)には、命令キャッシュを動作させたままプログラムトレースを行うプロセッサ動作観察方法及び装置が開示されている。ここで用いるCPUは、命令キャッシュに命令アドレスで指定した命令が存在するか否かにかかわらず、その命令アドレスを、メモリアドレスレジスタを介してCPUの外部バスに出力するものである。この外部バスは、アドレスバス、データバス、制御バスから成るもので、プログラムのデバッグ時はこの外部バスにプロセッサ動作観察装置を接続し、命令キャッシュがヒットする場合でも、CPUがアクセスした命令のあった外部のメモリのアドレスやバスステータスをプロセッサ動作観察装置のトレースメモリに格納する。このトレースメモリを読み出して、アドレスとバスステータスの内容を解析することにより、CPUが実行した命令の実行過程を追跡するものである。   Further, Patent Document 3 (Japanese Patent Laid-Open No. 8-335177) discloses a processor operation observation method and apparatus for performing a program trace while operating an instruction cache. The CPU used here outputs the instruction address to the external bus of the CPU via the memory address register regardless of whether the instruction specified by the instruction address exists in the instruction cache. This external bus consists of an address bus, a data bus, and a control bus. When debugging a program, a processor operation observation device is connected to this external bus, and even if the instruction cache hits, the instruction accessed by the CPU The external memory address and bus status are stored in the trace memory of the processor operation observation apparatus. By reading the trace memory and analyzing the contents of the address and bus status, the execution process of the instruction executed by the CPU is traced.

また、特許文献4(特開平10−21118号公報)には、デバッグシステムが開示されている。これは、コンピュータ(PC)のアドレス設定部により指定アドレスを設定し、リード要求部から、インタフェースケーブルを介してデバッグ対象装置に、メモリリード要求を送出する。デバッグ対象装置では、メモリリード部がメモリリード要求に応答してメモリの指定されたアドレスの内容をダンプして、インタフェースケーブルを介してPC1に返送する。PCのアドレス設定部により指定アドレスを設定し、データ設定部によりライトデータを設定して、ライト要求部から、インタフェースケーブルを介してデバッグ対象装置に、メモリライト要求を送出する。デバッグ対象装置は、メモリライト部23がメモリライト要求に応答してメモリの指定されたアドレスに、ライトデータを書き込むものである。   Japanese Patent Laid-Open No. 10-21118 discloses a debugging system. In this case, a designated address is set by an address setting unit of a computer (PC), and a memory read request is sent from the read request unit to the debug target device via an interface cable. In the device to be debugged, the memory read unit dumps the contents of the designated address of the memory in response to the memory read request, and returns it to the PC 1 via the interface cable. A designated address is set by the address setting unit of the PC, write data is set by the data setting unit, and a memory write request is sent from the write request unit to the debug target device via the interface cable. In the debug target device, the memory write unit 23 writes write data to a specified address in the memory in response to a memory write request.

また、特許文献5(特開2001−175510号公報)には、繰返して発生する同一のデータを記録しないようにし、デバッグや障害解析に必要なデータのみを確実に収集するようにして効率よくトレースバッファを使用するトレースデータ圧縮方法およびトレースデータ圧縮方式が開示されている。これは、LSI内部の複数の状態値を周期的の記録するトレーサにおいて、トレースデータを状態値の変化する頻度の高い第一のフィールドと状態値の変化する頻度の低い第二のフィールドとに分割し、最新の登録トレースデータの第二のフィールドのデータと受信したトレースデータの第二のフィールドのデータとを比較して一致する場合には、前記受信したトレースデータの第二のフィールドのデータを登録しない。受信したトレースデータを登録するときには、前記第一のフィールドおよび前記第二のフィールドの各データにそれぞれ識別子を付して登録するものである。   In Patent Document 5 (Japanese Patent Laid-Open No. 2001-175510), the same data that is repeatedly generated is not recorded, and only the data necessary for debugging and failure analysis is reliably collected, thereby efficiently tracing. A trace data compression method and a trace data compression method using a buffer are disclosed. This is because, in a tracer that periodically records a plurality of state values inside an LSI, the trace data is divided into a first field where the state value changes frequently and a second field where the state value changes less frequently. If the data of the second field of the latest registered trace data matches the data of the second field of the received trace data, the data of the second field of the received trace data is Do not register. When registering the received trace data, each of the data in the first field and the second field is registered with an identifier.

また、特許文献6(特開2001−331344号公報)には、システムプログラムの履歴情報により障害発生の経緯を知らせ、障害原因の解析がスムーズに行える組み込みシステムの障害情報トレーサ装置が開示されている。この障害情報トレーサ装置は、実行形式のプログラム、履歴情報を編成する実行履歴収集部、履歴情報を記憶させるトレースメモリ、その記憶内容を被試験装置にダンプさせるデバッグモニタから構成されるものである。また、被試験装置は、履歴情報を導入するデバッガソフト、履歴情報がファイルされたトレースメモリダンプ結果ファイル、プログラムのソースファイル群、障害解析のための該当箇所を出力するトレース情報解析プログラムから構成されるものである。   Patent Document 6 (Japanese Patent Laid-Open No. 2001-331344) discloses a failure information tracer device for an embedded system that can notify the background of the failure occurrence based on the history information of the system program and can smoothly analyze the cause of the failure. . This failure information tracer device is composed of an execution format program, an execution history collection unit for organizing history information, a trace memory for storing history information, and a debug monitor for dumping the stored contents to the device under test. The device under test consists of debugger software that introduces history information, a trace memory dump result file in which history information is filed, a program source file group, and a trace information analysis program that outputs the relevant location for failure analysis. Is.

また、特許文献7(米国特許第6161216号明細書)には、ソースコードのデバッガを用いてソースコードをデバッグする方法と装置が記載されている。この場合、スクリプトジェネレータがソースコードの命令を受け取るようにする。スクリプトジェネレータは、ソースコード命令を読み取り、実行ブロックまたは制御境界を規定する命令の型に基づいて、トレースポイントの仕様を満たすデバッグスクリプトを自動的に生成する。このデバッグスクリプトをソースコードデバッガに引き渡す。   Patent Document 7 (US Pat. No. 6,161,216) describes a method and apparatus for debugging source code using a source code debugger. In this case, the script generator receives instructions of the source code. The script generator reads source code instructions and automatically generates a debug script that satisfies the tracepoint specifications based on the type of instruction that defines the execution block or control boundary. Pass this debug script to the source code debugger.

特許文献1から6に記載の発明は、積極的にデバッグ用の情報を出力させるようにプログラムを改変するものではない点において本発明とは異なっている。また、特許文献7に記載の発明では、デバッグスクリプトを生成するスクリプトジェネレータを用いている点において、本発明とは異なっている。   The inventions described in Patent Documents 1 to 6 differ from the present invention in that the program is not modified so as to positively output debugging information. The invention described in Patent Document 7 differs from the present invention in that a script generator that generates a debug script is used.

実開平5−17738号公報Japanese Utility Model Publication No. 5-17738 特開平6−348540号公報JP-A-6-348540 特開平8−335177号公報JP-A-8-335177 特開平10−21118号公報Japanese Patent Laid-Open No. 10-21118 特開2001−175510号公報JP 2001-175510 A 特開2001−331344号公報JP 2001-331344 A 米国特許第6161216号明細書US Pat. No. 6,161,216

プログラムのデバッグをより効率的に行なうことができるようにし、また、発生頻度の少ない実行時エラーについてもデバッグし易いようにする。   The program can be debugged more efficiently, and it is also easy to debug runtime errors that occur less frequently.

本発明のソースコードトレーサは、プログラム方式の電子情報処理装置であるターゲットデバイスと、前記ターゲットデバイスのプログラムであるソースコードをコンパイルし、そのコンパイル時にデバッグ行を挿入するコンピュータ(以下、第1コンピュータ)と、前記ターゲットデバイスのアドレスバス、データバス、またはコントロールバスからデータを選択的に収集し記憶するデータ収集器と、上記データ収集器から収集データを外部のコンピュータ(以下、第2コンピュータ)に伝送する通信路と、を備え、上記デバッグ行は、デバッグに用いデバッグ行のソースコード上の位置情報を含むデバッグ情報を、前記ターゲットデバイスのアドレスバス上の予め決められたアドレス向けの上記データバス上のデバッグデータとして出力する内容のものであり、上記ターゲットデバイスは、予め決められた書込み手続きの必要な半導体メモリを備え、上記半導体メモリに割り当てられたアドレス宛てに、上記の書き込み手続きを含まない書込みコードを出力するデバッグ行を用いることを特徴とするものである。   A source code tracer according to the present invention includes a target device that is a program-type electronic information processing apparatus, and a computer that compiles a source code that is a program of the target device and inserts a debug line during the compilation (hereinafter referred to as a first computer). A data collector that selectively collects and stores data from the address bus, data bus, or control bus of the target device, and transmits the collected data from the data collector to an external computer (hereinafter referred to as a second computer). The debug line is used for debugging and includes debug information including position information on the source code of the debug line on the data bus for a predetermined address on the address bus of the target device. Output as debug data The target device includes a semiconductor memory that requires a predetermined write procedure, and outputs a write code that does not include the write procedure to an address assigned to the semiconductor memory. It is characterized by using lines.

また、上記デバッグ行は、上記デバッグ行を通過した時刻情報を更に含むデバッグ情報を、上記デバッグデータとして出力する内容を備えるものである。   Further, the debug line has contents for outputting debug information further including time information passing through the debug line as the debug data.

また、上記データ収集器は、前記ターゲットデバイスのアドレスバスの信号が予め決められた少なくとも1つのアドレスに一致する場合に、データバス、またはコントロールバスからデータを選択的に収集し記憶するものである。   The data collector selectively collects and stores data from the data bus or the control bus when a signal on the address bus of the target device matches at least one predetermined address. .

また、上記データ収集器は、上記収集データを圧縮して記憶するものである。   The data collector compresses and stores the collected data.

上記の第2コンピュータは、予定されたトレース情報と上記デバッグデータとを比較して、上記ソースコードのデバッグに関する情報を出力するものである。   The second computer compares the scheduled trace information with the debug data, and outputs information related to the debugging of the source code.

上記ターゲットデバイスが、予め決められた書込み手続きの必要な半導体メモリ、例えば、EEPROMやフラッシュメモリを備える場合には、上記半導体メモリに割り当てられたアドレス宛てに、上記の書き込み手続きを含まない書込みコードを用いて擬似書込みを行なうデバッグ行を用いることで、デバッグデータを出力するアドレス数を増大させることができる。   When the target device includes a semiconductor memory that requires a predetermined write procedure, for example, an EEPROM or a flash memory, a write code that does not include the write procedure is sent to an address assigned to the semiconductor memory. By using a debug line that performs pseudo writing, the number of addresses to which debug data is output can be increased.

プログラム処理を中断することなくデバッグ作業を進めることができるようになるため、処理を中断する従来例に比べて、より実際の動作に近い状態でデバッグ作業を行うことができるようになる。   Since the debugging operation can proceed without interrupting the program processing, the debugging operation can be performed in a state closer to the actual operation as compared with the conventional example in which the processing is interrupted.

また、デバッグ行を残したままでも、実際のプログラム処理を何らの支障も伴うことなく行なうことができるので、検証したプログラムを実際の処理に適用することができるようになる。   In addition, since the actual program processing can be performed without any trouble even if the debug line is left, the verified program can be applied to the actual processing.

さらに、上記の様に、プログラム処理速度を低下させることなくデバッグ作業を進めることができるため、従来に比べて多数のデバッグ行をソースコードに挿入することができるようになり、デバッグ作業をより容易にすることができる。   In addition, as described above, debugging can be performed without reducing the program processing speed, so that more debugging lines can be inserted into the source code than before, making debugging easier. Can be.

本発明のソースコードトレーサを適用するターゲットデバイスであるプログラム方式の電子情報処理装置の例を示す図である。It is a figure which shows the example of the electronic information processing apparatus of the program system which is a target device to which the source code tracer of this invention is applied. 本発明のソースコードトレーサをターゲットデバイスに適用する場合の構成例を示す図である。It is a figure which shows the structural example in the case of applying the source code tracer of this invention to a target device. データ収集器の構成例を示す図である。It is a figure which shows the structural example of a data collector. 本発明のソースコードトレーサを用いたテスト支援システム内での処理の流れを示す図である。It is a figure which shows the flow of a process in the test assistance system using the source code tracer of this invention. 本発明のソースコードトレーサを用いた解析の流れを示す図である。It is a figure which shows the flow of the analysis using the source code tracer of this invention. 従来のデバッガを用いてデバッグする場合のフローチャートを示す図である。It is a figure which shows the flowchart in the case of debugging using the conventional debugger. 本発明のソースコードトレーサを用いてデバッグする場合のフローチャートを示す図である。It is a figure which shows the flowchart in the case of debugging using the source code tracer of this invention.

以下に、この発明の実施の形態を図面に基づいて詳細に説明する。以下の説明においては、同じ機能あるいは類似の機能をもった装置に、特別な理由がない場合には、同じ符号を用いるものとする。   Embodiments of the present invention will be described below in detail with reference to the drawings. In the following description, devices having the same function or similar functions are denoted by the same reference numerals unless there is a special reason.

図1は、本発明のソースコードトレーサを適用するターゲットデバイス30であり、プログラム方式の電子情報処理装置である。このターゲットデバイス30は、演算装置(CPU)31とメモリ32と入出力回路33とは、コントロールバス34、アドレスバス35およびデータバス36で接続されている。また入出力回路33からは、各種インターフェイスに向かう拡張バス37が設けられている。   FIG. 1 is a target device 30 to which a source code tracer of the present invention is applied, and is a program-type electronic information processing apparatus. In the target device 30, an arithmetic unit (CPU) 31, a memory 32, and an input / output circuit 33 are connected by a control bus 34, an address bus 35, and a data bus 36. The input / output circuit 33 is provided with an expansion bus 37 directed to various interfaces.

また、図2は、本発明のソースコードトレーサ100をターゲットデバイス30に適用する場合の構成例を示している。本発明のソースコードトレーサ100は、データ収集器10と、これに接続したコンピュータ(PC)7を備えている。データ収集器10は、中継器20を通じてターゲットデバイス30のコントロールバス34、アドレスバス35およびデータバス36に接続している。また、拡張バス37の1つとPC7が接続している。ここで、拡張バス37に接続するコンピュータは、他のコンピュータでもよい。   FIG. 2 shows a configuration example when the source code tracer 100 of the present invention is applied to the target device 30. The source code tracer 100 of the present invention includes a data collector 10 and a computer (PC) 7 connected thereto. The data collector 10 is connected to the control bus 34, the address bus 35 and the data bus 36 of the target device 30 through the repeater 20. Further, one of the expansion buses 37 and the PC 7 are connected. Here, the computer connected to the expansion bus 37 may be another computer.

図3は、データ収集器10の構成例を示す図である。中継器20からのデータは、選択器1に送られ、アドレスバスを監視して、予め指定したアドレス宛てに送られたデータバス上のデータを取り込む。ここで、予め複数のアドレスを指定して、それぞれのアドレスをそれぞれの目的毎に使い分けてもよい。
データ処理器2では、取得したデータを解析し、整理し、必要に応じて圧縮してメモリ4に記憶する。この圧縮には、2次元デジタルデータを圧縮するため既によく知られた圧縮方法を用いることができる。最も簡単な方法として、同じデータが続く場合に繰り返しの頻度を添える圧縮方法があるが、この方法を用いてもよい。
この部分では、データ処理量が大きくなるため、例えばマルチコア等の高速デジタル信号処理器を用いることが望ましい。メモリ4に記憶されたデータは、入出力(I/O)器3、例えばUSB(ユニバーサルシリアルバス)トランシーバを用いてUSB6を通じて図2のPC7送る。ROM(読み出し専用メモリ)5は、電気的に書き換え可能なメモリであってもよく、また、入出力(I/O)器3のためのプログラムを記憶するデバイスであるが、USBトランシーバに内蔵されている場合は、外部に設ける必要は無い。
FIG. 3 is a diagram illustrating a configuration example of the data collector 10. Data from the repeater 20 is sent to the selector 1, and the address bus is monitored, and the data on the data bus sent to a predetermined address is taken in. Here, a plurality of addresses may be designated in advance, and each address may be properly used for each purpose.
In the data processor 2, the acquired data is analyzed, organized, compressed as necessary, and stored in the memory 4. For this compression, a compression method already well known for compressing two-dimensional digital data can be used. As the simplest method, there is a compression method that adds repetition frequency when the same data continues, but this method may be used.
In this part, the amount of data processing increases, so it is desirable to use a high-speed digital signal processor such as a multi-core, for example. The data stored in the memory 4 is sent to the PC 7 in FIG. 2 through the USB 6 using an input / output (I / O) device 3, for example, a USB (Universal Serial Bus) transceiver. The ROM (read-only memory) 5 may be an electrically rewritable memory, and is a device that stores a program for the input / output (I / O) device 3, but is built in the USB transceiver. If it is, there is no need to provide it outside.

次に、本発明のソースコードトレーサ100を用いたデバッグ作業について、図4、図5を参照して説明する。
図4は、本発明のソースコードトレーサを用いたテスト支援システム内での処理の流れを示す図である。図4(A)では、ソースコードを解析し、関数の出入りや分岐処理の箇所にプログラムの実行に影響がないログコードを自動挿入する。図4(B)では、ログコードの実行を検知して記録する。図4(C)で、記録したデータを解析し、ソースコードやテストパターンと照合し、プログラム実行状況や検証結果をグラフィカルに表現する。また、図4(D)で、ログコードの組み込み箇所を変更して再実行する。このように処理することにより、評価結果をオンラインで保存し、バージョン毎に管理することが可能になる。また、検証結果を帳票出力することで、製品の検査証明のドキュメントとして利用できるようにもなる。
また、図5は、本発明のソースコードトレーサを用いた解析の流れを示す図である。図5(A)では、実デバイス上でプログラムを実行する。図5(B)では、メモリトレーサが、予めプログラムに組み込んでおいたログコードが実行されたことを検知し出力された情報を収集してPCへ送付する。図5(C)では、潜在する問題を素早く検出し分析することができるようにするために、プログラムの実行状況を視覚的に捕らえるように表示する。図5(D)では、プログラムに問題が見つかれば、修正し再度実行する。図5(E)では、問題が無くなれば完了するが、その際、使用したデータはそのままプログラムの品質を保証するドキュメントとなる。
Next, a debugging operation using the source code tracer 100 of the present invention will be described with reference to FIGS.
FIG. 4 is a diagram showing the flow of processing in the test support system using the source code tracer of the present invention. In FIG. 4A, the source code is analyzed, and the log code that does not affect the execution of the program is automatically inserted at the entry / exit of the function or branch processing. In FIG. 4B, the execution of the log code is detected and recorded. In FIG. 4C, the recorded data is analyzed, collated with the source code and the test pattern, and the program execution status and the verification result are graphically expressed. Also, in FIG. 4D, the log code incorporation location is changed and re-executed. By processing in this way, the evaluation result can be stored online and managed for each version. Also, by outputting the verification result in a form, it can be used as a document for product inspection certification.
FIG. 5 is a diagram showing the flow of analysis using the source code tracer of the present invention. In FIG. 5A, the program is executed on the real device. In FIG. 5B, the memory tracer detects that the log code previously incorporated in the program has been executed, collects the output information, and sends it to the PC. In FIG. 5C, in order to be able to quickly detect and analyze a potential problem, the execution state of the program is displayed so as to be captured visually. In FIG. 5D, if a problem is found in the program, it is corrected and executed again. In FIG. 5E, the process is completed when there is no problem. At this time, the used data becomes a document that guarantees the quality of the program.

(1)ソースコード埋め込み
(図4(A))各種ターゲットのソースコードに対して、デバッグ作業以外では通常ターゲットデバイスが使用しない外部バスに出力するためのアドレスにデータを書き込むコード(以下、トレースコード)を埋め込む。
トレースコードの埋め込みに当たって、トレースコードは、アドレスとデータの組み合わせにより、ソースコードのどの箇所に埋め込まれたかを認識できるように埋め込む。例えばC言語の場合、ポイントとなる情報は、一関数の先頭と最後、分岐命令の直後、変数の情報などである。
この埋め込み作業は、PC7上で、専用アプリケーションを用いて実行する。他の独立したコンピュータ上で行ってもよいことは明らかである。
(1) Source code embedding (FIG. 4 (A)) A code for writing data to an address for outputting to an external bus that is not normally used by the target device except for debugging work (hereinafter referred to as a trace code). ) Is embedded.
In embedding the trace code, the trace code is embedded so that it can be recognized in which part of the source code is embedded by a combination of an address and data. For example, in the case of the C language, the information that becomes points is the beginning and end of one function, immediately after a branch instruction, information on variables, and the like.
This embedding work is executed on the PC 7 using a dedicated application. Obviously, it may be performed on another independent computer.

この方法の特長として、使用しない外部バスのアドレスに対しての書き込みであることから、CPUへの負荷を少なくしてトレースコードを実行できる点を挙げることができる。又、トレースコードの出力では、アドレスとデータの組み合わせでデバッグ行の位置を判別できるようにすることで、デバッグ行を埋め込める場所が従来の場合に比べて格段に増加する。   As a feature of this method, it is possible to execute a trace code by reducing the load on the CPU because it is writing to an address of an external bus that is not used. Further, in the output of the trace code, by enabling the position of the debug line to be determined by the combination of the address and the data, the place where the debug line can be embedded is significantly increased compared to the conventional case.

また、上記ターゲットデバイスが、フラッシュメモリやEEPROMなどの、書き込みの際に予め決められた書込み手続きの必要な半導体メモリを備える場合には、その半導体メモリに実際には書き込みを行なわないが書き込みを行なうように振る舞う疑似書き込みを行なうようにすることで、上記半導体メモリに割り当てたアドレスを、上記トレースコードを出力するためにも用いることができる。この疑似書き込みを行なうには、上記予め決められた書込み手続きから外れた書込み手続きを次の様に行なう。   Further, when the target device includes a semiconductor memory such as a flash memory or an EEPROM that requires a predetermined writing procedure at the time of writing, the semiconductor memory is not actually written but is written. By performing pseudo-writing that behaves like this, the address assigned to the semiconductor memory can also be used to output the trace code. In order to perform this pseudo-write, a write procedure that deviates from the predetermined write procedure is performed as follows.

書込み手続きは、例えば、JEDEC(半導体技術協会)標準型コマンド互換方式のフラッシュメモリの場合は、予め決められたアドレスに、コマンドを発行することで行なわれる。このコマンドは、データバス上の2進データである。例えば16ビットのデータバスの場合、?を16進表示で0からFまでの任意の値として、
??29、??30、??80、??90、??A0、??B0、??F0を、
アドレス=(??????A4、??????54)、のデータとして、
書き込むことで書込み手続きが完了する。
For example, in the case of a JEDEC (Semiconductor Technology Association) standard command compatible flash memory, the write procedure is performed by issuing a command to a predetermined address. This command is binary data on the data bus. For example, in the case of a 16-bit data bus? As an arbitrary value from 0 to F in hexadecimal notation,
? ? 29? ? 30 ,? ? 80? ? 90? ? A0? ? B0? ? F0,
As address = (????????? A4, ?????? 54),
The writing procedure is completed by writing.

このメモリのいかなるアドレス値に対しても、この書き込みが行なわれないようにするためには、上記のデータが発生しないようにすればよい事は明らかである。例えば、16ビットデータから上記の値を除いた集合を用いて、上記トレースコードの出力を行なえばよい。必要に応じてデータ変換を行なう。特に簡単な例としては、例えば、??00、を用いてアスキーデータとして出力することで、実際には書き込みを行なわない疑似書き込みとすることができる。   Obviously, in order to prevent this writing from being performed for any address value in this memory, it is sufficient to prevent the generation of the above data. For example, the trace code may be output using a set obtained by removing the above value from 16-bit data. Data conversion is performed as necessary. A particularly simple example is, for example,? ? 00 is output as ASCII data, so that pseudo writing can be performed without actually writing.

本発明の埋め込みは、従来のUART(Universal Asynchronous Receiver Transmitter)等の通信バスヘ情報を出力する方法に比べて、CPUへの負荷を軽減でき、また、GPIO(汎用ポート)へ出力する方法に比べて、埋め込める情報を増やすことができる、また、内部メモリヘ保存する方法では、エミュレーター等の接続が必須で、使用場面が限られるが、本発明では、実機を用いてデバッグすることができる。   The embedding of the present invention can reduce the load on the CPU compared to the conventional method of outputting information to a communication bus such as UART (Universal Asynchronous Receiver Transmitter), and also compared with the method of outputting to GPIO (general-purpose port). In the method of storing information in the internal memory, it is necessary to connect an emulator or the like, and the usage scene is limited. However, in the present invention, debugging can be performed using an actual machine.

(2)コンパイル・動作確認
トレースコードを埋め込んだソースコードをコンパイルし、各種ターゲットに転送し、上記のコンパイルされたトレースコードをターゲットデバイスで走らせ、そのシーケンスの確認を実際の動作に即して行う(図5(A))。
(2) Compile and check operation Compile source code with embedded trace code, transfer it to various targets, run the above compiled trace code on the target device, and check the sequence according to the actual operation. (FIG. 5A).

(3)出力されるコードの抽出とPCへの転送(図4(B)、図5(B))
データ収集器10は、トレースコードでターゲットから吐き出されるデータを取り込み、PC7への転送を行う。又、取り込み開始や取り込み停止などの操作はPC7上で専用アプリケーションを用いて行う。また、ターゲットから吐き出されるデータをすべて取り込む必要がない場合は、PC7からデータ収集器10に取り込むべきアドレスを設定して選択する。このデータ収集器10は、高速でデータ処理を行なう必要があることから、マルチコアの汎用マイクロプロセッサやゲートアレイを用いて構成した専用のデジタル信号処理器(DSP)などを使うことが望ましい。
また、データ収集器10は、CPUの外部バスに出力される波形を取り込む際に、情報が出力されるアドレスのデータを、ターゲットデバイスの、あるいはソースコードトレーサのタイムスタンプを付加してメモリ4に蓄える。ッ定量メモリにデータが蓄積された時に順次、解析装置(PC7)へとデータを転送する。あるいは、PC7からの要求に従って転送する。
収集する情報としては、例えば、(1)プログラムの、どの箇所が、いつ実行されたか、また、(2)プログラムの、どの部分で指定された変数に設定された値か、等が分かる情報である。
(3) Extraction of output code and transfer to PC (FIGS. 4B and 5B)
The data collector 10 takes in the data discharged from the target by the trace code and transfers it to the PC 7. In addition, operations such as start of capture and stop of capture are performed on the PC 7 using a dedicated application. If it is not necessary to capture all the data discharged from the target, an address to be captured from the PC 7 to the data collector 10 is set and selected. Since the data collector 10 needs to perform data processing at high speed, it is desirable to use a dedicated digital signal processor (DSP) configured using a multi-core general-purpose microprocessor or a gate array.
Further, when the data collector 10 captures the waveform output to the external bus of the CPU, the data at the address to which the information is output is added to the memory 4 by adding the time stamp of the target device or the source code tracer. store. When the data is accumulated in the fixed amount memory, the data is sequentially transferred to the analyzer (PC 7). Alternatively, transfer is performed according to a request from the PC 7.
Information to be collected includes, for example, (1) which part of the program was executed when and (2) which part of the program is set to the variable specified in the information. is there.

(4)出力データの解析(図4(C))
次に、データ収集器10がPC7へ転送したデータ(以下、ログデータ)を、PC7上で専用アプリケーシヨンで解析する。この解析は、他のコンピュータでも行なうことができることは明らかであるが、この実施例では、なるべく少ない装置で処理する構成としている。
この解析については、図5(C)に示す様に、プログラムの実行状況を視覚的に捕らえ、潜在する問題を素早く検出・分析できるように表示することが望ましい。
ここでの解析により、例えば次の事項について明らかにすることができる。
(1)プログラムの実行順番を確認する事により、設計フロッとの相違を確認でき、異常個所の発見と正常に動作していることの証明が可能となる。
(2)プログラムの実行時のタイムスタンプ情報から、それぞれのデバッグ行間で処理に掛かった時間や、その処理が実行される間隔などのプログラムのリアルタイム性が、異常動作または正常動作の結果であるかどうかの判別が可能となる。
(4) Analysis of output data (FIG. 4C)
Next, the data transferred to the PC 7 by the data collector 10 (hereinafter referred to as log data) is analyzed on the PC 7 with a dedicated application. It is obvious that this analysis can be performed by another computer, but in this embodiment, the processing is performed with as few apparatuses as possible.
As for this analysis, as shown in FIG. 5C, it is desirable to visually capture the execution status of the program and display it so that a potential problem can be detected and analyzed quickly.
For example, the following matters can be clarified by the analysis here.
(1) By confirming the execution order of the program, it is possible to confirm the difference from the design block, and it is possible to find an abnormal part and prove that it is operating normally.
(2) Whether the real-time performance of the program, such as the time taken for processing between each debug line and the interval at which the processing is executed, is the result of abnormal operation or normal operation from the time stamp information at the time of program execution It is possible to determine whether or not.

(図4(D))上記の解析結果からソースコードヘのフードバックを繰り返し行なうことで、プログラム作成が完了する。つまり、ユーザーは、解析結果を自分の設計思想と照らし合わせて分析し、異常個所の修正などを行いソースコードを変更し、上記(1)〜(4)を実行して設計思想との整合性を高めていく。また、図5(E)に示す様に、問題が無くなれば、使用したデータをそのままプログラムの品質を保証するドキュメントとすることもできる。   (FIG. 4D) The program creation is completed by repeatedly performing the food back to the source code from the above analysis result. In other words, the user analyzes the analysis result against his / her design philosophy, corrects the abnormal part and changes the source code, and executes the above (1) to (4) to ensure consistency with the design philosophy. To increase. Further, as shown in FIG. 5E, if there is no problem, the used data can be used as a document for guaranteeing the quality of the program as it is.

プログラムを開発するに当たっては、デバッグ作業が必要になるが、そのフローチャートを、従来の場合については図6に、本発明のソースコードトレーサを用いて行なう場合については図7に示す。   In developing the program, debugging work is required. The flowchart is shown in FIG. 6 for the conventional case and in FIG. 7 for the case of using the source code tracer of the present invention.

図6においては、デバッグしようとするプログラムC1を、C2で機能ごとに分解し、C3でそれぞれの機能の分類の中で各モジュールに分割する。C20でこの機能ごとの分解に沿って機能テスト仕様書が、また、C21でこの各モジュールへの分割を反映したモジュールテスト仕様書が作られる。例えばモジュールAについては、C4で関数毎に分割する。例えば関数Aでは、C5で関数を設計する。この関数の設計では、データ構造や制御構造の決定も行なう。C6でこの設計をもとにソースコードを作成する。C7でこのソースコードの検証を行ない、C8で要求仕様を満たすまでソースコードをデバッグする。この結果については、C22で単体テスト結果レポートにまとめられる。各モジュールが要求仕様を満たす場合は、次に、C9で各モジュールを結合した状態での結合テストが行なわれ、C23の結合テスト結果レポートにまとめられる。C10で結合テスト基準に合格した場合は、C11で各機能を合わせた総合テストが行なわれ、その結果は、C24の総合テスト結果レポートにまとめられる。また、合わせて、C25で、ソフト変更検証レポートが発行される。これは、プログラムを変更した後の検証結果についての報告である。C22で総合テスト基準に合格した場合は、C13でプログラムの開発が完了する。   In FIG. 6, a program C1 to be debugged is decomposed for each function at C2, and divided into modules in each function classification at C3. In C20, a function test specification is created along the disassembly for each function, and in C21, a module test specification reflecting the division into each module is created. For example, module A is divided for each function at C4. For example, in the function A, the function is designed with C5. In designing this function, the data structure and control structure are also determined. Source code is created based on this design in C6. The source code is verified in C7, and the source code is debugged until the required specification is satisfied in C8. These results are compiled into a unit test result report in C22. If each module satisfies the required specifications, then a coupling test is performed in a state where the modules are coupled in C9, and the combined test result report in C23 is collected. If the combined test standard is passed in C10, a comprehensive test combining the functions is performed in C11, and the result is compiled in a C24 comprehensive test result report. In addition, a software change verification report is issued at C25. This is a report on the verification results after changing the program. If the overall test standard is passed in C22, program development is completed in C13.

また、図7においては、デバッグしようとするプログラムP1を、P2で機能ごとに分解し、P3でそれぞれの機能の分類の中で各モジュールに分割する。P20でこの機能ごとの分解に沿って機能テスト仕様書が作られる。例えばモジュールAについては、P4で関数毎に分割する。例えば関数Aでは、P5で関数を設計する。この関数の設計では、データ構造や制御構造の決定も行なう。P6でこの設計をもとにソースコードを作成する。次に、P7で本発明の特徴の一つであるトレースコードの埋め込みを行なう。この埋め込みに沿って、P21でモジュールテスト仕様書が作られる。トレースコードの埋め込まれたソースコードは、P8で統合される。動作検証においては、必ずしも全てのモジュールや全ての機能部分を揃える必要はなく、動作可能となったものから検証作業を行なうこともできる。P9で上記の統合されたソースコードが実行されると、各トレースコードが予定のアドレスに出力されるので、これらを本発明のソースコードトレーサで収集し、分類することで、上記の単体テスト、結合テスト、あるいは総合テストを同時に行なった場合と等価な結果を得ることができる。また、P22で単体テスト結果レポート、P23で結合テスト結果レポート、P24で総合テスト結果レポートを得ることができる。また、プログラムを変更した場合は、その検証結果についてソフト変更検証レポートが発行される。   In FIG. 7, the program P1 to be debugged is decomposed for each function at P2, and is divided into modules in each function classification at P3. In P20, a function test specification is created along the disassembly for each function. For example, module A is divided for each function at P4. For example, in function A, a function is designed in P5. In designing this function, the data structure and control structure are also determined. At P6, source code is created based on this design. Next, in P7, the trace code which is one of the features of the present invention is embedded. Along with this embedding, a module test specification is created at P21. The source code in which the trace code is embedded is integrated at P8. In the operation verification, it is not always necessary to prepare all the modules and all the functional parts, and the verification work can be performed from the one that can be operated. When the above integrated source code is executed at P9, each trace code is output to a predetermined address. By collecting and classifying these trace codes with the source code tracer of the present invention, the unit test and combination described above are performed. A result equivalent to the case where the test or the comprehensive test is simultaneously performed can be obtained. Further, the unit test result report can be obtained at P22, the combined test result report at P23, and the comprehensive test result report at P24. When a program is changed, a software change verification report is issued for the verification result.

このように、本発明のソースコードトレーサを用いることによって、検証作業を一括で行なうことができ、しかも実際に用いる状態で検証作業を行なうことができるので、デバッグ作業が効率的になり、より容易に検証を行なうことができるようになる。   As described above, by using the source code tracer of the present invention, the verification work can be performed in a lump, and the verification work can be performed in a state where it is actually used, so that the debugging work becomes efficient and easier. Verification can be performed.

中継器20とCPUの外部メモリバスとの接続には、専用のフレキシブルプリント基板(FPC:Flexible Printed Circuits)で半田付けして接続することで、あるいはテスト用のソケットを設けてそれを通じて接続することでインピーダンスの低下を抑制して電気的に接続することができる。高速の外部メモリバスで無い場合は、CPUと基板の接続にソケットを用い、そのソケットに配線引き出し用下駄履き状ソケットを用いることもできる。また、電気光学結晶を用いて光学的にデジタル信号を抽出することも可能である。   The connection between the repeater 20 and the external memory bus of the CPU is performed by soldering with a dedicated flexible printed circuit (FPC) or by providing a test socket for connection. Thus, it is possible to make electrical connection while suppressing a decrease in impedance. If it is not a high-speed external memory bus, a socket can be used to connect the CPU and the board, and a clogged socket for pulling out wiring can be used as the socket. It is also possible to optically extract a digital signal using an electro-optic crystal.

ソースコードに挿入するデバッグ行のコメント部分に、所定の書式で、別のデバッグ行からの所要時間などの設計目標値を追記しておくと、この目標値と実際に収集したデータとを比較してレポートする機能を設けることで、デバッグ作業をより効率化できる。この機能を発展させて、ソースコードにおいて、実行コードにならないコメント部分に、設計段階で、各種の設計目標値を設計者が追記しておくことで、この目標値と実際のデータとを比較することができる。この機能を活用することで自動テスト判定システムが実現できる。   If a design target value such as the time required from another debug line is added to the comment part of the debug line to be inserted into the source code in a predetermined format, this target value is compared with the actually collected data. Debugging functions can be made more efficient. By developing this function, the designer adds various design target values to the comment part that does not become executable code in the source code at the design stage, so that this target value is compared with actual data. be able to. By utilizing this function, an automatic test determination system can be realized.

また、シリアルデータをパラレルデータに変換することは容易であることはよく知られている。これによって、テストコードの出力先として、パラレル構成の外部バスの場合だけでなく、シリアル構成の外部バスの場合にも本発明を容易に適用できることが分かる。   It is well known that it is easy to convert serial data to parallel data. As a result, it can be seen that the present invention can be easily applied not only to a parallel external bus as a test code output destination but also to a serial external bus.

1 選択器
2 データ処理器
3 入出力(I/O)器
4 メモリ
5 ROM(読み出し専用メモリ)
6 USB(ユニバーサルシリアルバス)
7 コンピュータ(PC)
8 拡張バス
10 データ収集器
20 中継器
30 ターゲットデバイス
31 演算装置(CPU)
32 メモリ
33 入出力回路
34 コントロールバス
35 アドレスバス
36 データバス
37 拡張バス
100 ソースコードトレーサ
1 Selector 2 Data Processor 3 Input / Output (I / O) Unit 4 Memory 5 ROM (Read Only Memory)
6 USB (Universal Serial Bus)
7 Computer (PC)
8 Expansion bus 10 Data collector 20 Repeater 30 Target device 31 Arithmetic unit (CPU)
32 Memory 33 Input / output circuit 34 Control bus 35 Address bus 36 Data bus 37 Expansion bus 100 Source code tracer

Claims (5)

プログラム方式の電子情報処理装置であるターゲットデバイスと、
前記ターゲットデバイスのプログラムであるソースコードをコンパイルし、そのコンパイル時にデバッグ行を挿入するコンピュータ(以下、第1コンピュータ)と、
前記ターゲットデバイスのアドレスバス、データバス、またはコントロールバスからデータを選択的に収集し記憶するデータ収集器と、
上記データ収集器から収集データを外部のコンピュータ(以下、第2コンピュータ)に伝送する通信路と、を備え、
上記デバッグ行は、デバッグに用いデバッグ行のソースコード上の位置情報を含むデバッグ情報を、前記ターゲットデバイスのアドレスバス上の予め決められたアドレス向けの上記データバス上のデバッグデータとして出力する内容のものであり、
上記ターゲットデバイスは、予め決められた書込み手続きの必要な半導体メモリを備え、上記半導体メモリに割り当てられたアドレス宛てに、上記の書き込み手続きを含まない書込みコードを出力するデバッグ行を用いることを特徴とするソースコードトレーサ。
A target device which is a program-type electronic information processing apparatus;
A computer (hereinafter referred to as a first computer) that compiles a source code that is a program of the target device and inserts a debug line at the time of compilation;
A data collector that selectively collects and stores data from an address bus, data bus, or control bus of the target device;
A communication path for transmitting collected data from the data collector to an external computer (hereinafter, second computer),
The debug line is used to debug and includes debug information including position information on the source code of the debug line as debug data on the data bus for a predetermined address on the address bus of the target device. Is,
The target device includes a semiconductor memory that requires a predetermined write procedure, and uses a debug line that outputs a write code that does not include the write procedure to an address assigned to the semiconductor memory. Source code tracer.
上記デバッグ行は、上記デバッグ行を通過した時刻情報を更に含むデバッグ情報を、上記デバッグデータとして出力する内容のものであることを特徴とする請求項1に記載のソースコードトレーサ。   2. The source code tracer according to claim 1, wherein the debug line has contents for outputting debug information further including time information passing through the debug line as the debug data. 上記データ収集器は、前記ターゲットデバイスのアドレスバスの信号が予め決められた少なくとも1つのアドレスに一致する場合に、データバス、またはコントロールバスからデータを選択的に収集し記憶するものであることを特徴とする請求項1あるいは2のいずれか1つに記載のソースコードトレーサ。   The data collector selectively collects and stores data from the data bus or the control bus when a signal on the address bus of the target device matches at least one predetermined address. 3. The source code tracer according to claim 1, wherein the source code tracer is characterized in that 上記データ収集器は、上記収集データを圧縮して記憶するものであることを特徴とする請求項1あるいは2のいずれか1つに記載のソースコードトレーサ。   3. The source code tracer according to claim 1, wherein the data collector stores the collected data in a compressed manner. 第2コンピュータは、予定されたトレース情報と上記デバッグデータとを比較して、上記ソースコードのデバッグに関する情報を出力するものであることを特徴とする請求項1から4のいずれか1つに記載のソースコードトレーサ。   5. The second computer according to claim 1, wherein the second computer compares scheduled trace information with the debug data, and outputs information related to debugging of the source code. 6. Source code tracer.
JP2013083486A 2013-04-12 2013-04-12 Source code tracer Active JP5397648B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2013083486A JP5397648B2 (en) 2013-04-12 2013-04-12 Source code tracer

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2013083486A JP5397648B2 (en) 2013-04-12 2013-04-12 Source code tracer

Related Parent Applications (1)

Application Number Title Priority Date Filing Date
JP2009049415A Division JP5316780B2 (en) 2009-03-03 2009-03-03 Source code tracer

Publications (2)

Publication Number Publication Date
JP2013157018A JP2013157018A (en) 2013-08-15
JP5397648B2 true JP5397648B2 (en) 2014-01-22

Family

ID=49052063

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2013083486A Active JP5397648B2 (en) 2013-04-12 2013-04-12 Source code tracer

Country Status (1)

Country Link
JP (1) JP5397648B2 (en)

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5748878A (en) * 1995-09-11 1998-05-05 Applied Microsystems, Inc. Method and apparatus for analyzing software executed in embedded systems
JP2000235510A (en) * 1999-02-15 2000-08-29 Hitachi Ltd Processor and compile program recording medium for the processor
US6615370B1 (en) * 1999-10-01 2003-09-02 Hitachi, Ltd. Circuit for storing trace information

Also Published As

Publication number Publication date
JP2013157018A (en) 2013-08-15

Similar Documents

Publication Publication Date Title
CN109800159B (en) Program debugging method, program debugging device, terminal device, and storage medium
US9507688B2 (en) Execution history tracing method
US6243836B1 (en) Apparatus and method for circular buffering on an on-chip discontinuity trace
US10176078B1 (en) Debugging process
US20070079288A1 (en) System and method for capturing filtered execution history of executable program code
US20050289399A1 (en) Tracer, tracer embedded processor, and method for operating the tracer
CN101667154A (en) Apparatus and method for improving emulation speed of high-level languages in on-chip emulation systems
US7818620B2 (en) Program failure analysis system, failure analysis method, and emulator device
CN107220175B (en) Application program endless loop positioning method and device, computer equipment and storage medium
CN105550118A (en) Debugging system and debugging method
JP5316780B2 (en) Source code tracer
CN111367742A (en) Method, device, terminal and computer readable storage medium for debugging MVP processor
Bojan et al. Functional coverage measurements and results in post-Silicon validation of Core™ 2 duo family
JP4330573B2 (en) Power consumption evaluation method, power consumption evaluation system
KR102165747B1 (en) Lightweight crash report based debugging method considering security
JP5397648B2 (en) Source code tracer
CN112685316A (en) Code execution path acquisition method and device, computer equipment and storage medium
JP5316810B2 (en) Electronic measuring instrument
JP2008135008A (en) Program module verification method
CN100403275C (en) Micro processor and method using in firmware program debug
CN112740187A (en) Method and system for debugging program
CN114780402A (en) Debugging method and device of chip simulation system and server
CN114660437A (en) Waveform file generation method and device
CN113238953A (en) UI automation test method and device, electronic equipment and storage medium
JP2011186806A (en) Debugging device and debugging method

Legal Events

Date Code Title Description
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: 20130910

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20131008

R150 Certificate of patent or registration of utility model

Ref document number: 5397648

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

Free format text: JAPANESE INTERMEDIATE CODE: R150

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250