JP2002236596A - Software analytic system having device selectively gathering analytic data from target system execution software having tag statement and its use method - Google Patents

Software analytic system having device selectively gathering analytic data from target system execution software having tag statement and its use method

Info

Publication number
JP2002236596A
JP2002236596A JP2001020612A JP2001020612A JP2002236596A JP 2002236596 A JP2002236596 A JP 2002236596A JP 2001020612 A JP2001020612 A JP 2001020612A JP 2001020612 A JP2001020612 A JP 2001020612A JP 2002236596 A JP2002236596 A JP 2002236596A
Authority
JP
Japan
Prior art keywords
tag
target system
software
executed
software program
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
JP2001020612A
Other languages
Japanese (ja)
Inventor
Derrik Jason Birum
ジェイソン バーム デリック
Richard Donald Ellis
ドナルド エリス リチャード
Jeffrey Lee Tinker
リー ティンカー ジェフリー
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.)
Applied Microsystems Corp
Original Assignee
Applied Microsystems 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 Applied Microsystems Corp filed Critical Applied Microsystems Corp
Priority to JP2001020612A priority Critical patent/JP2002236596A/en
Publication of JP2002236596A publication Critical patent/JP2002236596A/en
Pending legal-status Critical Current

Links

Landscapes

  • Debugging And Monitoring (AREA)

Abstract

PROBLEM TO BE SOLVED: To provide an analysis system for software which can correct a gathered data type during the execution of an instrumentation source code of a built-in system. SOLUTION: The analysis system for the software which has a filter for selectively gathering tags generated by a target system during the execution of a software program analyzed according to programmable filtering standards includes a decoder which decodes the tag type of a tag acquired from the data bus of the target system and a comparator which compares the programmable filter standards with the tag type so as to judge whether the tag should be gathered.

Description

【発明の詳細な説明】DETAILED DESCRIPTION OF THE INVENTION

【0001】(関連技術の分野)本発明は、ソフトウエ
ア・テストとソフトウエア・デバッグに関するもので、
より詳細には、実行可能なタグ・ステイトメントを備え
たターゲット・システム実行ソフトウエアよりの分析情
報の収集に関するものである。
[0001] The present invention relates to software testing and software debugging.
More specifically, the present invention relates to collecting analysis information from target system execution software having an executable tag statement.

【0002】(本発明の背景)実行可能ソフトウエア・
コードの作成には、通常まずソフトウエア開発者がテキ
スト処理プログラムでソース・コード・プログラムを作
成し、それに続き特定のコンピュータ・プロセッサ用の
実行可能なコードを作成する為にソース・コードをコン
パイルし、リンクすることが含まれる。次に実行可能コ
ードは、実行可能ファイルに保存される。その後、実行
可能コードは、ソフトウエア開発者が特定コンピュータ
の実行可能ファイルを作動することによりデバッグさ
れ、前記ソフトウエアがそのタスクを正確に行うか、ま
た実行中に一つ以上のエラーが起こるかの判断を行う。
もし作動可能コードにエラーが存在する場合、ソフトウ
エア開発者がエラーを除去する為にソース・コードを修
正し、ソース・コードの再編集後、新たなデバッグ用実
行可能ファイルを作成する為に再編集したコードをリン
クすることが可能である。大容量のソフトウエア・プロ
グラムにおいては、知られているエラーが全て除去され
るまでこのプロセスが何度か繰り返される。
BACKGROUND OF THE INVENTION Executable software
To create code, a software developer usually first creates a source code program with a text processing program, and then compiles the source code to create executable code for a particular computer processor. , Including linking. The executable code is then stored in an executable file. The executable code is then debugged by the software developer running the executable on a particular computer to determine if the software performs its task correctly and one or more errors occur during execution. Make a judgment.
If there is an error in the operational code, the software developer modifies the source code to eliminate the error, re-edits the source code, and re-creates a new debug executable. It is possible to link the edited code. In large software programs, this process is repeated several times until all known errors are eliminated.

【0003】デバッグ工程においては非常に頻繁にある
ことではあるが、ソフトウエア開発者が、実行可能ファ
イルを実行することによりエラーの原因を突き止める事
が必要となる。ソフトウエア開発者がエラーを確認する
方法は色々ある。一つの方法においては、ソフトウエア
開発者はソース・コード全体にプリント・ステイトメン
トを加え、実行可能ファイルを実行中に、対応する実行
可能なプリント指示もまた実行され、現在の進行状況が
レポートされる。現在の実行の進行状況に関する知識
は、ソフトウエア開発者がエラー発生時の実行中のコー
ド・セクションを確認するのに役立つ。その上、プリン
ト・ステイトメントは、全実行中において、特定の場所
で現在の変数値またはソース・コード式の表示にも使用
することが可能である。プリント・ステイトメントはオ
リジナル・コンピレーションとリンキング・プロセスの一
部分である為、プリント・ステイトメントの一部分であ
る変数と式は、その他のどの編集コード・ステイトメン
トにおいてもされるように、現在の変数の範疇内で評価
される。この例としては、異なった非実行機能における
同名の変数よりも、むしろ現在実行中の機能におけるロ
ーカル変数値の使用が挙げられる。
[0003] Although very often in the debugging process, it is necessary for the software developer to determine the cause of the error by executing the executable file. There are various ways for software developers to check for errors. In one approach, the software developer adds a print statement to the entire source code, and while executing the executable, the corresponding executable print instructions are also executed and the current progress is reported. You. Knowledge of the current execution progress helps software developers to identify the section of code being executed at the time of the error. In addition, the print statement can be used to display the current variable value or source code expression at a particular location during the entire run. Because the print statement is part of the original compilation and linking process, the variables and expressions that are part of the print statement are replaced by the current variable, as in any other edit code statement. It is evaluated within the category. An example of this would be the use of local variable values in the currently executing function rather than variables of the same name in different non-executing functions.

【0004】プリント要求に加えて、デバッガとして知
られるアプリケーション・プログラムは、ソフトウエア
開発者が実行可能コードにおいてエラーを突き止めるこ
とにも役立つ。デバッガは、メモリにコードをロードさ
せ、実行可能ファイルの実行において付加的コントロー
ルを提供する。例えばソフトウエア開発者は、デバッガ
を利用し、一度に一つの実行可能コードを実行させるこ
とが可能である。一方デバッガは、デバッガ内における
ソフトウエア開発者によって指定されたブレイク・ポイ
ントに到るまで、実行可能コードを連続的に実行するの
に利用される場合もある。実行可能コードの実行が停止
した時、ユーザは、デバッガを相互作用させ、現在の変
数値と式を検視することが可能である。あるデバッガ
は、コンパイルとリンキング・ステップにおいて、実行
可能コード・ファイル内に収まった情報よりのソース・コ
ードの再形成も可能とし、実行可能コード内の指示に合
うソース・コード列を表示することも可能とする。ソー
ス・コードの表示は、ソフトウエア開発者による実行可
能コードの実行コントロールを容易にする。
In addition to print requests, application programs, known as debuggers, also help software developers to locate errors in executable code. The debugger causes the code to be loaded into memory and provides additional control over the execution of the executable. For example, a software developer can use a debugger to execute one executable code at a time. Debuggers, on the other hand, may be used to continuously execute executable code until a breakpoint specified by a software developer within the debugger is reached. When the execution of the executable code stops, the user can interact with the debugger and view the current variable values and expressions. Some debuggers can also reconstruct source code during compilation and linking steps from information contained in the executable code file, and can display source code strings that match the instructions in the executable code. Make it possible. The display of source code facilitates the control of the execution of executable code by software developers.

【0005】組込みシステム用に書き込まれたソフトウ
エア開発者のデバッギングのソース・コードは、ソフト
ウエアのパフォーマンスの分析を試みる時、特殊な難問
にぶつかる。組込みシステムは、その主要目的が一般的
な計算処理機能にあるのではなく、特定機能の実行にあ
ると特徴付けることができる。マイクロプロセッサ・ベ
ースのマイクロウエイブ・オーブン・コントローラ、マ
イクロプロセッサ・ベースの自動車のイグニション・シス
テム、そしてマイクロプロセッサ・ベースの電話交換シ
ステムなどの全てが組込みシステムの例である。
[0005] Software developer debugging source code written for embedded systems encounters special difficulties when attempting to analyze software performance. Embedded systems can be characterized as having their primary purpose not in general computing functions but in performing specific functions. Microprocessor-based microwave oven controllers, microprocessor-based automotive ignition systems, and microprocessor-based telephone switching systems are all examples of embedded systems.

【0006】前述のソフトウエア・デバッギング技術
は、組込みシステム用に作成されたソフトウエアに容易
に利用することができない。その理由の一つは、多くの
組込みシステムは、中央処理機構と限られたメモリのみ
を含み、キーボードやディスプレイ等のような他のスタ
ンダード・コンピュータ・システムへの入力、出力装置
へのアクセスを含まない。そのためソフトウエア開発者
にとって、従来技術を利用してデバッグすること、また
はこのようなシステム・タイプ用に作成されたソフトウ
エア・パフォーマンスの分析をすることは難しい場合が
多い。しかし、ソフトウエア開発者にとっては幸運なこ
とに、このようなシステム・タイプ用に作成され、かつ
実行されたソフトウエアの分析により合った、前記技術
に代替利用できる技術とソフトウエアの分析装置も幾つ
か存在する。
[0006] The aforementioned software debugging techniques are not readily available for software created for embedded systems. One reason is that many embedded systems include only central processing units and limited memory, including access to input and output devices to other standard computer systems such as keyboards and displays. Absent. As a result, it is often difficult for software developers to debug using conventional techniques or to analyze software performance created for such system types. However, fortunately for software developers, there are also techniques and software analyzers that can be used in place of such techniques, which are more tailored to the analysis of the software created and executed for such system types. There are several.

