JP2013097580A - Dynamic analysis device, dynamic analysis system, dynamic analysis method and program - Google Patents
Dynamic analysis device, dynamic analysis system, dynamic analysis method and program Download PDFInfo
- Publication number
- JP2013097580A JP2013097580A JP2011239823A JP2011239823A JP2013097580A JP 2013097580 A JP2013097580 A JP 2013097580A JP 2011239823 A JP2011239823 A JP 2011239823A JP 2011239823 A JP2011239823 A JP 2011239823A JP 2013097580 A JP2013097580 A JP 2013097580A
- Authority
- JP
- Japan
- Prior art keywords
- data
- bus
- history
- variable
- dynamic analysis
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Granted
Links
- 238000004458 analytical method Methods 0.000 title claims abstract description 133
- 230000006870 function Effects 0.000 claims abstract description 151
- 238000012545 processing Methods 0.000 claims abstract description 59
- 238000007405 data analysis Methods 0.000 claims abstract description 27
- 230000004044 response Effects 0.000 claims abstract description 10
- 230000007704 transition Effects 0.000 claims description 83
- 238000004891 communication Methods 0.000 claims description 38
- 238000000034 method Methods 0.000 claims description 30
- 230000008569 process Effects 0.000 claims description 23
- 230000009471 action Effects 0.000 claims 1
- 238000012544 monitoring process Methods 0.000 description 55
- 238000013523 data management Methods 0.000 description 23
- 230000008859 change Effects 0.000 description 17
- 238000013500 data storage Methods 0.000 description 15
- 238000010586 diagram Methods 0.000 description 7
- RRLHMJHRFMHVNM-BQVXCWBNSA-N [(2s,3r,6r)-6-[5-[5-hydroxy-3-(4-hydroxyphenyl)-4-oxochromen-7-yl]oxypentoxy]-2-methyl-3,6-dihydro-2h-pyran-3-yl] acetate Chemical compound C1=C[C@@H](OC(C)=O)[C@H](C)O[C@H]1OCCCCCOC1=CC(O)=C2C(=O)C(C=3C=CC(O)=CC=3)=COC2=C1 RRLHMJHRFMHVNM-BQVXCWBNSA-N 0.000 description 5
- 238000012360 testing method Methods 0.000 description 4
- 238000007726 management method Methods 0.000 description 3
- 230000004913 activation Effects 0.000 description 2
- 238000011161 development Methods 0.000 description 2
- 238000009434 installation Methods 0.000 description 2
- 101100328887 Caenorhabditis elegans col-34 gene Proteins 0.000 description 1
- 230000005540 biological transmission Effects 0.000 description 1
- 238000004590 computer program Methods 0.000 description 1
- 230000002452 interceptive effect Effects 0.000 description 1
- 239000004973 liquid crystal related substance Substances 0.000 description 1
- 238000012423 maintenance Methods 0.000 description 1
- 230000000737 periodic effect Effects 0.000 description 1
Images
Abstract
Description
この発明は、制御装置等の動作を動的に解析する動的解析装置、動作解析システム、動作解析方法、コンピュータに動的解析を実行させるコンピュータプログラムに関する。 The present invention relates to a dynamic analysis apparatus, an operation analysis system, an operation analysis method, and a computer program that causes a computer to execute dynamic analysis.
プログラムの動作試験や不具合解析において、特定のメモリへのアクセスや、関数遷移の解析を行う場合、一般には専用のICE(In Circuit Emulator)をコンピュータに接続して解析する。もしくは、プログラムのソースコード内にデバッグプリント文を埋め込み、データ内容を出力して解析している。 In a program operation test or failure analysis, when a specific memory is accessed or a function transition is analyzed, a dedicated ICE (In Circuit Emulator) is generally connected to the computer for analysis. Alternatively, a debug print statement is embedded in the source code of the program, and the data contents are output and analyzed.
ICEはCPUの動作を専用の機器で模擬するもので、一行単位でプログラムを実行するステップ実行機能、実行途中での一時停止機能(Break)、指定メモリ内容の表示機能などが備わっている。ICEには、基板のCPU部分をICソケットに変更してCPU機能を完全にICEに置換えるフルICEタイプ、JTAG通信でCPUとアクセスして実行状態を制御するJTAG ICEタイプがある。
いずれのタイプのICEも、利用時には、基板上に専用のICソケットやJTAGコネクタに接続する必要がある。ICEはプログラム作成時に用いられることがほとんどであるため、最終的な量産品の基板からICソケットやJTAGコネクタは削除されることがほとんどである。
The ICE simulates the operation of the CPU with a dedicated device, and includes a step execution function for executing a program in units of one line, a pause function (Break) during execution, a display function of designated memory contents, and the like. ICE includes the full ICE type in which the CPU function of the board is changed to an IC socket and the CPU function is completely replaced with ICE, and the JTAG ICE type in which the CPU is accessed by JTAG communication to control the execution state.
When using any type of ICE, it is necessary to connect a dedicated IC socket or JTAG connector on the board. Since ICE is mostly used at the time of program creation, IC sockets and JTAG connectors are often deleted from final mass-produced boards.
デバッグプリントはプログラム上に試験用のコードを埋め込み、特定データの値などを外部に出力する手法であり、ICEのように外付けの機器は不要である。しかしながら、デバッグプリントを入れる位置や量などによって実動作時の性能や、実行タイミングなどが実際の量産品とは異なることとなる。 Debug printing is a technique for embedding a test code in a program and outputting the value of specific data to the outside, and does not require an external device such as ICE. However, the actual operation performance, execution timing, and the like differ from actual mass-produced products depending on the position and amount of the debug print.
試験時と運用時とで動作タイミングに差が発生しない方式が特許文献1に開示されている。この方式は、バス上のアドレス信号と制御信号とを観測し、予め設定されたデータ記憶回路の特定アドレスをアクセスしたことを検出したときに起動要求信号を出力するアクセス判定回路と、起動要求信号に応答して、特定アドレスのデータをトレースデータセーブエリアに記憶し常に最新のデータから一定回数以前までのデータを記憶するよう制御する回路とを備え、運用時に使用する通常プログラムを使用してデバッグする方式が提案されている。この方式によれば、中央制御回路の処理能力が生かされ、デバッグ時と運用時とで動作タイミングに差が発生しない。
上記特許文献1の技術では、CPUが特定のメモリアドレスにアクセスした場合にメモリ値を保存しておく方式であるため、メモリ値の推移は解析できるが、実行された処理内容の推移、例えば、どの処理関数が特定メモリにアクセスしたのかは解析できないという課題が生じていた。
In the technique of the above-mentioned
また、特許文献1の技術では、メモリ値しか保存できないため、例外エラーなどの発生推移を調査したい場合などは、調査する手段が無かった。
In the technique of
本発明は、上記課題を解決するためになされたもので、より簡便に制御装置等の動作を解析可能とすることを目的とする。
また、本発明は、より正確に制御装置等の処理動作を解析可能とすることを目的とする。
The present invention has been made to solve the above-described problems, and an object of the present invention is to make it possible to more easily analyze the operation of a control device and the like.
Another object of the present invention is to make it possible to analyze the processing operation of the control device and the like more accurately.
上記目的を達成するため、この発明の動的解析装置は、
アドレスバス上のアドレスの値から処理内容を特定し、データバス上のデータから処理データを特定するバスデータ解析部と、
前記バスデータ解析部により解析された処理内容と処理データの履歴の少なくとも一部を含む履歴情報を記憶する記憶部と、
外部からのアクセスに応答して、前記記憶部に記憶した履歴情報を提供する履歴情報提供手段と、
を備えるものである。
In order to achieve the above object, the dynamic analysis apparatus of the present invention is
A bus data analysis unit that identifies the processing contents from the address value on the address bus and identifies the processing data from the data on the data bus;
A storage unit for storing history information including at least a part of a history of processing data and processing data analyzed by the bus data analysis unit;
In response to an external access, history information providing means for providing history information stored in the storage unit;
Is provided.
この発明によれば、簡易に動作解析が可能となる。 According to the present invention, operation analysis can be easily performed.
実施の形態1.
以下、この発明の実施の形態1に係る動的解析システムを備える設備制御システムについて説明する。
Hereinafter, the equipment control system provided with the dynamic analysis system which concerns on
図1に示すように、この実施の形態に係る設備制御システム1は、設備制御装置2と動的解析ツール7とを備える。
As shown in FIG. 1, the
設備制御装置2は、空調機、電力制御装置等の任意の設備機器の制御装置として機能するものであり、ハードウエア的には、プログラムを実行する中央演算処理装置であるCPU3(Central Processing Unit)、プログラムを格納するための不揮発性のメモリであるROM4(Read Only Memory)、変数などを格納する揮発性のメモリであるRAM5(Random Access Memory)、バス上を流れるデータの動的解析を実施する動的解析装置6を備える。CPU3、ROM4、RAM5、動的解析装置6は、それぞれアドレスバス11、データバス12、制御信号線13により相互に接続されている。
The
設備制御装置2は、動的解析内容の指示、動的解析結果の表示などを行う動的解析ツール7と、互いに通信が可能であるように通信線14で接続されている。
The
CPU3,ROM4,RAM5は、任意の設備装置の制御に使用される。
一方、動的解析装置6は、CPU3の動作を動的に解析するために使用されるものであり、ハードウエア的には、図2に示すように、プロセッサ161と、受信回路162と、記憶部163と、通信制御装置164から構成される。
プロセッサ161は、CPUまたはFPGA(Field−Programmable Gate Array)などの中央演算処理部から構成され、記憶部163に記憶された動作プログラムを実行することにより、図3を参照して後述する各種機能を実現する。
受信回路162は、一方向性バッファなどから構成され、データバス11、データバス12、制御信号線13上の信号をプロセッサ161に伝達し、一方、プロセッサ161が信号を仮に出力しても、データバス11、データバス12、制御信号線13上には出力しない回路である。
記憶部163は、ROM、フラッシュメモリ、RAM、ハードディスク等から構成され、プロセッサ161の動作プログラムを記憶し、プロセッサのワークメモリとして機能し、さらに、種々のデータを記憶する。
通信制御装置164は、この動的解析装置6と動的解析ツール7との間の相互の通信を制御する。
動的解析装置6は、上記構成により、制御信号線13上にCPU3により出力され、読み込み、書き込みのトリガーとなる制御信号と、アドレスバス11上で出力されるアドレス値と、データバス12上に出力されるデータとを監視することにより、通信データ内容を解析する。動的解析装置6は、メモリ内蔵型のワンチップマイコンとしても良いし、CPU等が配置された基板とは別基板上にマルチチップ又はディスクリートで構成し、バス11、12、制御信号線13に接続することも可能である。
CPU3, ROM4, RAM5 is used for control of arbitrary equipment.
On the other hand, the
The
The
The
The
With the above-described configuration, the
動的解析装置6は、機能的には、図3に示すように、バスデータ監視部20と、バスデータ解析部30と、データ管理部40と、通信制御部60と、通信インタフェース70とを備える。
Functionally, the
バスデータ監視部20は、アドレスバス11、データバス12、制御信号線13に接続され、アドレスバス監視部21、データバス監視部22、制御信号監視部23を備える。
アドレスバス監視部21は、アドレスバス11上を伝送されるアドレスデータを監視する。データバス監視部22は、データバス12上を伝送されるデータを監視する。制御信号監視部23は、制御信号線13上を伝送される制御信号を監視する。
The bus
The address
データバス監視部20は、制御信号監視部23でバスデータ(アドレスデータとデータ)の確定タイミングを制御信号から判断し、バスデータ確定時にアドレスバス監視部21で取得したアドレス値と、データバス監視部22で取得したデータ値と、制御信号監視部23で取得した書込み/読込み区分とを、データバス解析部21に通知する。
The data
バスデータ解析部30は、バスデータ監視部20とデータ管理部40に接続され、実行関数解析部31、変数データ保管部32、監視データ保管部33を備える。
実行関数解析部31は、バスデータ監視部20から通知されたアドレス値を元に、CPU3が現在実行している関数を解析(特定)する。即ち、CPU3がアドレスを出力して読み込んだ位置に格納されている関数を特定する。
変数データ解析部32は、CPU3によってアクセスされた変数を解析(特定)する。即ち、CPU3がアドレスを出力して読み込んだ位置に格納されている変数を特定する。
監視データ保管部33は、解析したデータを、監視データ42として管理データ保管部40に保管する。
定時データ処理部34は、定期的に、各変数の値を解析(特定)し、監視データ42として管理データ保管部40に保管する。
The bus
The execution
The variable data analysis unit 32 analyzes (specifies) the variable accessed by the
The monitoring data storage unit 33 stores the analyzed data in the management data storage unit 40 as monitoring data 42.
The scheduled data processing unit 34 periodically analyzes (specifies) the values of the variables and stores them as monitoring data 42 in the management data storage unit 40.
データ管理部40は、バスデータ解析部30と通信制御部60に接続され、アドレスマップ41、監視データ42、制御データ43を備え、各種データの保管を行う。
アドレスマップ41は、ROM4とRAM5のアドレス空間のうち、関数が格納されている領域範囲を示すアドレス値である関数アドレス範囲44と、変数が格納されている領域の範囲を示すアドレス値である変数アドレス値45とを含む。
具体的には、図4に示すように、関数アドレス範囲44は、アドレス範囲とそのアドレス領域に格納されている関数F1、F2...とを対応付るデータを記憶し、変数アドレス値45は、アドレスとそこに格納されている変数A、B...とを対応付けるデータを記憶している。
アドレスマップ41としては、CPU3が実行するプログラムをコンパイルする際に自動生成されるアドレスマップを利用することが可能である。
The data management unit 40 is connected to the bus
The address map 41 includes a
Specifically, as shown in FIG. 4, the
As the address map 41, an address map automatically generated when compiling a program executed by the
図3に示す監視データ42には各変数の現在の値である変数現在値46、CPU3により実行された関数の遷移履歴が記録された関数遷移履歴47、CPU3によりアクセスされた変数と値の遷移履歴と変数変化時の呼び出し元関数を示す情報を含む変数遷移履歴48、定時的な変数値と収集時刻が記録された変数定時履歴49が含まれる。
より具体的には、関数遷移履歴47には、図5(a)に示すように、CPU3が実行している一連の関数のうち、後述する関数遷移履歴条件50に合致した関数と、予め定められた深さ(個数)の前方(先行して実行された)関数と、後方(後続して実行された)関数とを含む。
変数遷移履歴48には、図5(b)に示すように、CPU3が処理した一連の変数のうち、後述する変数遷移履歴条件51に合致した変数と、予め定められた深さ(個数)の前方(先行して処理された)変数について、変数、その値、処理日時、アクセス元関数の組を記憶する。例えば、変数遷移履歴48には、各変数の値の変化及びどの関数から変数を書き換えられたかを、履歴するデータを格納する。なお、変数がどのような順番で書き換えられたかを示すようなデータを保存してもよい。
変数定時履歴49は、図5(c)に示すように、各変数の値と収集時刻とを含む。
The monitoring data 42 shown in FIG. 3 includes a variable current value 46 that is a current value of each variable, a
More specifically, in the
As shown in FIG. 5B, the
As shown in FIG. 5C, the variable scheduled
図3に示す制御データ43には、関数遷移の履歴の記憶を開始する条件を記載した関数遷移履歴条件50、変数遷移の履歴の記録を開始する条件を記載した変数遷移履歴条件51、変数定時履歴の記録を開始する条件を記載した定時履歴条件52が含まれる。
The
具体的には、関数遷移履歴条件50は、図6(a)に示すように、1)関数遷移の履歴の記録を開始する条件、例えば、特定の関数を検出したこと、ある関数から特定の関数への変化を検出したこと、等の任意の条件と、2)条件に合致した関数の前方(先に実行された)の関数のうち履歴として抽出する個数(前方深度)と条件に合致する関数に後続する(後に実行された)関数のうち履歴として抽出する個数(後方深度)とを対応付けるデータを記憶している。
また、変数遷移履歴条件52は、図6(b)に示すように、1)変数遷移の履歴の記録を開始する条件、例えば、変数を検出したこと、ある変数が特定の条件を満たす状態になったこと、等の任意の条件と、2)条件に合致した変数の前方にアクセスされた変数のうち履歴として抽出する個数(前方深度)を対応付けるデータを記憶している。
また、定時履歴条件52は、図6(c)に示すように、変数を記録するための一定の周期を記憶する。
Specifically, as shown in FIG. 6A, the function
In addition, as shown in FIG. 6 (b), the variable
Moreover, as shown in FIG.6 (c), the
図3に示す通信制御部60は、データ管理部40と通信インタフェース70に接続され、指定されたアドレスマップをデータ管理部40に保管するアドレスマップ保管部61と、監視データをデータ管理部40から読み出す監視データ読出し部62と、指定された制御データをデータ管理部40に保管する制御データ保管部63とを備え、動的解析ツール7との各種データの送受信を行う。
The communication control unit 60 shown in FIG. 3 is connected to the data management unit 40 and the
通信インタフェース70は、通信線14のインタフェースである。この通信インタフェース70を介して動的解析ツール7とのデータの送受信が行われる。
The
図1に示す動的解析ツール7は、動的解析装置6と通信を行って解析結果を表示する装置である。動的解析ツール7は、図7に示すように、液晶表示装置、EL表示装置等の表示装置81と、キーボード、マウスなどの入力装置、表示内容や入力内容を制御する制御部83と、通信を制御する通信制御部84と、動的解析装置6から取得したデータ、および加工したデータを保管するデータ管理部85と、動的解析装置6とのインタフェースである通信インタフェース86を備えている。動的解析ツールには汎用のパソコンを用いても良いし、専用のハードウエアを用いても良い。
The
上記構成のうち、設備制御装置2は、例えば、図8(a)に示すように、任意の稼働状態の設備機器100に収容される。この場合、CPU3、ROM4、RAM5は、その設備機器100の通常時の制御装置(コントローラ)として機能する。動的解析装置6は、CPU3の処理を解析する。動的解析ツール7は、例えば、故障時やメンテナンス時に、適宜、動的解析装置6に、通信線14を介して適宜接続される。動的解析ツール7の設置位置は、現場でもリモートでもよい。リモートの場合、通信線14は、専用線でも、一般回線でも、インターネット等の通信ネットワークを含んでもよい。同様の構成を、設備装置100の開発段階で構成してもよい。
Of the above configuration, the
また、開発段階等で、設備制御装置2を、例えば、図8(b)に示すように、設備機器100に接続して使用することも可能である。この場合、設備制御装置2と動的解析ツール7の設置位置は、現場でもリモートでもよい。
Further, in the development stage or the like, the
次に、上記構成を有する設備制御システム1の動作を説明する。
設備制御装置2のCPU3は、ROM4に格納されたプログラムを実行することにより、設備機器100を制御するための動作を実行する。
CPU3は、ROM4に格納されている制御プログラムを実行し、設備機器100内の各部を制御することにより、設備機器100を運転する。
動的解析装置6は、CPU3の動作と並行して、各種解析動作を動的に行う。
以下、動的解析装置6の動作を、機能部分毎に説明する。
まず、バス上を流れるデータを確定するバスデータ監視部20が行う処理について説明する。
Next, operation | movement of the
The
The
The
Hereinafter, the operation of the
First, a process performed by the bus
一般に、CPUがメモリにアクセスする際は、複数の制御信号の組み合わせによって読み込み/書き込みの区分、アドレスバス、データバスのデータ確定タイミングが判別可能である。
例えば、図9に例示するように、アドレスバス11上にアクセス位置のアドレスが出力され、続いて、制御信号線13上の制御信号AとB(例えば、行ストローブ信号と列ストローブ信号)が読み出し又は書き込みを示す状態に順次切り替えられ、その後、データバス12上のデータが確定する。従って、例えば、制御信号Aが出力されてからバスデータが確定するまでの所定の遅延時間D1又は制御信号Bが出力されてからバスデータが確定するまでの所定の遅延時間D2を予め測定しておき、制御信号A又はBが出力されてからの経過時間を測定し、制御信号Aが出力されてから時間D1又は制御信号Bが出力されてから時間D2を測定したタイミングをデータの確定時間として特定することが可能である。
バス監視部20は、例えば、このようにしてバスデータを監視する。
In general, when the CPU accesses the memory, the read / write classification, the address bus, and the data bus data determination timing can be determined by a combination of a plurality of control signals.
For example, as illustrated in FIG. 9, the address of the access position is output on the
For example, the
次に、動的解析装置6のうち、バスデータ監視部20の処理動作を図10のフローチャートを参照して説明する。
バスデータ監視部20は、主電源がオンされると、図10に示す動作を開始する。
制御信号監視部23は、設備装置100の操作パネルのオン・オフスイッチの操作によるオン・オフがオンであるか、オフであるかを判別し(ステップS0)、オフでないと判別した場合(ステップS0;No)、CPU3がアクセス対象メモリ(図1では、ROM4又はRAM5)に制御線13を介して出力する制御信号を監視する。制御信号監視部23は、対象メモリへの制御信号を監視し(ステップS1a)、制御信号線13上の制御信号が読み出しまたは書き込みの状態に変化したか否かを判別する(ステップS1b)。
制御信号に変化が無い或いは読み出し又は書き込み状態以外の状態への変化であると判別した場合(ステップS1b:No)、ステップS0にリターンする。
Next, the processing operation of the bus
When the main power supply is turned on, the bus
The control
If it is determined that there is no change in the control signal or a change to a state other than the read or write state (step S1b: No), the process returns to step S0.
制御信号が読み出しまたは書き込みの状態に変化したと検出した場合、アドレスバス監視部21は、アドレスバス11上に出されているアドレス信号により指定されているアドレス値を保持する(ステップS1c)。
When it is detected that the control signal has changed to the read or write state, the address
続いてデータバス12上のデータが確定するまで待機し(ステップS1d)、確定したらデータバス上のデータ信号により表されるデータ値を保持する(ステップS1e)。
Subsequently, the process waits until the data on the
最後に制御信号の値(読み込み/書き込み)およびアドレス値、データ値をバスデータ解析部30に通知する(ステップS1f)。その後、ステップS0にリターンし、信号線の監視状態に戻る。なお、ステップS0で電源がオフであると判別された際(ステップS0;Yes)、今回の処理を終了する。 Finally, the control signal value (read / write), address value, and data value are notified to the bus data analysis unit 30 (step S1f). Thereafter, the process returns to step S0 to return to the signal line monitoring state. When it is determined in step S0 that the power is off (step S0; Yes), the current process is terminated.
次に、バスデータ解析部30において、バスデータ監視部20から通知されたデータを解析する処理について、図11を参照して説明する。
バスデータ解析部30は、主電源が投入されている期間、バスデータ監視部20からデータが供給される度に、図11に示す処理を開始する。
まず、バスデータ解析部30はバスデータ監視部20から通知されたアドレス値と、データ管理部40内のアドレスマップ41内に格納されている関数アドレス範囲44及び変数アドレス値45とを比較し、関数を実行しているか、変数値にアクセスしているか、その他の処理を行っているかを判別する(ステップS2a)。
Next, processing for analyzing data notified from the bus
The bus
First, the bus
関数アドレス範囲のアドレス値であると判別した場合(ステップS2a:関数アドレス範囲)、実行関数解析部31にて処理が行われる。実行関数解析部31は、アドレスで指定された領域に記憶されていた(解析した)関数を特定し、その関数(アクセスされた位置に格納されている関数)が前回の関数と同一であるか否かを判別し(ステップS2b)、同一の関数であると判別した場合(ステップS2b;Yes)は、関数の遷移は行われていないため、データ解析処理を終了する。
When it is determined that the address value is within the function address range (step S2a: function address range), the execution
解析した関数(アクセスされた位置に格納されている関数)が前回の(現在実行中)の関数と異なる、即ち、実行関数が変化していると判別した場合(ステップS2b;No)、関数名に対応付けられた関数IDを、内部に配置されている一時バッファに追加して関数の遷移履歴を保持する(ステップS2c)。 When it is determined that the analyzed function (the function stored at the accessed position) is different from the previous (currently executing) function, that is, the execution function has changed (step S2b; No), the function name The function ID associated with is added to the temporary buffer arranged inside, and the function transition history is held (step S2c).
次に、今回判別した実行関数の変化が、後続するステップS2fの処理により関数遷移履歴条件50と一致する指定された関数の後方(後続)の遷移に該当するかどうかを判断する(ステップS2d)。関数変化が履歴済の関数変化に後続するものであると判別した場合(ステップS2d;Yes)、監視データ保管部33を介してデータ管理部40内の関数遷移履歴47に関数IDを追加して、関数遷移履歴47を更新する(ステップS2e)。
Next, it is determined whether or not the change of the execution function determined this time corresponds to a rearward (subsequent) transition of the specified function that matches the function
一方、関数変化が履歴済の関数変化に後続するものではなく、遷移後の新たな関数であると判別した場合(ステップS2d;No)、遷移した関数が関数遷移履歴条件50に一致するか否かを判断する(ステップS2f)。一致すると判別した場合(ステップS2f;Yes)、一時バッファに記憶している一連の関数のうち、関数遷移履歴条件50で指定された深度(個数)分だけ、監視データ保管部33を介してデータ管理部40内の関数遷移履歴47に保存する(ステップS2g)。
On the other hand, when it is determined that the function change does not follow the history of the function change but is a new function after the transition (Step S2d; No), whether the transitioned function matches the function
例えば、一次バッファに一連の関数の履歴「...F7,F4,F2,F3」が記憶されているとする。図5(a)に示す関数遷移履歴条件52によれば、関数F3が関数履歴条件50が指定する関数に合致する。さらに、指定された深度(前方)は「3」である。この場合、図6(a)に示すように、条件に合致する関数として「F3」、深度(前方)で指定される関数として「F7,F4,F2」のIDが関数遷移履歴47に格納される。なお、その後、実行される関数が変化すると、ステップS2eで、関数変化が履歴済の関数変化に後続するものであると判別され(ステップS2d;Yes)、監視データ保管部33を介してデータ管理部40内の関数遷移履歴47に関数IDが追加される(ステップS2e)。
また、例えば、一次バッファに一連の関数の履歴「...F12,F1,F2,F9,F4,F5」が記憶されているとする。図5(a)に示す関数遷移履歴条件52によれば、関数F4からF5への変化が関数履歴条件50が指定する関数に合致する。さらに、指定された深度(前方)は「4」である。この場合、図6(a)に示すように、条件に合致する関数として「F4,F5」、深度(前方)で指定される関数として「F12,F1,F2、F9」のIDが関数遷移履歴47に格納される。
For example, it is assumed that a history of functions “... F7, F4, F2, F3” is stored in the primary buffer. According to the function
Further, for example, it is assumed that a history of a series of functions “... F12, F1, F2, F9, F4, F5” is stored in the primary buffer. According to the function
一方、ステップS2fで、関数履歴条件に一致しないと判別した場合(ステップS2f;No)、今回の処理を終了する。 On the other hand, if it is determined in step S2f that the function history condition is not met (step S2f; No), the current process is terminated.
以上の動作を繰り返すことにより、関数遷移履歴条件として指定した関数とその前後に実行された関数の遷移の履歴を保存することが可能となる。 By repeating the above operation, it is possible to save the function transition history history of the function specified as the function transition history condition and the function executed before and after the function.
一方、ステップS2aの判別の結果、アドレスバス11上のアドレスが変数を記憶している領域のアドレス値であると判別された場合は(ステップS2a;変数アドレス)、変数データ解析部32にて処理が行われる。
変数データ解析部32は、まず、変数にアクセスした日時を保持する(ステップS2l)。
On the other hand, if it is determined in step S2a that the address on the
The variable data analysis unit 32 first holds the date and time when the variable was accessed (step S2l).
次に、バスデータ監視部20から通知された制御信号区分を判別し、書き込み処理か、読み込み処理かを判断し(ステップS2m)、書き込み処理であった場合は、書き込み後の変数値を保持し、監視データ保管部33を介してデータ管理部40内の変数現在値46に保存する(ステップS2n)。
Next, the control signal classification notified from the bus
一方、書き込み処理ではない、即ち、読み出しアクセスであると判別した場合(ステップS2m;No)、ステップS2nをスキップする。
ステップS2nの実行後又はステップS2mでNoと判別した場合、アクセスされた変数が、変数遷移履歴条件51と一致するかを判断する(ステップS2o)。
一致すると判別した場合(ステップS2o;Yes)、実行関数解析部31に保持されている履歴のうち、変数遷移履歴条件51が指定する深度(個数)分の履歴、即ち、変数と、変数値と、アクセス日時と、アクセス元の関数とを、監視データ保管部33を介してデータ管理部40内の変数遷移履歴48に保存し(ステップS2p)、処理を終了する。
On the other hand, when it is determined that it is not a write process, that is, a read access (step S2m; No), step S2n is skipped.
After step S2n is executed or when it is determined No in step S2m, it is determined whether the accessed variable matches the variable transition history condition 51 (step S2o).
When it is determined that they match (step S2o; Yes), the history corresponding to the depth (number) specified by the variable
例えば、一次バッファに一連の変数とアクセス元の関数の履歴「..., (変数G,値3,アクセス日時2011/10/24 14:15:50,アクセス元関数F11),..., (変数G,値6,アクセス日時2011/10/24 14:16:59,F12),..., (変数G,値−1,アクセス日時2011/10/24 14:17:11,アクセス元関数F13),..., (変数G,値+1,アクセス日時2011/10/24 14:23:33,アクセス元関数F14)」が記憶されているとする。
図6(b)に示す変数遷移履歴条件51によれば、関数F14による変数Gの負の値(−1)から正の値(+1)への更新は、変数遷移履歴条件51に合致する。この場合には、変数遷移履歴条件51に合致する変数の情報(変数G,値+1,アクセス日時2011/10/24 14:23:33,アクセス元関数F14)」と、記憶されている履歴のうち、注目している変数Gの履歴であって変数前方深度で特定される前方2つの情報(変数G,値6,アクセス日時2011/10/24 14:16:59,アクセス元関数F12),(変数G,値−1,アクセス日時2011/10/24 14:17:11,アクセス元関数F13)が変数遷移履歴48として記録される。
同様に、例えば、変数Dの値が2に変化したとすると、その更新は、変数遷移履歴条件51に合致する。この場合には、変数遷移履歴条件51に合致する変数の情報例えば、(変数D,値+2,アクセス日時2011/10/24 18:19:47,アクセス元関数F5)」と、記憶されている履歴のうち、注目している変数Dの履歴であって変数前方深度で特定される前方1つの情報(変数D,値3,アクセス日時2011/10/24 18:19:36,アクセス元関数F3)が変数遷移履歴48として記録される。
これらの記録により、注目している変数の変化とどの関数が変数を書き換えたかという情報を履歴できる。
For example, a history of a series of variables and access source functions “..., (variable G,
According to the variable
Similarly, for example, if the value of the variable D changes to 2, the update matches the variable
With these records, it is possible to record information on changes in the variable of interest and which function has rewritten the variable.
一方、変数遷移履歴条件に一致しないと判別した場合(ステップS2m;N)、処理を終了する。 On the other hand, if it is determined that the condition does not match the variable transition history condition (step S2m; N), the process ends.
以上の動作を繰り返すことにより、変数遷移条件として指定した変数へのアクセス時のアクセス元関数の遷移、変数の変更前後の値を、アクセス日時も含めて保存することが可能となる。 By repeating the above operation, it is possible to save the transition of the access source function at the time of accessing the variable designated as the variable transition condition and the value before and after the change of the variable including the access date and time.
また、変数の値が変化するたびに現在値を更新することにより、常に最新の変数値を保持することが可能となる。 Also, by updating the current value every time the value of the variable changes, it is possible to always keep the latest variable value.
一方、定時データ処理部34は、主電源が投入されている間、図12に示す処理を実行し、制御データ43内に格納されている定時履歴条件52で指定された時間間隔に達したかどうかを判断し(ステップS3a)、履歴する時間であれば指定変数値の変数現在値46を読出し(ステップS3b)、監視データ保管部33を介してデータ管理部40内の関数遷移履歴47に保存する(ステップS3c)。
On the other hand, the scheduled data processing unit 34 executes the processing shown in FIG. 12 while the main power is turned on, and has reached the time interval specified by the scheduled
以上の動作を繰り返すことにより、定時履歴条件として指定した変数の、一定間隔のデータを保存することが可能となる。 By repeating the above operation, it is possible to save data at a constant interval of the variable designated as the scheduled history condition.
こうして、データ管理部40には、予め条件設定されている注目すべき実行関数の変化が起こった際に、その前後の関数変化の履歴が記録され、予め条件設定されている注目すべき変数の変化が起こった際に、それに至る変数の変化の履歴が記録され、蓄積される。さらに、定期的な履歴が蓄積される。 Thus, when a noticeable execution function that has been set in advance is changed, the data management unit 40 records a history of function changes before and after the change. When a change occurs, a history of changes in the variables leading to it is recorded and accumulated. Furthermore, a periodic history is accumulated.
一方、動的解析ツール7は、オペレータにより適宜操作され、データ管理部40に蓄積されている履歴データを読み出し、解析する。
即ち、操作者が、動的解析ツール7の入力装置82から各種データの読出し要求を行うと、制御部83が通信制御部84、通信インタフェース86を介して、データの送信要求を動的解析装置6に送信する。
動的解析装置6は通信制御部60が通信インタフェース70を介して動的解析ツールからの要求を受信し、監視データ読出し部62がデータ管理部40の監視データ42に保管された各種データを読み出し、通信インタフェース70を介して、動的解析ツール7に応答する。
動的解析ツール7は、応答を通信インタフェース86を介して受信すると、通信制御部84は受信したデータをデータ管理部85に保存し、制御部83がデータを取得して表示装置81に表示する。
On the other hand, the
That is, when the operator makes a request for reading various data from the input device 82 of the
In the
When the
各種履歴条件が格納された制御データ43やアドレスマップ42は、動的解析ツール7から動的解析装置6に対して送信され、通信制御部60によってデータ管理部40に保存される。
The
なお、制御データ43やアドレスマップ42は、動的解析ツールで送信するのではなく、予め書き込んだ状態で出荷しても良い。
Note that the
以上詳細に説明したように、この実施の形態1に係る動的解析装置および動的解析システムによれば、関数や変数が格納されているメモリのアドレス値一覧を保持することにより、CPU3の処理内容の履歴を記録することができ、それにより、処理内容、例えば、どの処理関数がどの変数を変更したか、を解析することが可能となる。
As described in detail above, according to the dynamic analysis device and the dynamic analysis system according to the first embodiment, the processing of the
また、この実施の形態1に係る動的解析装置および動的解析システムによれば、CPU3の処理に用いるアドレスバス11、データバス12、制御信号線13に対して、動的解析装置6からデータを出力することは無い。このため、CPU3の処理を一切妨げることなく、動的解析を行うことが可能となる。
Further, according to the dynamic analysis device and the dynamic analysis system according to the first embodiment, the data from the
また、この実施の形態1に係る動的解析装置および動的解析システムによれば、動的解析を行うためのプログラム変更や、ICE接続用の特殊コネクタなどの必要が無いため、不具合が発生している現地の制御機器をそのまま利用して不具合解析を行うことが可能となる。 Further, according to the dynamic analysis apparatus and the dynamic analysis system according to the first embodiment, there is no need for a program change for performing dynamic analysis or a special connector for ICE connection. It is possible to perform failure analysis using the local control equipment as it is.
また、この実施の形態1に係る動的解析装置6および動的解析システム1によれば、現地で発生している不具合条件を分析し、試験室で不具合の再現環境を構築する必要がないため、不具合解決に要する時間を削減することが可能となる。
In addition, according to the
また、この実施の形態1に係る動的解析装置および動的解析システムによれば、プログラムのコンパイル時に自動生成されるメモリマップを利用して関数遷移、変数遷移を解析することができるため、アドレス値との関連付けファイルを手動で作成する必要が無い。 Further, according to the dynamic analysis device and the dynamic analysis system according to the first embodiment, function transitions and variable transitions can be analyzed using a memory map automatically generated at the time of program compilation. There is no need to manually create an association file with values.
なお、本実施の形態では、利用されるメモリに対応した読出しシーケンスを実装することとしたが、メモリが変更されても対応できるよう、デバイスコードをメモリから読み出して自動的にメモリに合わせたデータバス確定処理を実装しても良い。 In this embodiment, the read sequence corresponding to the memory to be used is implemented. However, the device code is read from the memory and automatically matched to the memory so that the memory can be changed. A bus determination process may be implemented.
また、本実施の形態では、同一のアドレスバス11、データバス12にROM4、RAM5を接続するようにしたが、必ずしもこの構成である必要は無く、CPU3に専用のバスを用いて接続されるRAMを用いても良い。この場合は、動的解析装置6がROM用のバス、RAM用のバスの両方を監視する構成となる。
In this embodiment, the
実施の形態2.
上記実施の形態においては、監視の対象の処理内容は関数と変数とそのデータであったが、処理過程で生成される任意の処理内容ものを監視対象とすることが可能である。
以下、一例として、処理内容としてタスクをさらに管理する実施の形態2について説明する。
In the above embodiment, the processing content to be monitored is a function, a variable, and its data. However, any processing content generated in the process can be monitored.
Hereinafter, as an example, a second embodiment for further managing tasks as processing contents will be described.
図13は、この発明の実施の形態2に係る動的解析装置6の構成を示す。
図13に示すように、この実施の形態に係る動的解析装置6は、実施の形態1の動的解析装置6に加え、タスク解析部35およびタスク遷移履歴53を備える。
FIG. 13 shows the configuration of the
As shown in FIG. 13, the
次に、タスク解析部35において、実行タスクを解析する処理について、図14と図15を参照して説明する。 Next, processing for analyzing an execution task in the task analysis unit 35 will be described with reference to FIGS. 14 and 15.
図14はタスクの切換状態を示した図である。優先度の低い状態のタスクが実行中の場合でも優先度の高いタスクが起動すると、優先度の低いタスクは停止し、優先度の高いタスクが実行されることを示している。本実施形態の動的解析装置6は、特徴的なタスクの切り替えの履歴を取得することが可能である。
FIG. 14 shows a task switching state. Even when a task with a low priority is being executed, if a task with a high priority is activated, the task with a low priority is stopped and a task with a high priority is executed. The
図15は、タスク解析部35の処理をフローチャートで示した図であり、タスク解析部35は、電源がオンの間、バスデータ監視部20で監視したバスデータを基に、起動したタスクを保持する(ステップS4a)。
FIG. 15 is a flowchart showing the processing of the task analysis unit 35. The task analysis unit 35 holds the activated task based on the bus data monitored by the bus
タスクの切り換えが発生したか否かを判別し(ステップS4b)、切り替えが発生した場合(ステップS4b;Yes)、切り換え後のタスクを、日時等と共にタスク遷移履歴53に保存する(ステップS4c)。なお、タスクの切り換えが発生していないと判別した場合(ステップS4b;No)、ステップS4bにリターンし、処理を繰り返す。
It is determined whether or not task switching has occurred (step S4b). If switching has occurred (step S4b; Yes), the task after switching is stored in the
ここで保存したタスク遷移履歴53は、実施の形態1と同様、動的解析ツール7によって読み出し、図16のようなタスクの切り換えタイミングの表示が可能である。
The
なお、タスクの切り換えは、OS(オペレーションシステム)のタスク切り換え関数が実行されたことを検知して切り換えを判断しても良いし、タスクに登録した関数が実行された段階で切り換えを判断しても良い。
また、タスク遷移履歴条件を設定し、条件に合致するタスク遷移が起こったときにのみ、タスク遷移の履歴を取るようにしてもよい。
Note that the task switching may be performed by detecting that the OS (operation system) task switching function has been executed, or by determining the switching when the function registered in the task is executed. Also good.
Alternatively, a task transition history condition may be set, and a task transition history may be taken only when a task transition that matches the condition occurs.
以上詳細に説明したように、この実施の形態2に係る動的解析装置および動的解析システムによれば、タスクの切換遷移の履歴を保持することにより、タスクの占有率、実行タイミングが容易に解析可能となる。 As described above in detail, according to the dynamic analysis device and the dynamic analysis system according to the second embodiment, the task occupancy rate and execution timing can be easily maintained by maintaining the history of task switching transitions. Analysis becomes possible.
実施の形態3.
前述のように、解析対象の処理内容は任意であり、例えば、バス占有率を処理内容に含めることも可能である。バス占有率を解析対象の処理内容の1つとする実施の形態3について、以下、説明する。
As described above, the processing content to be analyzed is arbitrary. For example, the bus occupancy rate can be included in the processing content. A third embodiment in which the bus occupancy is one of the processing contents to be analyzed will be described below.
図17は、この発明の実施の形態3に係る動的解析装置6の構成が示されている。
図17に示すように、この実施の形態に係る動的解析装置6は、実施の形態1の動的解析装置6に加え、バス占有率解析部36およびバス占有履歴54を備えたものである。
FIG. 17 shows the configuration of a
As shown in FIG. 17, the
次に、バス占有率解析部36において、バス占有率を解析する場合の処理について、図18と図19を用いて説明する。 Next, processing when the bus occupancy analysis unit 36 analyzes the bus occupancy will be described with reference to FIGS. 18 and 19.
図18はバスの占有状態を示した図である。CPU3は、メモリ(ROM3,RAM4)にアクセスを開始するとき、アドレスバス11上にアドレスを出力し、制御信号(チップイネーブル信号)を出力した後、データバス12上にデータを出力する。アクセスが終了すると、制御信号を解除する。チップイネーブル信号を出力してからリセットするまでの時間がバス占有時間となる。
FIG. 18 is a diagram showing the occupied state of the bus. When the
図19は、バス占有率解析部36の処理をフローチャートで示した図である。バス占有率解析部36は、電源がオンの間、制御信号線の状態を監視しアクセス開始を判別する(ステップS5a)。 FIG. 19 is a flowchart showing the processing of the bus occupancy rate analysis unit 36. While the power is on, the bus occupancy analysis unit 36 monitors the state of the control signal line and determines the start of access (step S5a).
バスの利用が開始されると占有時間のカウントを開始し(ステップS5b)、バスアクセス終了を検出すると(ステップS5c)、バス占有時間のカウントを終了し(ステップS5d)、バス占有履歴54を保存する(ステップS5e)。 When the use of the bus is started, counting of the occupied time is started (step S5b). When the end of bus access is detected (step S5c), the counting of the bus occupied time is ended (step S5d), and the bus occupied history 54 is saved. (Step S5e).
ここで保存したタスク遷移履歴54は、実施の形態1と同様、動的解析ツール7によって読み出し、単位時間当たりのバス占有率の表示が可能である。
The task transition history 54 saved here can be read out by the
以上詳細に説明したように、この実施の形態3に係る動的解析装置および動的解析システムによれば、バス占有時間を保持することにより、一定時間あたりのバス占有率等が容易に解析可能となる。 As described above in detail, according to the dynamic analysis device and the dynamic analysis system according to the third embodiment, the bus occupancy rate per fixed time can be easily analyzed by maintaining the bus occupancy time. It becomes.
なお、本発明は、上記実施の形態および図面によって限定されるものではない。本発明の要旨を変更しない範囲で実施の形態および図面に変更を加えることができるのはもちろんである。
例えば、監視・解析対象の処理内容は、関数の変化、変数の変化、タスクの変化、バス占有率に限定されず、装置の任意のパラメータを監視の対象とすることができる。また、これらと共に収集するデータ類も上述の例に限定されず、適宜設定可能である。
また、関数の履歴、変数の履歴にどのような情報を含めるか、についても適宜応用・変更可能である。例えば、関数の履歴に実行時刻を記録したり、その関数により処理された変数な、その関数がアクセスしたメモリエリア(アドレス)などの情報を付加してもよい。また、変数履歴に、後方深度を設定し、変数履歴条件51に合致する変数の更新後にどのような変数が処理されたかを解析できるようにしてもよい。
また、上記実施の形態においては、動的解析ツール7を動的解析装置6に接続して、データを表示する等したが、例えば、動的解析ツール装置7で動的解析装置6からのデータを受信して、解析するようにしてもよい。
動的解析装置は、監視対象の装置に常時接続されている必要はなく、必要に応じて設定されてもよい。この場合、例えば、アドレスバス11、データバス12、制御信号線13にこれらの信号線に接続するためのコネクタを予め接続しておき、必要時に、このコネクタと動的解析装置6の受信回路162の入力側コネクタとを接続するようにしてもよい。
また、アドレスバス11、データバス12、制御信号線13の全てを監視することが望ましいが、必ずしも全てを監視する必要はない。一部のバス又は制御信号線を監視するように構成してもよい。監視の対象は、監視の目的に応じて適宜設定される。
設備機器100の制御用プロセッサの動作を監視する例を示したが、設備機器100は任意である。例えば、空調装置、電力制御装置、熱機器、エレベータ、コンピュータ、家電機器、自動車・車両、等、コンピュータ及びソフトウエアにより制御されるものに広く適用可能である。
上述したハードウエア構成、フローチャート、テーブル構成などは一例であり、任意に変更可能である。
また、他装置のバス、制御信号線にアクセス可能なコンピュータを上述の動的解析装置として動作させるためのプログラムを、媒体等に記録して配布し、これをインストールすることにより、該コンピュータを動的解析装置として機能させることも可能である。
In addition, this invention is not limited by the said embodiment and drawing. It goes without saying that the embodiments and the drawings can be modified without changing the gist of the present invention.
For example, the processing contents to be monitored / analyzed are not limited to function changes, variable changes, task changes, and bus occupancy rates, and any device parameters can be monitored. Further, data collected together with these is not limited to the above example, and can be set as appropriate.
Also, what information is included in the function history and variable history can be appropriately applied and changed. For example, the execution time may be recorded in the function history, or information such as a memory area (address) accessed by the function, such as a variable processed by the function, may be added. Further, a rear depth may be set in the variable history, and it may be possible to analyze what variable has been processed after updating the variable that matches the
In the above embodiment, the
The dynamic analysis device need not always be connected to the device to be monitored, and may be set as necessary. In this case, for example, connectors for connecting to these signal lines are connected in advance to the
Although it is desirable to monitor all of the
Although the example which monitors the operation | movement of the processor for control of the
The above-described hardware configuration, flowchart, table configuration, and the like are examples, and can be arbitrarily changed.
In addition, a program for operating a computer capable of accessing the bus and control signal line of another device as the above-described dynamic analysis device is recorded and distributed on a medium or the like, and installed to operate the computer. It is also possible to function as a dynamic analysis device.
1 動的解析システム
2 設備制御装置
3 CPU
4 ROM
5 RAM
6 動的解析装置
11 アドレスバス
12 データバス
13 制御信号線
14 通信線
20 バスデータ監視部
21 アドレスバス監視部
22 データバス監視部
23 制御信号監視部
30 バスデータ解析部
31 実行関数解析部
32 変数データ解析部
33 監視データ保管部
34 定時データ処理部
35 タスク解析部
36 バス占有率解析部
40 データ管理部
41 アドレスマップ
42 監視データ
43 制御データ
44 関数アドレス範囲
45 変数アドレス値
46 変数現在値
47 関数遷移履歴
48 変数遷移履歴
49 変数定時履歴
50 関数遷移履歴条件
51 変数遷移履歴条件
52 定時履歴条件
53 タスク遷移履歴
54 バス占有履歴
60 通信制御部
61 アドレスマップ保管部
62 監視データ読み出し部
63 制御データ保管部
70 通信インタフェース
161 プロセッサ
162 受信回路
163 記憶部
164 通信制御装置
1
4 ROM
5 RAM
6
Claims (12)
前記バスデータ解析部により解析された処理内容と処理データの履歴の少なくとも一部を含む履歴情報を記憶する記憶部と、
外部からのアクセスに応答して、前記記憶部に記憶した履歴情報を提供する履歴情報提供手段と、
を備える動的解析装置。 A bus data analysis unit that identifies the processing contents from the address value on the address bus and identifies the processing data from the data on the data bus;
A storage unit for storing history information including at least a part of a history of processing data and processing data analyzed by the bus data analysis unit;
In response to an external access, history information providing means for providing history information stored in the storage unit;
A dynamic analysis apparatus comprising:
ことを特徴とする請求項1に記載の動的解析装置。 The bus data analysis unit specifies which variable is accessed from an address value output on an address bus for memory access, specifies a read access or a write access from a control signal on a control signal line, and Identify variable values from data values on the data bus,
The dynamic analysis apparatus according to claim 1.
ことを特徴とする請求項1に記載の動的解析装置。 The bus data analysis unit specifies which function is executed from the address value output on the address bus.
The dynamic analysis apparatus according to claim 1.
ことを特徴とする請求項1乃至3の何れか1項に記載の動的解析装置。 Receive signals on the address bus and data bus, do not output to these buses,
The dynamic analysis apparatus according to any one of claims 1 to 3, wherein:
プログラムで実行されている関数を解析する実行関数解析部と、
実行された関数の遷移を保持し、所定の関数遷移履歴条件に合致する関数が実行されると、その関数を含む一定数の関数の遷移履歴を保存する関数遷移履歴保存部と、を備え、
外部装置からのアクセスに応答して、前記関数遷移履歴保存部に記憶されている遷移履歴を外部装置に提供する通信部をさらに備える、
ことを特徴とする請求項1乃至4の何れか1項に記載の動的解析装置。 The bus data analysis unit
An execution function analyzer that analyzes the functions being executed in the program;
A function transition history storage unit that holds the transition of the executed function and stores a transition history of a certain number of functions including the function when a function that satisfies a predetermined function transition history condition is executed;
In response to access from an external device, the communication device further includes a communication unit that provides the external device with the transition history stored in the function transition history storage unit.
The dynamic analysis apparatus according to any one of claims 1 to 4, wherein
プログラムで利用されている変数を監視する変数データ解析部と、
所定の変数遷移履歴条件に合致する変数にアクセスがあると、その変数と所定情報とを含む変数遷移履歴を保存する変数遷移履歴保存部と、を備え、
外部装置からのアクセスに応答して、変数遷移履歴保存部に保存されている変数遷移履歴を外部装置に提供する通信部をさらに備える、
ことを特徴とする請求項1乃至5の何れか1項に記載の動的解析装置。 The bus data analysis unit
A variable data analyzer that monitors variables used in the program;
A variable transition history storage unit that stores a variable transition history including the variable and the predetermined information when a variable that matches the predetermined variable transition history condition is accessed;
In response to access from the external device, the communication device further includes a communication unit that provides the external device with the variable transition history stored in the variable transition history storage unit.
The dynamic analysis apparatus according to any one of claims 1 to 5, wherein
プログラムで利用されている変数の現在値を読み込む定時データ処理部と、
前記定時データ処理部により読み込まれた変数値の履歴を保存する定時変数履歴保存部と、を備え、
外部装置からのアクセスに応答して、定時変数履歴保存部に保存されている履歴を外部装置に提供する通信部をさらに備える、
ことを特徴とする請求項1乃至6の何れか1項に記載の動的解析装置。 The bus data analysis unit
A scheduled data processing unit that reads the current values of variables used in the program,
A scheduled variable history storage unit that stores a history of variable values read by the scheduled data processing unit,
In response to access from the external device, the communication device further includes a communication unit that provides the external device with the history stored in the fixed variable history storage unit.
The dynamic analysis apparatus according to any one of claims 1 to 6, wherein:
プログラムで利用されているタスクの切り換えを検出するタスク解析部と、
前記タスク解析部により検出されたタスクの切り換えに基づいて、タスク遷移履歴を保存するタスク履歴保存部と、を備え、
外部装置からのアクセスに応答して、前記タスク履歴保存部に保存されている履歴を外部装置に提供する手段をさらに備える、
ことを特徴とする請求項1乃至7の何れか1項に記載の動的解析装置。 The bus data analysis unit
A task analysis unit that detects switching of tasks used in the program;
A task history storage unit that stores a task transition history based on switching of tasks detected by the task analysis unit;
In response to access from an external device, further comprising means for providing the history stored in the task history storage unit to the external device;
The dynamic analysis apparatus according to claim 1, wherein
バスの占有率を解析するバス占有率解析部と、
前記バス占有率解析部が解析したバス占有率の履歴を保存するバス占有率保存部と、を備え、
外部装置からのアクセスに応答して、前記バス占有率保存部に保存されている履歴を外部装置に提供する手段をさらに備える、
ことを特徴とする請求項1乃至8の何れか1項に記載の動的解析装置。 The bus data analysis unit
A bus occupancy analyzer for analyzing the occupancy of the bus;
A bus occupancy storage unit that stores a history of the bus occupancy analyzed by the bus occupancy analysis unit,
In response to an access from an external device, further comprising means for providing the external device with a history stored in the bus occupancy storage unit;
The dynamic analysis apparatus according to any one of claims 1 to 8, wherein
前記動的解析装置に保持されている履歴を読み出し、処理する解析ツールと、
を備えることを特徴とする動的解析システム。 A dynamic analysis device according to any one of claims 1 to 9,
An analysis tool for reading and processing the history held in the dynamic analysis device;
A dynamic analysis system comprising:
データバス上を伝送されるデータを解析して、処理データを特定し、
特定した処理内容と処理データの履歴の少なくとも一部を含む履歴情報を求め、
求めた履歴情報を提供する、
ことを特徴とする動的解析方法。 Analyzing the address transmitted on the address bus to identify the processing contents,
Analyzing data transmitted on the data bus to identify processing data,
Find history information that includes at least part of the history of the identified process details and process data,
Provide the requested history information,
A dynamic analysis method characterized by that.
アドレスバス上を伝送されるアドレスを解析して処理内容を特定し、
データバス上を伝送されるデータを解析して、処理データを特定し、
特定した処理内容と処理データの履歴の少なくとも一部を含む履歴情報を求め、
求めた履歴情報を提供する、
動作を実行させるプログラム。 On the computer,
Analyzing the address transmitted on the address bus to identify the processing contents,
Analyzing data transmitted on the data bus to identify processing data,
Find history information that includes at least part of the history of the identified process details and process data,
Provide the requested history information,
A program that performs an action.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2011239823A JP5441983B2 (en) | 2011-10-31 | 2011-10-31 | Dynamic analysis apparatus, dynamic analysis system, dynamic analysis method, and program |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2011239823A JP5441983B2 (en) | 2011-10-31 | 2011-10-31 | Dynamic analysis apparatus, dynamic analysis system, dynamic analysis method, and program |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2013097580A true JP2013097580A (en) | 2013-05-20 |
JP5441983B2 JP5441983B2 (en) | 2014-03-12 |
Family
ID=48619458
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2011239823A Active JP5441983B2 (en) | 2011-10-31 | 2011-10-31 | Dynamic analysis apparatus, dynamic analysis system, dynamic analysis method, and program |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP5441983B2 (en) |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH09319605A (en) * | 1996-05-28 | 1997-12-12 | Mitsubishi Electric Corp | Emulator system |
JPH10275094A (en) * | 1997-03-31 | 1998-10-13 | Mitsubishi Electric Corp | Program evaluation system |
JP2000207245A (en) * | 1999-01-12 | 2000-07-28 | Matsushita Electric Ind Co Ltd | In-circuit emulator |
JP2005070949A (en) * | 2003-08-21 | 2005-03-17 | Sanyo Electric Co Ltd | Program processing apparatus |
JP2007207120A (en) * | 2006-02-03 | 2007-08-16 | Canon Inc | System verifying apparatus and its verification method |
JP2009009201A (en) * | 2007-06-26 | 2009-01-15 | Renesas Technology Corp | Debugging device |
-
2011
- 2011-10-31 JP JP2011239823A patent/JP5441983B2/en active Active
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH09319605A (en) * | 1996-05-28 | 1997-12-12 | Mitsubishi Electric Corp | Emulator system |
JPH10275094A (en) * | 1997-03-31 | 1998-10-13 | Mitsubishi Electric Corp | Program evaluation system |
JP2000207245A (en) * | 1999-01-12 | 2000-07-28 | Matsushita Electric Ind Co Ltd | In-circuit emulator |
JP2005070949A (en) * | 2003-08-21 | 2005-03-17 | Sanyo Electric Co Ltd | Program processing apparatus |
JP2007207120A (en) * | 2006-02-03 | 2007-08-16 | Canon Inc | System verifying apparatus and its verification method |
JP2009009201A (en) * | 2007-06-26 | 2009-01-15 | Renesas Technology Corp | Debugging device |
Also Published As
Publication number | Publication date |
---|---|
JP5441983B2 (en) | 2014-03-12 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US9747192B2 (en) | Automated operating system installation on multiple drives | |
US9569325B2 (en) | Method and system for automated test and result comparison | |
US20170068229A1 (en) | Control system, method, program, and information processing device | |
US9984244B2 (en) | Controller, information processing apparatus, and recording medium | |
JP6171386B2 (en) | Controller, information processing apparatus and program | |
US9542304B1 (en) | Automated operating system installation | |
US10120702B2 (en) | Platform simulation for management controller development projects | |
CN102810005A (en) | Power supply state detecting system and method | |
US20150058828A1 (en) | Plc simulation system, plc simulator, recording medium, and simulation method | |
US20080306717A1 (en) | Cooperative simulation system | |
CN104239174A (en) | BMC (baseboard management controller) remote debugging system and method | |
CN107364140B (en) | Method and system for initial parameter configuration and function detection of multiple 3D printers | |
JP5441983B2 (en) | Dynamic analysis apparatus, dynamic analysis system, dynamic analysis method, and program | |
JP2014099058A (en) | Control system and control unit | |
CN115599617B (en) | Bus detection method and device, server and electronic equipment | |
EP3751365A1 (en) | Control device, monitoring method, and monitoring program | |
CN114138587B (en) | Method, device and equipment for verifying reliability of server power firmware upgrade | |
CN105765472A (en) | Remote control device and control system | |
CN110728041B (en) | Information processing method and electronic equipment | |
US8930666B1 (en) | Virtual disk carousel | |
CN104636220A (en) | Method and system for logging into user diagnostic system by stimulating BIOS function key | |
KR101323833B1 (en) | Apparatus and Method For Scheduling | |
CN103593272A (en) | System and method for controlling motherboard function test | |
CN116257419A (en) | Method, system, device and storage medium for automatically adjusting and optimizing performance of mobile phone application | |
JP2015109535A (en) | Communication apparatus and error response level switching method |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20130821 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20130903 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20131101 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20131105 |
|
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: 20131119 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20131217 |
|
R150 | Certificate of patent or registration of utility model |
Ref document number: 5441983 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 |