【0007】前記技術の一つは、実行可能なコード・マ
ーカ・ステイトメントを利用し、編集時にソース・コード
内にできたスペースに書き込む。即ち、ソース・コード
は、ソース・コード編集と各ソース・コードの各ファン
クション後にスペースを挿入することにより、デバッギ
ング用に準備される。スペースは、ソース・コードが編
集され、リンクされた後に、分析の段階中にソフトウエ
ア開発者によってコード・マーカ書き込みのためにリザ
ーブされる。書き込まれたコード・マーカは、ソース・コ
ード修正編集の実行中にデバッギング・システムにより
取得され、コード・マーカ収集の結果は、ソフトウエア・
プログラムのパフォーマンスを測定するために使用され
る。例えば、各々のタグ・ステイトメントは、個々のア
ドレスに値を書き込むことができ、それにより前記値を
含むアドレスのアイデンティティが何れのタグ・ステイ
トメントが実行されたかを指摘することを可能とする。
データは、ホスト・システムにより収集され、ソフトウ
エア開発者のデバッギングとソフトウエア・パフォーマ
ンス評価に役立つように表示される。本技術と分析シス
テムのより詳細な説明は、米国特許第5,265,25
4号(ブレイシア、他)により開示されている。
One of the techniques utilizes an executable code marker statement to write in a space created in the source code at the time of editing. That is, the source code is prepared for debugging by inserting a space after the source code editing and each function of each source code. The space is reserved for writing code markers by the software developer during the analysis phase after the source code has been edited and linked. The written code marker is acquired by the debugging system during the execution of the source code correction editing, and the result of the code marker collection is obtained by the software system.
Used to measure program performance. For example, each tag statement can write a value to an individual address, thereby allowing the identity of the address containing the value to indicate which tag statement was performed.
Data is collected by the host system and displayed to assist software developers in debugging and evaluating software performance. A more detailed description of the present technology and analysis system is provided in US Pat. No. 5,265,25.
No. 4 (Brescia, et al.).

【0008】その他の技術と分析システムは、組込みシ
ステムのマイクロプロセッサに連結されたホスト・シス
テムを採用している。ソース・コードに書き込まれた実
行可能なタグ・ステイトメントは、編集されリンクされ
たソース・コードと共に実行される。夫々のタグ・ステ
イトメントは、マイクロプロセッサを利用して、組込み
システムのメモリ内の既定アドレスにタグを書き込む。
組込みシステムの外部ターミナルに連結したプローブ
は、既定アドレスのアドレス・バスをモニタし、検知さ
れた場合はデータ・バスから実行されたタグ・ステイト
メントによって供給されたラッチ・データを検知する。
ラッチされたデータ値をベースに、分析システムは実行
されたソース・コードの位置決定を可能とする。本技術
と分析システムとのより詳細な説明は、米国特許第5,
748,878号(リース、他)により開示されてい
る。
[0008] Other techniques and analysis systems employ a host system coupled to an embedded system microprocessor. The executable tag statement written in the source code is executed with the edited and linked source code. Each tag statement uses a microprocessor to write the tag to a predetermined address in the embedded system's memory.
A probe coupled to an external terminal of the embedded system monitors an address bus at a predetermined address and, if detected, detects latch data provided by a tag statement executed from the data bus.
Based on the latched data values, the analysis system allows for the location of the executed source code. A more detailed description of the technology and analysis system is provided in US Pat.
748,878 (Leasing, et al.).

【0009】前述の技術と分析システムは、ソフトウエ
ア開発者にとって、組込みシステムのデバッギングとソ
フトウエア評価の強力な手段を提供しているが、これら
のシステムにおいて計装ソース・コードの実行中に収集
されたデータ・タイプを修正することは難しい。一般的
にこれらのシステムによって、ソフトウエア開発者が編
集とリンキングの後に、手動で限定数の実行可能ステイ
トメントを実行可能コードに入力することが可能であ
る。しかし、実行可能ステイトメントの修正が大容量の
場合、またソース・コードが長い場合、このような技術
は有効でも実用的でもない。そのため、実行可能コード
から実行可能ステイトメントを追加し、削除するには、
ソフトウエア開発者は、各修正の度にソース・コードの
装備、編集、そしてリンクを必要とする。
While the techniques and analysis systems described above provide software developers with a powerful means of debugging and evaluating software in embedded systems, they can be collected during the execution of instrumentation source code in these systems. It is difficult to modify the data type that was created. In general, these systems allow software developers to manually enter a limited number of executable statements into executable code after editing and linking. However, such techniques are neither effective nor practical when the correction of executable statements is large and the source code is long. So, to add and remove executable statements from executable code,
Software developers need to equip, edit, and link source code with each modification.

【0010】(課題を解決するための手段)本発明は、
ターゲット・システム上で実行するソフトウエアを分析
するためのソフトウエア分析システムに関するものであ
る。ソフトウエア分析システムは、実行可能タグ・ステ
イトメントを備えたソフトウエアの実行中に、ターゲッ
ト・システムから放出したタグを選択的に集めるフィル
タを含むものである。タグは捕捉され、捕捉されたタグ
のデコードされたタグ・タイプは、前記タグが収集さ
れ、プロセスされるか否かを判断するために、プログラ
ム可能フィルタリング基準と比較される。プログラム可
能フィルタリング基準は、各タグ・タイプのコレクショ
ン・フラッグを保存するフィルタ・テーブルによって実
行される。コレクション・フラッグは、夫々のタグ・タ
イプがターゲット・システムから放出した時に集められ
るか否かを通知する役目を果たす。プログラム可能フィ
ルタリング基準は、計装ソフトウエアの実行中にターゲ
ット・システムから放出したフィルタ・タグを集めて修
正するか、またはユーザ・インターフェイスを通してソ
フトウエア開発者によって直接修正されることが可能で
ある。
(Means for Solving the Problems) The present invention provides:
The present invention relates to a software analysis system for analyzing software executed on a target system. The software analysis system includes a filter that selectively collects tags emitted from the target system during execution of the software with the executable tag statement. Tags are captured and the decoded tag type of the captured tags is compared to programmable filtering criteria to determine if the tags are collected and processed. Programmable filtering criteria are implemented by a filter table that stores a collection flag for each tag type. The collection flag serves to signal whether each tag type will be collected when emitted from the target system. The programmable filtering criteria can be collected and modified by the filter tags emitted from the target system during the execution of the instrumentation software, or can be modified directly by the software developer through a user interface.

【0011】本発明のもう一つの特徴としては、分析シ
ステムが、プロセス以前に収集したタグ・データを保存
するタグ・バッファを含むことである。
[0011] Another feature of the present invention is that the analysis system includes a tag buffer for storing tag data collected prior to the process.

【0012】本発明のもう一つの特徴としては、分析シ
ステムが、タグ・バッファ内に収められる時に、タグ・
データにタイムスタンプ情報を追加するためのタイムス
タンプ・ジェネレータを含むことである。
Another feature of the present invention is that when the analysis system is placed in a tag buffer, the tag
Include a timestamp generator to add timestamp information to the data.

【0013】(本発明の詳細な説明)本発明におけるソ
フトウエア分析システム10の一実施例は、図1に図示
されている。システム10は、従来の方法でターゲット
・システム(図示せず)のマイクロプロセッサ上にとめ
るプローブ・チップ12を含む。その結果、そのデータ
・バスとアドレス・バスを含むターゲット・システム・
マイクロプロセッサの外部コネクター・ピンは、プロー
ブ・チップ12に到達可能となる。プローブ・チップ
は、従来のリボン・コンダクタ18を通してシステム1
0の大部分のエレクトロニクスを含むプローブ・シャー
シ20につながる。そしてプローブ・シャーシ20は、
イーサネット(登録商標)・ケーブル等の適したケーブ
ル30を通して、ホスト・システム40につながる。ホ
スト・システム40とは、本質的にはディスク・ドライブ
44を備えたプロセッサ・シャーシ42、表示スクリー
ン48を備えたCRTモニタ46、そしてキーボード5
0を有した従来のパーソナル・コンピュータである。ホ
スト・システム40は好適には、「ユニックス(登録商
標)」か「ウインドウズ(登録商標)」・ユーザ・イン
ターフェイスとオペレ―ション・システムを使用する。
アプリケーション規定のソフトウエアは、ホスト・シス
テム40がプローブ・シャーシ20と適切に接続するよ
うにディスク・ドライブ44を介してロードされ、キー
ボード50を介して適切なコンフィギュレーションと作
動コマンドを受け、そして分析結果をスクリーン48に
表示する。
DETAILED DESCRIPTION OF THE INVENTION One embodiment of the software analysis system 10 of the present invention is shown in FIG. The system 10 includes a probe tip 12 that resides in a conventional manner on a microprocessor of a target system (not shown). As a result, the target system system including its data bus and address bus
The external connector pins of the microprocessor become accessible to the probe tip 12. The probe tip is connected to the system 1 through a conventional ribbon conductor 18.
0 leads to the probe chassis 20 containing most of the electronics. And the probe chassis 20
It connects to the host system 40 through a suitable cable 30, such as an Ethernet cable. The host system 40 is essentially a processor chassis 42 with a disk drive 44, a CRT monitor 46 with a display screen 48, and a keyboard 5
0 is a conventional personal computer. The host system 40 preferably uses a "Unix" or "Windows" user interface and operation system.
The application specific software is loaded via the disk drive 44 so that the host system 40 properly connects to the probe chassis 20, receives appropriate configuration and operation commands via the keyboard 50, and is analyzed. The result is displayed on the screen 48.

【0014】ソフトウエア分析システム10の使用方法
は、図2に図示されている。ターゲット・システムにお
いて実行するために書き込まれたソース・コード60
は、最初に、ユーザが分析しようとしているソース・コ
ード10の様々な位置にタグ・ステイトメント62を書
き込むことで準備される。例えば、もしユーザがコード
範囲の確認に興味がある場合、ユーザはタグ・ステイト
メント62を夫々のソース・コード60のブランチに書
き込み、そしてシステム10が、夫々のタグ・ステイト
メントが実行されたかという情報を基に、どのブランチ
が実行したかを判断する。分析機能の他のタイプは、こ
こに引用され適用されるリース等の特許に詳しく説明さ
れている。ソース・コード60にタグ・ステイトメント
62を書き込んだ結果が、計装ソース・コード64であ
る。計装コードが作られた時、シンボル・データベース
65も作成され、各々のタグ・ステイトメントを夫々の
ソース・コード10内の位置に関連付ける記録を提供す
る。計装ソース・コード64は、従来の方法で66に編
集され、その結果実行可能コード68となる。実行可能
コード68は、その後適した方法でターゲット・システ
ムTへロードされる。例えば、実行可能コードは、ター
ゲット・システムT内にインストールされたプログラム
可能のリード・オンリ・メモリ(PROM)に保存する
ことが可能である。実行可能コード68は、従来のエミ
ュレータ(図示せず)を通してターゲット・システムT
内で実行することもできる。どのようにして実行コード
68がターゲットTにロードされたとしても、ターゲッ
トTはその後コードの実行を許可する。プローブ・チッ
プ12は、少なくともターゲット・システムTのアドレ
ス・バスとデータ・バスと電気接続するように、ターゲ
ット・システムTの上に既知の方法でクリップされてい
る。タグ・ステイトメント62の実行によって発生し、
プローブ・チップで集められたタグは、プローブ・シャ
ーシ20へリボン・ケーブル18を通して移される。プ
ローブ・シャーシ20が、プローブ・チップ12からの
データをフィルタしてプロセスした後、適切なデータは
ローカルエリア・ネットワーク・ケーブル30を通して
ホスト・システム40に出力される。
The use of the software analysis system 10 is illustrated in FIG. Source code 60 written for execution on the target system
Are prepared by first writing tag statements 62 at various locations in the source code 10 that the user is trying to analyze. For example, if the user is interested in verifying the code range, the user writes a tag statement 62 to each source code 60 branch and the system 10 determines whether each tag statement has been executed. Based on the information, it determines which branch has executed. Other types of analysis functions are described in detail in the Lease and other patents cited and applied herein. The result of writing the tag statement 62 in the source code 60 is the instrumentation source code 64. When the instrumentation code is created, a symbol database 65 is also created, providing a record relating each tag statement to a location in the respective source code 10. Instrumentation source code 64 is compiled in a conventional manner into 66, resulting in executable code 68. Executable code 68 is then loaded into target system T in a suitable manner. For example, the executable code may be stored in a programmable read only memory (PROM) installed in the target system T. Executable code 68 is transmitted to target system T through a conventional emulator (not shown).
It can also be performed within. No matter how the execution code 68 is loaded into the target T, the target T will then allow the code to execute. The probe tip 12 is clipped on the target system T in a known manner so as to make electrical connection with at least the address bus and the data bus of the target system T. Generated by execution of tag statement 62,
Tags collected at the probe tip are transferred to the probe chassis 20 through the ribbon cable 18. After the probe chassis 20 filters and processes the data from the probe tip 12, the appropriate data is output to the host system 40 through the local area network cable 30.

【0015】ホスト・アプリケーション・ソフトウエア
70は、データ・ファイル74に保存し、そこからデー
タを取り戻すプロセシング・ルチーン72を含み、ホス
ト・アプリケーション・ソフトウエア70は、X−11
又は「マイクロソフト・ウィンドウズ(登録商標)」・
インターフェイスのようなプロセシング・ルチーン72
と共に動き、データ・ファイル74上に作動して様々な
分析データの表示をするグラフィカル・ユーザ・インタ
ーファイス75も含む。プロセシング・ルチーン72
は、ソース・コードの位置とブランチのパフォーマンス
を特定するレポートと表示を供給するために、データ・
ファイル74内のタグ実行データがソース・コード65
内のタグ・ステイトメントの位置と相関するように、シ
ンボル・データベース65も受ける。シンボル・データ
ベース65は、好適にはディスク・ドライブ44(図
1)を通してホストへロードされる。その上、ホスト・
アプリケーション・ソフトウエア70は、分析データの
保存とハンドリングのためのデータ・ストラクチャ−7
6と、ターゲット・アクセス・プローブ20と情報のや
りとりをするためのコミュニケーション・ソフトウエア
78を含むこととなる。
The host application software 70 includes a processing routine 72 for storing and retrieving data from the data file 74, and the host application software 70 includes an X-11
Or "Microsoft Windows (registered trademark)"
An interface-like processing routine 72
Also includes a graphical user interface 75 which operates with the data file 74 and operates on the display of various analytical data. Processing Lucine 72
Will provide data and reports to identify source code locations and branch performance.
The tag execution data in the file 74 is the source code 65
The symbol database 65 is also received so as to correlate with the position of the tag statement within. The symbol database 65 is preferably loaded into the host through the disk drive 44 (FIG. 1). In addition, the host
The application software 70 has a data structure 7 for storing and handling analysis data.
6 and communication software 78 for exchanging information with the target access probe 20.

【0016】作動時には、夫々のタグ・ステイトメント
62が、一般的にソース・コード60内のタグ・ステイ
トメントにとってユニークな位置の「タグ・バリュ
(値)」を持つデータ領域を含んだ個々のタグを作り出
す。そのため、例えば第一ブランチは、タグ・バリュ1
を持つタグ・ステイトメントを含み、第二ブランチは、
タグ・バリュ2を持つタグ・ステイトメントを含むなど
といったことが可能である。ターゲットTによりタグ・
ステイトメント62が実行された時、ターゲットT内の
プロセッサは、タグ・ポート・アドレスとして知られる
ターゲット・システムTのアドレス・スペース内の所定
位置にあるタグ値を含んだタグを書き出す。下記により
詳細に説明されているように、タグ62は、ソース・コ
ード60内の関連タグ・ステイトメント62の機能や位
置などの情報を提供する少なくとももう一つの他の分野
をも含むことができる。より明確には、タグ・ステイト
メント62は、タグ値を持つデータ領域ワードを含む3
2ビットのみからでなく、タグの種類若しくはタイプを
定義する数のビットから構成されるタグを書き出すこと
が好適である。例えば、別々のタグ・タイプが、機能エ
ントリ・ポイント及びイグジット・ポイント、ブランチ
・ポイント、そしてメモリ・アロケーション・ステイト
メントを識別することができる。タグ・タイプを識別す
るタグ・タイプ領域を持つタグは、「コントロール・タ
グ」として知られている。システム10の好適な実施例
としては、全てのコントロール・タグが、同じタグ・ポ
ート・アドレスに書かれている。
In operation, each tag statement 62 typically includes a data area having a "tag value" at a unique location in the source code 60 for the tag statement. Create tags. Therefore, for example, the first branch is the tag value 1
The second branch contains a tag statement with
It is possible to include a tag statement having a tag value 2 or the like. Tag by target T
When statement 62 is executed, the processor in target T writes out a tag containing the tag value at a predetermined location in the address space of target system T, known as the tag port address. As described in more detail below, the tag 62 may also include at least one other field that provides information such as the function or location of the associated tag statement 62 in the source code 60. . More specifically, the tag statement 62 includes a data area word having a tag value.
It is preferable to write out a tag consisting of not only two bits but also a number of bits defining the type or type of the tag. For example, different tag types can identify function entry points and exit points, branch points, and memory allocation statements. Tags having a tag type field that identifies the tag type are known as "control tags". In a preferred embodiment of system 10, all control tags are written to the same tag port address.

【0017】システム10はまた、データ・タグも利用
する。データ・タグは、コントロール・タグに同行し、
特定のコントロール・タグに関連した追加情報の提供の
ために第二タグ・ポート・アドレスに書き込まれる。例
えば、コントロール・タグがメモリ・アロケーションの
行われている場所を示し、そしてコントロール・タグ同
行の2つのデータ・タグは、メモリ・アロケーションの
大きさとそのアロケーションに関連するメモリ・ポイン
タをそれぞれ示すことが可能である。ターゲット・シス
テムのアドレス・スペース内の単一位置が、コントロー
ル・タグのために使用され、本発明システム10の実施
例が、ターゲット・システムのメモリ・リソースを過度
に使用せず、分析システムを実質的にターゲット・シス
テムに対して透明とすることが望ましい。
System 10 also utilizes data tags. The data tag accompanies the control tag,
Written to the second tag port address to provide additional information related to the particular control tag. For example, a control tag may indicate where a memory allocation is taking place, and two data tags along with the control tag may indicate the size of the memory allocation and the memory pointer associated with that allocation, respectively. It is possible. A single location in the address space of the target system is used for the control tags, and embodiments of the system 10 of the present invention do not overuse the memory resources of the target system and substantially reduce the analysis system. It is desirable to be transparent to the target system.

【0018】米国特許第5,748,878のリース、
他により開示されたコントロール・タグとデータ・タグ
に加えて、本発明の実施例は更にフィルタ・タグを含
み、前記フィルタ・タグがターゲット・システムTから
のタグを収集する基準を修正するのに使用される。フィ
ルタ・タグは、それ自体が特別なタイプのコントロール
・タグである。システム10は、前記のリース、他の特
許に詳しく説明されているソフトウエア分析システムの
ように、装備されたソフトウエア・プログラム実行中に
夫々のタグをターゲットTから集めるというよりむしろ
ターゲット・システムから特定なタイプのタグを集める
(即ち、タグ・バッファに書き込む)といったことを可
能とする。下記により詳しく説明されるように、存在し
得る全タイプのコントロール・タグとデータ・タグ、ま
たは特定のタグ・タイプが収集されるべきかを示す関連
したコレクション・フラッグは、フィルタ・テーブル内
に保存される。ソース・コードに装備され実行中にター
ゲット・システムによって放出されるフィルタ・フラッ
グは、システム10を用いて様々なタグ・タイプのコレ
クション・フラッグのステイタスを修正するのに使用可
能である。そのため特定タグ・タイプの収集は、ターゲ
ット・システムによるソフトウエア・プログラム実行中
に変更することが可能である。
The lease of US Pat. No. 5,748,878;
In addition to the control and data tags disclosed by others, embodiments of the present invention further include a filter tag, wherein the filter tag modifies the criteria for collecting tags from the target system T. used. Filter tags are themselves a special type of control tag. The system 10, as in the software analysis system described in detail in the aforementioned leases and other patents, does not collect each tag from the target T during execution of the installed software program, but rather from the target system. It allows certain types of tags to be collected (ie, written to a tag buffer). As explained in more detail below, all possible types of control and data tags, or associated collection flags indicating whether a particular tag type should be collected, are stored in the filter table Is done. The filter flags that are implemented in the source code and emitted by the target system during execution can be used to modify the status of the collection flags for various tag types using the system 10. Therefore, the collection of a particular tag type can be changed during execution of the software program by the target system.

【0019】トレース・システムによって集められた全
体データを減らす目的で利用可能なシステム10のコレ
クション・フィルタリング・メカニズムを含めることが
様々な利益をもたらす。その利益の一つとしては、ソフ
トウエア開発者によって求められたタグ・タイプのみが
システム10で収集される為に必要なストーレッジ・リ
ソースを減少することが可能であるということが挙げら
れる。プローブを通してターゲット・システムTからタ
グが集められて専用のハードウエア・バッファに保存さ
れ、ハードウエア・ベース・コレクション・メカニズム
に関しては、必要なバッファのサイズが減少するので材
料費も減少することとなる。タグ・バッファとしてター
ゲット・システムのメモリを利用するソフトウエア・コ
レクション・メカニズムは、より少ないターゲット・シ
ステム・メモリが使われる結果として、ターゲット資源
の消費量を減少させる。一般的には、システム10のハ
ードウエアとソフトウエア資源がよりよく利用される。
その他の利益は、システム10によって集められたデー
タ量が要求されたタグ・タイプのみにまで減量される
為、より速いタグ・データのポスト・プロセシング・タ
イムを供給することができる。その結果、関連情報の表
示時間が減少し、関連情報のよりクリアな表示が可能と
なる。本発明の実施例により更なる利益を供給できるこ
とは評価されるべきであろう。
The inclusion of the collection filtering mechanism of system 10 that can be used to reduce the overall data collected by the tracing system provides various benefits. One benefit is that it is possible to reduce the storage resources required for only the tag types required by the software developer to be collected by the system 10. Tags are collected from the target system T through the probe and stored in a dedicated hardware buffer, and for a hardware-based collection mechanism the material cost is also reduced because the required buffer size is reduced. . A software collection mechanism that utilizes the target system memory as a tag buffer reduces target resource consumption as a result of using less target system memory. In general, the hardware and software resources of system 10 are better utilized.
Other benefits may provide faster post-processing time for tag data because the amount of data collected by system 10 is reduced to only the required tag type. As a result, the display time of the related information decreases, and clearer display of the related information becomes possible. It should be appreciated that embodiments of the present invention can provide additional benefits.

【0020】タグ・データのフィルタリング方法は、リ
ース、他の米国特許で簡単に説明されている。しかし、
前記米国特許で説明されているように、フィルタリング
方法は、分析データの表示のフィルタリングにしか関係
していない。リース、他の米国特許のトレース・システ
ムでは、タグ・データがソフトウエア分析システムによ
り無条件に集められ、そしてソフトウエア開発者がその
後無条件に収集されたタグの表示を、興味ある機能のみ
が表示されるようにフィルタすること可能である。それ
とは対照的に、本発明の実施例は、装備されたソフトウ
エア・プログラムの実行中にターゲット・システムTによ
って放出されたものから特定のタグが選択的に集められ
るようにプログラムすることが可能である。
A method for filtering tag data is briefly described in Lease, et al., US Pat. But,
As described in the aforementioned U.S. patents, the filtering method involves only filtering the display of the analytical data. In the tracing system of Leasing and other U.S. patents, tag data is unconditionally collected by a software analysis system, and the software developer then unconditionally displays the collected tags only for the functions of interest. It is possible to filter as displayed. In contrast, embodiments of the present invention can be programmed such that certain tags are selectively collected from those emitted by the target system T during the execution of an installed software program. It is.

【0021】プローブ・チップ12は、ターゲットTの
アドレス・バスとデータ・バスを監視し、プロセッサがい
つターゲット・システムTのアドレス・スペースのタグ・
ポート・アドレスをアドレスするかを決定する。その後
プローブ・チップ12は、現在データ・バス上のタグ・バ
リュをキャプチャする。その結果、現在キャプチャされ
ているタグ値は、ソース・コード60内の現在実行中の
位置を示す。その上、システム10は、プローブ20が
タグ値がキャプチャされる毎に夫々のタグ値を受けるこ
とで、ターゲットT内のソフトウエア実行を本質的にリ
アル・タイムでモニタする。プローブ・シャーシ20より
集めた情報をもって、システム10は、ファンクション
とタスク実行時間、適用範囲分析(即ち、実行された又
は非実行のソース・コード該当部分の識別)、メモリ・
アロケーション分析(即ち、どの程度のメモリをソース
・コード内の各々のアロケーション・ステイトメントが
アロケーションするかの識別と特定のアロケーション・
エラーの識別)、そしてプログラム・トレーシング(即
ち、ソース・コードの実行の経緯の作成)を決定するこ
とが可能である。最後に、プローブ・シャーシ20は、
ホスト・システム40と通信してデータをアップロード
し、そしてホスト・システム40によって表示すること
を可能とする。
The probe chip 12 monitors the address bus and the data bus of the target T, and the processor checks when the processor reads the tag bus of the address space of the target system T.
Determine whether to address the port address. Thereafter, the probe tip 12 captures the tag value on the current data bus. As a result, the currently captured tag value indicates the currently executing location in source code 60. Moreover, the system 10 monitors software execution in the target T essentially in real time, with the probe 20 receiving a respective tag value each time the tag value is captured. With the information gathered from the probe chassis 20, the system 10 can perform function and task execution times, coverage analysis (ie, identification of executed or non-executed portions of source code), memory,
Allocation analysis (i.e., identifying how much memory each allocation statement in the source code allocates and identifying a specific allocation
Error identities), and program tracing (ie, creating a history of execution of the source code). Finally, the probe chassis 20
It communicates with the host system 40 to upload data and allow it to be displayed by the host system 40.

【0022】図1及び図2のソフトウエア分析システム
10は、図3のブロック図により詳細に図示されてい
る。プローブ・シャーシ20は、ローカル・エリア・ネ
ットワーク・ケーブル30(図2)を通じてホスト・シ
ステム40に結合するコミュニケーション及びコントロ
ール・サーキット132を含む。前述のように、プロー
ブ・シャーシ20とホスト・システム40との間のインタ
ーフェイスは、スタンダード・イーサネット・コミュニ
ケーション・チャネルより構成されることも可能であ
る。更にプローブ・シャーシ20は、プローブ・チップ
12を通してターゲット・システムTをも結合される。
前述のように、プローブ・チップ12は、ターゲット・シ
ステムの上にとめられている。その結果、通常プローブ
・チップ12は、ターゲット・システムTで使われる特定
のマイクロプロセッサに特に合わせたものである。
The software analysis system 10 of FIGS. 1 and 2 is illustrated in more detail by the block diagram of FIG. Probe chassis 20 includes a communication and control circuit 132 that couples to host system 40 via local area network cable 30 (FIG. 2). As mentioned above, the interface between the probe chassis 20 and the host system 40 may be comprised of a standard Ethernet communication channel. Further, the probe chassis 20 is also coupled with the target system T through the probe tip 12.
As described above, the probe tip 12 is located above the target system. As a result, the probe tip 12 is typically tailored to the particular microprocessor used in the target system T.

【0023】ソフトウエア分析システム10は、リー
ス、他の米国特許に説明されている物と似ていると今ま
で説明されてきた。しかし本発明の実施例は、ソフトウ
エア・プログラム実行中にターゲット・システムTから無
条件に放出されるタグより特定のタグ・タイプを選択的
に収集する能力を有する。図3に図示されるのは、本発
明によるトレース・バッファ130の実施例であり、前
記トレース・バファ130はタグ・フィルタリングの特
色を採用するために使用される。トレース・バッファ1
30は、ターゲット・システムTのアドレス・スペース
内所定位置に対応するタグ・ポート・アドレスと共にコミ
ュニケーション及びコントロール・サーキット132に
よってプログラムされたタグ・レジスター134を含
む。一般的に、一つのタグ・ポート・アドレスは、コント
ロール・タグ用にプログラムされ、他のタグ・ポート・ア
ドレスは、データ・タグ用にプログラムされている。タ
グ・フィルタ140は、ソフトウエア分析システム10
がターゲット・システムTからの割込みを禁止されてい
る間、初期化とプログラミングの為にマルチプレクサ1
42、144を通してコミュニケーション及びコントロ
ール・サーキット132と結合されている。
The software analysis system 10 has been described to be similar to that described in Leasing, another US patent. However, embodiments of the present invention have the ability to selectively collect specific tag types from tags unconditionally emitted from target system T during execution of a software program. Illustrated in FIG. 3 is an embodiment of a trace buffer 130 according to the present invention, wherein the trace buffer 130 is used to employ tag filtering features. Trace buffer 1
30 includes a tag register 134 programmed by the communication and control circuit 132 with a tag port address corresponding to a predetermined location in the address space of the target system T. Generally, one tag port address is programmed for a control tag and the other tag port address is programmed for a data tag. The tag filter 140 is used for the software analysis system 10.
While interrupts from the target system T are disabled, the multiplexer 1 for initialization and programming.
It is coupled to a communication and control circuit 132 through 42 and 144.

【0024】フィルタ・テーブル141は、タグ・フィル
タ140によりインプレメントされる。フィルタ・テー
ブル141は、コントロール及びデータ・タグの全ての
タイプを含む。フィルタ・テーブル141内の夫々のタ
グ・タイプ入力に沿ってあるのは、特定なタグ・タイプ
用の現行のコレクション・クライテリアを示すフラッグ
である。フィルタ・テーブル141は、ターゲット・シ
ステムTから放出されるタグ・タイプの内どれがコレク
トされるかを決定するために、タグ・フィルタ140に
情報を求める。例えば、ある特定タグ・タイプに関連し
たフラッグがセットされた場合、そのタグ・タイプが収
集される。しかし、もしフラッグがセットされていない
場合、ターゲット・システムTから放出されるにもかか
わらず、タグ・タイプは無視される。その結果、フィル
タ・テーブル内でフラッグを収集可能に設定したタグ・
タイプのみに限り、タグ・バッファ148に保存され
る。下記に詳細に説明するように、フィルタ・テーブル
141のフラッグは、ソフトウエア・プログラム実行中
にターゲット・システムから放出された時に、ソース・
コードに装備されトレース・バッファにより収集された
フィルタ・タグか、又はソフトウエア開発者がフィルタ
リング・ユーザ・インターフェイスを通して直接フィル
タ・テーブル141にアクセスすることにより修正が可
能である。
The filter table 141 is implemented by the tag filter 140. The filter table 141 contains all types of controls and data tags. Along each tag type entry in the filter table 141 is a flag indicating the current collection criteria for the particular tag type. The filter table 141 asks the tag filter 140 for information to determine which of the tag types emitted from the target system T will be collected. For example, if a flag associated with a particular tag type is set, that tag type is collected. However, if the flag is not set, the tag type is ignored, despite being emitted from the target system T. As a result, tags and tags set to enable flag collection in the filter table
Only the type is stored in the tag buffer 148. As described in more detail below, the flags in the filter table 141, when emitted from the target system during execution of the software program, cause the source
Modifications can be made by filter tags implemented in the code and collected by the trace buffer, or by a software developer accessing the filter table 141 directly through a filtering user interface.

【0025】ソフトウエア分析システム10が使用可能
な時、タグ・フィルタ140がデータ・バス150とコ
ンパレータ152の出力夫々より情報を受けるように、
トレース・オン信号がマルチプレクサ142と144を
切り換える。コンパレータ152は、アドレス・バス1
54上に検知されたアドレスがタグ・アドレス・レジス
タ134内にプログラムされたタグ・ポート・アドレス
の一つと合った場合、タグ・ヒット信号を発する。タグ
・ヒット信号は、タグ・フィルタ140へ発信され、現
行のデータ・バス上のタグが事前にコレクトされるべき
であることを表示している。タグ・デコーダ158は、
事前に集められたタグ・データのタグ・タイプをデコー
ドし、フィルタ・テーブル141内にプログラムされた
現在の設定と比較されるべくタグ・フィルタ140にタ
グ・タイプを供給する。もしシステム10によってタグ
・タイプが収集されるべきと確認された場合、タグ・フ
ィルタ140はその旨を示すストア信号をタグ・バッフ
ァ148に発する。タイムスタンプ・ジェネレータ16
0は、タグ・バッファ148に書き込まれる前に、タグ
・データにタイムスタンプを追加する。タグ・データと
追加されたタイムスタンプは、結果的にはバス136上
のコミュ二ケーンケーション及びコントロール・サーキ
ット132に供給される。収集不可能と判断されたタグ
・タイプはシステム10で無視され、タグ・ブッファ1
48には書き込まれない。
When software analysis system 10 is enabled, tag filter 140 receives information from data bus 150 and the output of comparator 152, respectively.
The trace on signal switches multiplexers 142 and 144. Comparator 152 is connected to address bus 1
If the address detected on 54 matches one of the tag port addresses programmed in tag address register 134, it issues a tag hit signal. The tag hit signal is sent to the tag filter 140, indicating that the tag on the current data bus should be pre-collected. The tag decoder 158
It decodes the tag type of the pre-collected tag data and provides the tag type to the tag filter 140 for comparison with the current settings programmed in the filter table 141. If the tag type is determined by the system 10 to be collected, the tag filter 140 issues a store signal to the tag buffer 148 to that effect. Timestamp generator 16
0 adds a timestamp to the tag data before being written to the tag buffer 148. The tag data and the added time stamp are eventually provided to the communication and control circuit 132 on bus 136. The tag type determined to be uncollectable is ignored by the system 10 and the tag buffer 1
48 is not written.

【0026】データ・タグを受ける場合とは対照的に、
フィルタ・タグがデータ・バス150上のシステム10
によって受けられ、タグ・デコーダ158によってデコ
ードされる場合、フィルタ・タグはタグ・バッファ14
8ではなくタグ・フィルタ140に書き込まれる。フィ
ルタ・タグのタグ・データは、新たなフィルタリング情
報と共にフィルタ・テーブル141に保存されたコレク
ション・フラッグのステイタスを直ちにアップデイトす
るために使用される。そのため、タグ・バッファ148
に収集され書き込まれたタグ・データのタイプは、フィ
ルタ・タグがコレクトされる場合にソフトウエア分析シ
ステム10がターゲット・システムTを評価することに
よって修正される。
In contrast to receiving a data tag,
Filter tag on system 10 on data bus 150
, And if decoded by the tag decoder 158, the filter tag is stored in the tag buffer 14
8 is written to the tag filter 140 instead. The tag data of the filter tag is used to immediately update the status of the collection flag stored in the filter table 141 together with the new filtering information. Therefore, the tag buffer 148
The type of tag data collected and written to is modified by the software analysis system 10 evaluating the target system T when the filter tags are collected.

【0027】当業者は、シャーシ20がホスト40とタ
ーゲット・システムT間の通信を提供するためのその他
の従来の構成要素も含んでいることを評価するであろ
う。例えば、それはホスト40からターゲット・システ
ム・ソフトウエアへダウンロードされる代用メモリを含
むことが可能で、更にホスト40とターゲット・システ
ムTとの間で分析中の通信を可能にする通信経路を供給
する通信ポートをも含むことが可能である。しかし、図
3に示すそれらの構成要素の詳細な説明と図は簡潔にす
るためここでは省略する。
Those skilled in the art will appreciate that chassis 20 also includes other conventional components for providing communication between host 40 and target system T. For example, it can include a substitute memory that is downloaded from the host 40 to the target system software, and also provides a communication path that allows communication during analysis between the host 40 and the target system T. It can also include a communication port. However, a detailed description and illustration of those components shown in FIG. 3 are omitted here for brevity.

【0028】フィルタ・タグを使うことで、ソフトウエ
ア開発者は一般にソース・コードを一度だけ装備し、そ
の後フィルタリング機能を使って望んだトレース基準を
微調整する。ソフトウエア開発者は、プログラム・トレ
ーシング・タグ、データ・トレーシング・タグ、そして
メモリ・アロケーション・タグ等の如何なる種類のタグ
・タイプをもソース・コードに装備することが出来る。
しかし、ソフトウエア開発者はソフトウエア分析セッシ
ョン中にフィルタ・タグを使いフィルタ・テーブルを修
正することで望ましくない情報をダイナミックに取り除
くことができ、システム10が要求しているタグ・タイ
プのみを収集することを可能にする。例えば、ソフトウ
エア開発者は、プログラム・トレーシング、データ・ト
レーシング、そしてメモリ・アロケーションのためにソ
ース・コードを装備することが可能である。しかし、も
しソフトウエア開発者が現在望んでいる情報がプログラ
ム・トレーシングだけであった場合には、ターゲット・
システムが適切なフィルタ・タグを放出することでプロ
グラム・トレーシング・タグのみがシステム10から収
集され、フィルタ・テーブルは修正されることが可能と
なる。
By using filter tags, software developers typically implement the source code only once and then use the filtering function to fine-tune the desired trace criteria. Software developers can implement any type of tag type in the source code, such as program tracing tags, data tracing tags, and memory allocation tags.
However, software developers can dynamically remove unwanted information by modifying the filter table using filter tags during a software analysis session, collecting only the tag types required by system 10. To be able to For example, software developers can equip source code for program tracing, data tracing, and memory allocation. However, if the only information the software developer currently wants is program tracing,
The system emits the appropriate filter tags so that only the program tracing tags are collected from the system 10 and the filter table can be modified.

【0029】フィルタ・タグは、幾つもの異なった方法
でターゲット・システム内に配置可能である。例えばフ
ィルタ・タグは、インストルメンタル・プログラムを用
いてソース・コードに装備されることも可能である。ソ
フトウエア開発者は、ソース・コードに手動でフィルタ
・タグを入れることも可能である。フィルタ・タグは、
コンディショナル・ステイトメントにネストすることも
可能で、それによりあるランタイムの条件が満たされた
場合に限ってフィルタ・タグは、ターゲット・システム
Tから放出される。又は、フィルタ・タグがホスト・シ
ステム40のユーザ・インターフェイスを使い、分析中
にターゲット・システムへ位置することも可能である。
[0029] Filter tags can be placed in the target system in a number of different ways. For example, a filter tag can be implemented in the source code using an instrumental program. Software developers can also manually add filter tags to the source code. The filter tag is
It is also possible to nest in conditional statements, whereby the filter tags are emitted from the target system T only if certain runtime conditions are met. Alternatively, the filter tag can be located on the target system during the analysis using the user interface of the host system 40.

【0030】トレース・バッファ130の操作は、図4
に示されているフローチャート200に関連して説明さ
れる。ステップ202において、タグ・フィルタ140
は、コミュニケーション及びコントロール回路132に
より初期化され、そしてフィルタ・テーブル141は、
どのタグ・タイプが最初にソフトウエア分析システム1
0によって収集されるかを示すように配置している。シ
ステム10は、ステップ204において有効となり、ス
テップ206においてはトレース・バッファ130が、
タグ・アドレス・レジスタ134にプログラムされたタ
グ・ポート・アドレスとマッチするアドレス用のアドレ
ス・バス154のモニタを始める。タグ・ポート・アド
レスがステップ208で検知される時、現在データ・バ
ス150上のタグ・データは、ステップ210でタグ・
デコーダ158によってデコードされ、タグ・タイプ確
認を行う。ステップ212において、タグ・フィルタ1
40はタグ・タイプとフィルタ・テーブル141の設定
を検討し、タグが収集されタグ・バッファ148に書き
込まれるべきかを決定する。もしタグ・タイプが収集さ
れない場合、ソフトウエア分析システム10はステップ
204に戻り、トレース・システムが有効状態を維持
し、その後継続してアドレス・バス154をモニタし、
ステップ206でタグ・ポート・アドレスにおける次の
事柄の発生をモニタし続けるか否かを決定する。しか
し、収集されるべきタグ・タイプに関しては、その後タ
グ・フィルタ140が、ステップ214においてデータ
・バス150上に現在あるタグがフィルタ・タグかどう
かを判断する。フィルタ・タグは、ステップ216にお
いてフィルタ・テーブル141を即座にアップデートす
るためにタグ・フィルタ140に供給される。システム
10はその後、トレースが有効であり続けか否かを確認
するためにステップ204に戻り、そしてステップ20
6においてステップ204の確認が正しい場合はアドレ
ス・バス154のモニタを継続する。
The operation of the trace buffer 130 is shown in FIG.
Is described in connection with the flowchart 200 shown in FIG. In step 202, the tag filter 140
Is initialized by the communication and control circuit 132, and the filter table 141 is
Which tag type is the first software analysis system 1
It is arranged to indicate whether it is collected by 0. The system 10 is enabled in step 204 and in step 206 the trace buffer 130 is
Begin monitoring the address bus 154 for addresses that match the tag port address programmed in the tag address register 134. When the tag port address is detected in step 208, the tag data on the current data bus 150
It is decoded by the decoder 158 to perform tag type confirmation. In step 212, tag filter 1
40 reviews the tag type and the settings in the filter table 141 to determine if tags should be collected and written to the tag buffer 148. If the tag type is not collected, the software analysis system 10 returns to step 204, where the trace system remains enabled and then continuously monitors the address bus 154,
In step 206, it is determined whether to continue monitoring the next occurrence of the tag port address. However, for the tag type to be collected, the tag filter 140 then determines at step 214 whether the tag currently on the data bus 150 is a filter tag. The filter tags are provided to the tag filter 140 for immediately updating the filter table 141 in step 216. System 10 then returns to step 204 to see if the trace remains valid, and step 20
If the check in step 204 is correct in step 6, the monitoring of the address bus 154 is continued.

【0031】フィルタ・タグではないが収集されるべき
タグ・タイプは、ステップ218でタイムスタンプ・ジ
ェネレータ160によってタグ・データに付加するタイ
ムスタンプを有する。タイムスタンプの情報は、タグ受
信の相対的タイミングとその結果のターゲット・システ
ムTによる実行の相対的タイミングに関する情報を供給
する。ステップ220では、タグとその付加したタイム
スタンプがタグ・バッファ148にも書き込まれ、そし
てその後コミュニケーション及びコントロール・サーキ
ット132により読み取られる。システム10は、その
後ステップ204に戻り、システム10がターゲット・
システムTから無効となるまで、又はソフトウエア・プ
ログラムの実行が完成されるまで、アドレス・バスのモ
ニタを継続し、特定タグ・タイプの収集を継続する。
Tag types that are not filter tags but are to be collected have a timestamp added to the tag data by the timestamp generator 160 in step 218. The timestamp information provides information about the relative timing of tag reception and the resulting relative timing of execution by the target system T. In step 220, the tag and its appended timestamp are also written to tag buffer 148 and then read by communication and control circuit 132. System 10 then returns to step 204, where system 10
Until the system T becomes invalid or the execution of the software program is completed, the monitoring of the address bus is continued and the collection of a specific tag type is continued.

【0032】本発明のその他の実施例においては、フィ
ルタ・テーブル141にプログラムされたフィルタリン
グの基準は、システム10を使用することによってソフ
トウエア開発者により直接修正されることが可能であ
る。即ち、ソフトウエア開発者が、ユーザ・インターフ
ェイスを通してフィルタ・テーブル141に直接アクセ
スすることが可能で、ターゲット・システムTにより放
出された時、どのタグ・タイプがシステム10により収
集されるべきかを設定する。リース、他の米国特許で詳
細に説明されたものに似たユーザ・インターフェイス
は、システム10のコマンド・ウィンドウへメニュー項
目として一体化することも可能である。例えば、フィル
タリング・ユーザ・インターフェイスは、フィルタ・テ
ーブル141と各タグのコレクション・フラッグの現状
を示すテーブルを表示可能であり、フィルタ・テーブル
141はシステム10によって収集可能なコントロール
及びデータ・タグ・タイプの全タイプを含む。ソフトウ
エア開発者は、その後選択的に適切なコレクション・フ
ラッグの設定をすることで、システム10がどのタグ・
タイプを集めるべきかを選ぶことが出来る。ターゲット
・システムTにより放出される場合、コレクション・フ
ラッグの設定をしていないタグ・タイプの全てがシステ
ム10によって無視される。
In another embodiment of the present invention, the filtering criteria programmed in filter table 141 can be modified directly by a software developer by using system 10. That is, the software developer can directly access the filter table 141 through the user interface and set which tag types should be collected by the system 10 when emitted by the target system T. . A user interface similar to that described in detail in Leasing and other U.S. patents may also be integrated into the command window of system 10 as a menu item. For example, the filtering user interface can display a filter table 141 and a table indicating the current state of the collection flag for each tag, and the filter table 141 can display the control and data tag types that can be collected by the system 10. Including all types. The software developer can then selectively set the appropriate collection flags so that system 10
You can choose whether to collect types. When emitted by the target system T, all tag types that do not have the collection flag set are ignored by the system 10.

【0033】本発明実施例の特徴は、ソフトウエア開発
者のソフトウエア分析により優れた柔軟性を与えるとい
ったことに関連した使用が可能であるということであ
る。例えば、フィルタリング・ユーザ・インターフェイ
スを使うことによって、ソフトウエア開発者はフィルタ
・テーブル141に直接アクセスすること、そしてシス
テム10がターゲット・システムTからのフィルタ・タ
グを収集するかそれとも無視するかを設定することが可
能となる。ターゲット・システムTから放出されたフィ
ルタ・タグが無視されるようにフィルタ・タグ用のコレ
クション・フラッグが設定されている場合、タグ・コレ
クション基準は、ソフトウエア開発者が後で直接フィル
タ・テーブル141を修正するまで、同じであり続け
る。しかし、フィルタ・タグが収集されるようにフィル
タ・タグ用のコレクション・フラッグが設定される場
合、ターゲット・システムTからフィルタ・タグが放出
される度にコレクション基準が修正される。
A feature of an embodiment of the present invention is that it can be used in connection with providing greater flexibility to software analysis for software developers. For example, by using a filtering user interface, a software developer may directly access the filter table 141 and configure whether the system 10 will collect or ignore filter tags from the target system T. It becomes possible. If the collection flag for the filter tag is set so that the filter tag emitted from the target system T is ignored, the tag collection criteria will be used by the software developer directly later on the filter table 141. Until it is fixed. However, if the collection flag for a filter tag is set so that the filter tag is collected, the collection criteria is modified each time the filter tag is emitted from the target system T.

【0034】本発明実施例が説明の目的でここに記述さ
れてきたが、本発明の精神及びスコープから逸脱しない
範囲で様々な修正が可能であると前述の説明より評価さ
れるべきである。従って本発明は、追加請求項に限定さ
れる以外は限定されていないものとする。
While embodiments of the present invention have been described herein for purposes of explanation, it should be appreciated from the foregoing description that various modifications can be made without departing from the spirit and scope of the invention. Accordingly, it is not intended that the invention be limited, except as by the appended claims.

【手続補正書】[Procedure amendment]

【提出日】平成13年4月11日(2001.4.1
1)
[Submission date] April 11, 2001 (2001.4.1
1)

【手続補正1】[Procedure amendment 1]

【補正対象書類名】明細書[Document name to be amended] Statement

【補正対象項目名】図面の簡単な説明[Correction target item name] Brief description of drawings

【補正方法】追加[Correction method] Added

【補正内容】[Correction contents]

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

【図1】 本発明の実施例におけるソフトウエア分析
システムの等角図。
FIG. 1 is an isometric view of a software analysis system according to an embodiment of the present invention.

【図2】 図1のソフトウエア分析システムとその使
用方法の概略及びブロック図。
FIG. 2 is a schematic and block diagram of the software analysis system of FIG. 1 and a method of using the same.

【図3】 本発明の実施例におけるトレース・バッフ
ァの概略及びブロック図。
FIG. 3 is a schematic and block diagram of a trace buffer according to the embodiment of the present invention.

【図4】 図3のトレース・バッファの作動フローチ
ャート。
FIG. 4 is an operation flowchart of the trace buffer of FIG. 3;

───────────────────────────────────────────────────── フロントページの続き (72)発明者 デリック ジェイソン バーム アメリカ合衆国 ワシントン州 98019 デュバル ノースイースト 151 ストリ ート 28503 (72)発明者 リチャード ドナルド エリス アメリカ合衆国 ワシントン州 98014 カーネイション ノースイースト 63 ウ ェイ 38432 (72)発明者 ジェフリー リー ティンカー アメリカ合衆国 ワシントン州 98027 ケンモア 73 アベニュー ノースイース ト 14913 Fターム(参考) 5B042 GB08 HH03 HH20  ────────────────────────────────────────────────── ─── Continued on the front page (72) Inventor Derrick Jason Balm United States of America 98019 Duval Northeast 151 Street 28503 (72) Inventor Richard Donald Ellis United States of America 98014 Carnation Northeast 63 Way 38432 (72) Inventor Jeffrey Lee Tinker 98027 Kenmore, Washington USA 73 Avenue Northeast 14913 F-term (reference) 5B042 GB08 HH03 HH20

Claims (25)

【特許請求の範囲】[Claims] 【請求項1】 ターゲット・システムが既定のメモリ位
置にアクセスし、ターゲット・システムのデータ・バス
にタグを適用し、前記ソフトウエア・プログラムに装備
したタグ・ステイトメントが実行された場合に各タグが
タグ・タイプ及びタグ・データを有する、ターゲット・
システム上に実行するソフトウエア・プログラムの分析
システムにおいて、 ターゲット・システムのアドレス・バスに結合して既定
のメモリ位置へのアクセスを検知し、ターゲット・シス
テムによってタグの放出を示す検知シグナルに対してジ
ェネレイトするタグ検知回路と、 受信する検知信号に対してタグの一つを捕捉するための
ターゲット・システムのタグ検知回路とデータ・バスに
結合し、捕捉したタグのタグ・タイプをデコードするた
めのデコーダ回路を有したトレース・フィルタと、 タグ・タイプを受けるデコーダ回路と結合し、捕捉した
タグがフィルタリング基準からみて収集可能か否かを決
定するコンパレータ回路と、 トレース・フィルタと結合し、収集可能なタグのタグ・
データを集めるように構成した収集装置とより成ること
を特徴とする、 ターゲット・システム上に実行するソフトウエア・プロ
グラムの分析システム。
1. A target system accesses a predetermined memory location, applies a tag to a data bus of the target system, and performs each tag when a tag statement provided in the software program is executed. Target has tag type and tag data
An analysis system for a software program executing on a system, which is coupled to an address bus of a target system to detect access to a predetermined memory location, and responds to a detection signal indicating the release of a tag by the target system. A tag detection circuit to generate, a tag detection circuit of the target system for capturing one of the tags for the detection signal to be received, and a data bus for coupling to the tag type of the captured tag. A trace filter having a decoder circuit, a decoder circuit for receiving a tag type, and a comparator circuit for determining whether a captured tag can be collected based on filtering criteria, and a trace filter for collecting and collecting Tag of the tag
An analysis system for a software program executed on a target system, comprising: a collection device configured to collect data.
【請求項2】 請求項1に記載のターゲット・システム
上に実行するソフトウエア・プログラムの分析システム
において、 トレース・フィルタはプログラム可能であり、フィルタ
リング基準のプログラムを可能とすることを特徴とす
る、 ターゲット・システム上に実行するソフトウエア・プロ
グラムの分析システム。
2. The analysis system of a software program running on a target system according to claim 1, wherein the trace filter is programmable, enabling the programming of filtering criteria. Analysis system for software programs executed on the target system.
【請求項3】 請求項1に記載のターゲット・システム
上に実行するソフトウエア・プログラムの分析システム
において、 更にプローブを有し、前記プローブを通してアドレス・
バスにタグ検知回路が結合され、アドレス・バスにフィ
ルタ・タグ検知回路が結合されることを特徴とする、 ターゲット・システム上に実行するソフトウエア・プロ
グラムの分析システム。
3. The system for analyzing a software program executed on a target system according to claim 1, further comprising a probe, wherein an address / address is transmitted through said probe.
An analysis system for a software program executed on a target system, wherein a tag detection circuit is coupled to a bus, and a filter tag detection circuit is coupled to an address bus.
【請求項4】 請求項1に記載のターゲット・システム
上に実行するソフトウエア・プログラムの分析システム
において、 更に収集可能タグのタグ・データを受け、処理するため
の収集装置と結合するホスト・プロセッサを有したこと
を特徴とする、ターゲット・システム上に実行するソフ
トウエア・プログラムの分析システム。
4. The system for analyzing a software program executed on a target system according to claim 1, further comprising: a host processor coupled to a collection device for receiving and processing tag data of a collectable tag. An analysis system for a software program to be executed on a target system, comprising:
【請求項5】 請求項1に記載のターゲット・システム
上に実行するソフトウエア・プログラムの分析システム
において、 収集装置は、収集可能なタグのタグ・データを一時的に
保存するためのタグ・バッファを有することを特徴とす
る、 ターゲット・システム上に実行するソフトウエア・プロ
グラムの分析システム。
5. The analysis system for a software program executed on a target system according to claim 1, wherein the collection device temporarily stores tag data of tags that can be collected. An analysis system for a software program to be executed on a target system, comprising:
【請求項6】 請求項5に記載のターゲット・システム
上に実行するソフトウエア・プログラムの分析システム
において、 更にバッファに保存する時にタイムスタンプ・データを
収集可能なタグのタグ・データに付加するためにタグ・
バッファと結合するタイムスタンプ・ジェネレータを有
することを特徴とする、 ターゲット・システム上に実行するソフトウエア・プロ
グラムの分析システム。
6. The analysis system for a software program executed on a target system according to claim 5, further comprising: adding time stamp data to tag data of a collectable tag when storing the data in a buffer. Tags
An analysis system for a software program executing on a target system, comprising a time stamp generator coupled to a buffer.
【請求項7】 請求項1に記載のターゲット・システム
上に実行するソフトウエア・プログラムの分析システム
において、 収集装置は収集可能なタグのタグ・データを集めて処理
するプロセッサを有することを特徴とする、 ターゲット・システム上に実行するソフトウエア・プロ
グラムの分析システム。
7. The analysis system for a software program executed on a target system according to claim 1, wherein the collection device has a processor for collecting and processing tag data of tags that can be collected. An analysis system for software programs to be executed on the target system.
【請求項8】 請求項1に記載のターゲット・システム
上に実行するソフトウエア・プログラムの分析システム
において、 トレース・フィルタは、フィルタリング基準の保存用フ
ィルタ・テーブルを装備するようアダプトされ、フィル
タ・テーブルがタグ・タイプのリストと設定時に各タグ
・タイプが収集可能であることを示す関連するコレクシ
ョン・フラッグを有することを特徴とする、 ターゲット・システム上に実行するソフトウエア・プロ
グラムの分析システム。
8. The analysis system for a software program running on a target system according to claim 1, wherein the trace filter is adapted to include a filter table for storing filtering criteria, and the filter table is provided. A system for analyzing software programs executing on a target system, wherein the system has a list of tag types and an associated collection flag indicating that each tag type can be collected when set.
【請求項9】 ターゲット・システムがソフトウエア・
プログラム内に存在する実行タグ・ステイトメントに対
してタグ・タイプとタグ・データを有するタグを生成す
る、ターゲット・システム上に実行するソフトウエア・
プログラムの分析システムにおいて、 ターゲット・システムのデータ・バスに結合するプロー
ブと、 ターゲット・システムにより生成されるタグを捕捉する
ようにプローブと結合したトレース・バッファとより構
成し、 前記トレース・バッファは、捕捉したタグのタグ・タイ
プをデコードするためにプローブを通じて データ・バ
スに結合したデコーダと、 プログラム可能なフィルタリング基準に準じて収集不可
能なタグ・タイプを取り除き、収集可能なタグを集める
ためにデコーダに結合するタグ・フィルタと、収集され
たタグ・データの保存のためにタグ・フィルタと結合す
るバッファと、 収集されたタグ・データを処理するためにトレース・バ
ッファと結合するプロセッサとより構成することを特徴
とする、 ターゲット・システム上に実行するソフトウエア・プロ
グラムの分析システム。
9. The target system is a software system.
A software to be executed on a target system that generates a tag having a tag type and tag data for an execution tag statement present in a program.
A program analysis system, comprising: a probe coupled to a data bus of a target system; and a trace buffer coupled to the probe so as to capture a tag generated by the target system, wherein the trace buffer comprises: A decoder coupled to the data bus through a probe to decode the tag type of the captured tags, and a decoder to remove uncollectable tag types according to programmable filtering criteria and collect collectable tags A tag filter that couples with the tag filter, a buffer that couples with the tag filter for storing the collected tag data, and a processor that couples with the trace buffer to process the collected tag data. On the target system Analysis system of software programs to be executed.
【請求項10】 請求項9に記載のターゲット・システ
ム上に実行するソフトウエア・プログラムの分析システ
ムにおいて、 更にトレース・バッファが、保存されたタグ・データに
タイムスタンプ情報を付加するバッファと結合したタイ
ムスタンプ・ジェネレータ有することを特徴とする、 ターゲット・システム上に実行するソフトウエア・プロ
グラムの分析システム。
10. The system for analyzing a software program running on a target system according to claim 9, further comprising a trace buffer coupled to a buffer for adding time stamp information to the stored tag data. An analysis system for a software program executed on a target system, characterized by having a time stamp generator.
【請求項11】 請求項9に記載のターゲット・システ
ム上に実行するソフ トウエア・プログラム分析システムにおいて、プログラ
ム・フィルタリング基準は、各タグ・タイプと関連した
コレクション・フラッグを有するフィルタ・テーブルに
よって装備され、前記コレクション・フラッグはタグ・
タイプが収集可能か否かを示すことを特徴とする、 ターゲット・システム上に実行するソフトウエア・プロ
グラムの分析システム。
11. The software program analysis system running on a target system according to claim 9, wherein the program filtering criteria is provided by a filter table having a collection flag associated with each tag type. , The collection flag is a tag
An analysis system for a software program to be executed on a target system, wherein the system indicates whether a type can be collected.
【請求項12】 ソフトウエア・プログラムに装備され
た実行可能タグ・ステイトメントが実行された時、ター
ゲット・システムがタグ・タイプとタグ・データとを有
するタグを放出する、ターゲット・システム上に実行す
るソフトウエア・プログラムの分析システムにおいて、 ターゲット・システムから放出されたタグを検知する検
知手段と、 フィルタリング基準によって放出したタグをフィルタす
るタグ・フィルタリング手段と、 フィルタリング基準を満たしてタグの収集をする収集手
段と、 収集したタグの処理をするプロセス手段とより構成する
ことを特徴とする、ターゲット・システム上に実行する
ソフトウエア・プログラムの分析システム。
12. An executable tag statement implemented in a software program, wherein the target system emits a tag having a tag type and tag data when executed on the target system. In a software program analysis system, a detecting means for detecting tags emitted from a target system, a tag filtering means for filtering tags emitted according to a filtering criterion, and collecting tags satisfying the filtering criteria An analysis system for a software program to be executed on a target system, comprising: a collecting unit; and a process unit for processing the collected tags.
【請求項13】 請求項12に記載のターゲット・シス
テム上に実行するソフトウエア・プログラムの分析シス
テムにおいて、 前記タグ・フィルタリング手段は、フィルタリング基準
をプログラムするプログラム可能手段を有することを特
徴とする、 ターゲット・システム上に実行するソフトウエア・プロ
グラムの分析システム。
13. The system for analyzing a software program running on a target system according to claim 12, wherein said tag filtering means comprises programmable means for programming filtering criteria. Analysis system for software programs executed on the target system.
【請求項14】 請求項13に記載のターゲット・シス
テム上に実行するソフトウエア・プログラムの分析シス
テムにおいて、 プログラム可能手段は、収集手段によって収集されるフ
ィルタ・タグを有し、該フィルタ・タグがフィルタ・タ
グのタグ・データに従ってフィルタリング基準を再プロ
グラムするタグ・データを有することを特徴とする、 ターゲット・システム上に実行するソフトウエア・プロ
グラムの分析システム。
14. The system for analyzing a software program running on a target system according to claim 13, wherein the programmable means comprises a filter tag collected by the collecting means, wherein the filter tag is An analysis system for a software program running on a target system, comprising tag data for reprogramming filtering criteria according to tag data of a filter tag.
【請求項15】 請求項12に記載のターゲット・シス
テム上に実行するソフトウエア・プログラムの分析シス
テムにおいて、 放出されたタグのタグ・タイプをデコードするデコード
手段と、 フィルタリング基準にデコードされたタグ・タイプを比
べるコンパレータ手段を有し、該コンパレータ手段は、
更に収集不可能と判断されたタグ・タイプを有するタグ
を無視し、収集可能と判断されたタグ・タイプを有する
タグを選ぶことを特徴とする、 ターゲット・システム上に実行するソフトウエア・プロ
グラムの分析システム。
15. An analysis system for a software program executed on a target system according to claim 12, wherein: decoding means for decoding a tag type of the released tag; It has a comparator means for comparing types, the comparator means comprising:
A software program to be executed on a target system, further comprising ignoring a tag having a tag type determined to be uncollectable and selecting a tag having a tag type determined to be collectable. Analysis system.
【請求項16】 請求項12に記載のターゲット・シス
テム上に実行するソフトウエア・プログラムの分析シス
テムにおいて、 前記収集手段は、プロセス手段を用いての処理以前に、
収集されたタグを一時的に保存するためのタグ・バッフ
ァ有することを特徴とする、 ターゲット・システム上に実行するソフトウエア・プロ
グラム分析システム。
16. The analysis system for a software program executed on a target system according to claim 12, wherein the collecting means is configured to perform processing before processing using the processing means.
A software program analysis system executed on a target system, comprising a tag buffer for temporarily storing collected tags.
【請求項17】 請求項16に記載のターゲット・シス
テム上に実行するソフトウエア・プログラムの分析シス
テムにおいて、 更にタグ・バッファに保存する場合はタグ・データにタ
イムスタンプ・データを付加するためのタイムスタンプ
・ジェネレータを有することを特徴とする、 ターゲット・システム上に実行するソフトウエア・プロ
グラムの分析システム。
17. The system for analyzing a software program executed on a target system according to claim 16, further comprising a time for adding timestamp data to the tag data when storing the data in a tag buffer. An analysis system for a software program to be executed on a target system, comprising a stamp generator.
【請求項18】 請求項13に記載のターゲット・シス
テム上に実行するソフトウエア・プログラムの分析シス
テムにおいて、 プロセス手段は、ホスト・プロセッサを有することを特
徴とする、 ターゲット・システム上に実行するソフトウエア・プロ
グラムの分析システム。
18. The software program analysis system according to claim 13, wherein the processing means has a host processor. 18. The software program executed on the target system according to claim 13, wherein: Wear program analysis system.
【請求項19】 ソフトウエア・プログラムに装備され
た実行可能タグ・ステイトメントが実行される場合、タ
ーゲット・システムがタグ・タイプとタグ・データを有
するタグを生成する、ターゲット・システム内で実行す
るソフトウエアの分析方法において、 ターゲット・システムによって生成されるタグを検知す
るステップと、 プログラム可能なフィルタリング基準に沿って、検知し
たタグをフィルタするステップと、 プログラム可能なフィルタリング基準を満たすタグを収
集するステップとより成る、 ターゲット・システム内で実行するソフトウエアの分析
方法。
19. When an executable tag statement included in a software program is executed, the target system generates a tag having a tag type and tag data, and executes in the target system. Detecting a tag generated by a target system; filtering the detected tag according to a programmable filtering criterion; collecting tags meeting the programmable filtering criterion A method for analyzing software executed in a target system, comprising steps.
【請求項20】 請求項19に記載のターゲット・シス
テム内で実行するソフトウエアの分析方法において、 更に収集されたタグを処理するステップを含む、ターゲ
ット・システム内で実行するソフトウエアの分析方法。
20. The method for analyzing software executed in a target system according to claim 19, further comprising a step of processing the collected tags.
【請求項21】 請求項19に記載のターゲット・シス
テム内で実行するソフトウエアの分析方法において、放
出されたタグのフィルタリングは、 検知されたタグのタグ・タイプをデコードするステップ
と、 プログラム可能なフィルタリング基準にそった夫々のタ
グ・タイプのプログラム可能な収集状況を決定するステ
ップと、 収集不可能と判断されたタグ・タイプを持つタグを無視
するステップと、 収集可能と判断されたタグ・タイプを持つタグを選択す
るステップとを有す、ターゲット・システム内で実行す
るソフトウエアの分析方法。
21. The method of analyzing software running in a target system according to claim 19, wherein the filtering of the emitted tags comprises: decoding a tag type of the detected tags; Determining a programmable collection status for each tag type according to the filtering criteria; ignoring tags having a tag type determined not to be collectable; and tag types determined to be collectable Selecting a tag having the following: a method for analyzing software executed in the target system.
【請求項22】 請求項19に記載のターゲット・シス
テム内で実行するソフトウエアの分析方法において、 タグ収集がタグ・バッファにタグ・データを保存するス
テップを含んだことを特徴とする、 ターゲット・システム内で実行するソフトウエアの分析
方法。
22. The method of analyzing software running in a target system according to claim 19, wherein tag collection includes storing tag data in a tag buffer. A method for analyzing software running in the system.
【請求項23】 請求項22に記載のターゲット・シス
テム内で実行するソフトウエアの分析方法において、 更にタグ・バッファに保存された場合、タグ・データに
タイムスタンプを付加するステップを含むことを特徴と
する、 ターゲット・システム内で実行するソフトウエアの分析
方法。
23. The method for analyzing software executed in a target system according to claim 22, further comprising a step of adding a time stamp to the tag data when stored in a tag buffer. Analysis method of software executed in the target system.
【請求項24】 請求項19に記載のターゲット・シス
テム内で実行するソフトウエアの分析方法において、 更にプログラム可能のフィルタリング基準を再プログラ
ムするステップを含むことを特徴とする、 ターゲット・システム内で実行するソフトウエアの分析
方法。
24. The method for analyzing software running in a target system according to claim 19, further comprising the step of reprogramming the programmable filtering criteria. Software analysis method.
【請求項25】 請求項24に記載のターゲット・シス
テム内で実行するソフトウエアの分析方法において、 フィルタ・タグのタグ・データに沿って、タグ・タイプ
用のフィルタ・タグを収集し、コレクション・フラッグ
を設定するステップをプログラム可能なフィルタリング
基準の再プログラムに含むことを特徴とする、 ターゲット・システム内で実行するソフトウエアの分析
方法。
25. The method of analyzing software executed in a target system according to claim 24, wherein a filter tag for a tag type is collected along with tag data of the filter tag, and the collection tag is collected. A method for analyzing software running in a target system, comprising the step of re-programming a programmable filtering criterion including setting a flag.
JP2001020612A 2001-01-29 2001-01-29 Software analytic system having device selectively gathering analytic data from target system execution software having tag statement and its use method Pending JP2002236596A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2001020612A JP2002236596A (en) 2001-01-29 2001-01-29 Software analytic system having device selectively gathering analytic data from target system execution software having tag statement and its use method

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2001020612A JP2002236596A (en) 2001-01-29 2001-01-29 Software analytic system having device selectively gathering analytic data from target system execution software having tag statement and its use method

Publications (1)

Publication Number Publication Date
JP2002236596A true JP2002236596A (en) 2002-08-23

Family

ID=18886294

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2001020612A Pending JP2002236596A (en) 2001-01-29 2001-01-29 Software analytic system having device selectively gathering analytic data from target system execution software having tag statement and its use method

Country Status (1)

Country Link
JP (1) JP2002236596A (en)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2009529722A (en) * 2006-03-09 2009-08-20 エイアールエム リミテッド Apparatus, method and computer program product for generating tracking data

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2009529722A (en) * 2006-03-09 2009-08-20 エイアールエム リミテッド Apparatus, method and computer program product for generating tracking data
US8468394B2 (en) 2006-03-09 2013-06-18 Arm Limited Method of tracing selected activities within a data processing system by tagging selected items and tracing the tagged items

Similar Documents

Publication Publication Date Title
EP1130518B1 (en) Software analysis system having an apparatus for selectively collecting analysis data from a target system executing software instrumented with tag statements and method for use thereof
US5265254A (en) System of debugging software through use of code markers inserted into spaces in the source code during and after compilation
US6430741B1 (en) System and method for data coverage analysis of a computer program
EP0567722B1 (en) System for analyzing and debugging embedded software through dynamic and interactive use of code markers
US7185320B2 (en) System and method for processing breakpoint events in a child process generated by a parent process
US7266809B2 (en) Software debugger and software development support system for microcomputer operable to execute conditional execution instruction
US5987250A (en) Transparent instrumentation for computer program behavior analysis
US9111038B2 (en) Integrated debugger and code coverage tool
US6311327B1 (en) Method and apparatus for analyzing software in a language-independent manner
JP2019537782A (en) System, method and device for vertically integrated instrumentation and trace reconstruction
US20080270840A1 (en) Device and method for testing embedded software using emulator
EP2686772B1 (en) Diagnosing code using single step execution
JP2007500401A (en) Software debugging apparatus and method
JPH11110254A (en) Exception identification device and method for software debugging
US6609247B1 (en) Method and apparatus for re-creating the trace of an emulated instruction set when executed on hardware native to a different instruction set field
US8533683B2 (en) Stack walking enhancements using sensorpoints
US9361205B2 (en) Code coverage framework
US20080127118A1 (en) Method and system for dynamic patching of software
US7243059B2 (en) Simulation of hardware based on smart buffer objects
JP2002236596A (en) Software analytic system having device selectively gathering analytic data from target system execution software having tag statement and its use method
Clarke et al. Implementation aspects of a SPARC V9 complete machine simulator
US20090070745A1 (en) System and corresponding method for testing software embedded in an electronic device
Studio Getting Started Guide
JP3165105B2 (en) Program tracer, compiler and linker
Julino Lightweight introspection for full system simulations

Legal Events

Date Code Title Description
A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20040702

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20040727

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20041026

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20050510

A711 Notification of change in applicant

Free format text: JAPANESE INTERMEDIATE CODE: A711

Effective date: 20050520

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A821

Effective date: 20050520

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20050901

A911 Transfer of reconsideration by examiner before appeal (zenchi)

Free format text: JAPANESE INTERMEDIATE CODE: A911

Effective date: 20051025

A912 Removal of reconsideration by examiner before appeal (zenchi)

Free format text: JAPANESE INTERMEDIATE CODE: A912

Effective date: 20051126

A601 Written request for extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A601

Effective date: 20080227

A602 Written permission of extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A602

Effective date: 20080303