JP2009223714A - Arithmetic circuit and failure analysis method of arithmetic circuit - Google Patents
Arithmetic circuit and failure analysis method of arithmetic circuit Download PDFInfo
- Publication number
- JP2009223714A JP2009223714A JP2008068723A JP2008068723A JP2009223714A JP 2009223714 A JP2009223714 A JP 2009223714A JP 2008068723 A JP2008068723 A JP 2008068723A JP 2008068723 A JP2008068723 A JP 2008068723A JP 2009223714 A JP2009223714 A JP 2009223714A
- Authority
- JP
- Japan
- Prior art keywords
- history
- information
- program
- processing unit
- central processing
- 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
Links
Images
Landscapes
- Debugging And Monitoring (AREA)
Abstract
Description
本発明は演算回路及び演算回路の異常解析方法に係り、特に中央処理装置(CPU)とメモリで構成される演算回路及び演算回路で発生した異常を解析する異常解析方法に関する。 The present invention relates to an arithmetic circuit and an abnormality analysis method for the arithmetic circuit, and more particularly to an arithmetic circuit including a central processing unit (CPU) and a memory and an abnormality analysis method for analyzing an abnormality occurring in the arithmetic circuit.
CPUとメモリで構成される演算回路において、CPUで実行中のプログラムの異常をウォッチ・ドッグ・タイマ(WDT)を用いて検出することが一般に行われる(例えば、特許文献1参照)。この特許文献1には、CPUは、プログラムの正常動作時にI/O信号と共にプログラムの実行箇所についてのデータを発信し、プログラムの暴走等により発生したCPUの動作異常時に、WDTが所定のカウント数を超えると、プログラムの実行箇所のデータをバックアップメモリに記憶し、異常についての情報を装置の外部に表示する構成の異常検出方法が開示されている。 In an arithmetic circuit including a CPU and a memory, it is generally performed to detect an abnormality in a program being executed by the CPU using a watch dog timer (WDT) (see, for example, Patent Document 1). In this patent document, the CPU transmits data on the execution location of the program together with the I / O signal during normal operation of the program, and the WDT has a predetermined count number when the CPU malfunctions due to program runaway or the like. Is exceeded, the program execution location data is stored in the backup memory, and information on the abnormality is displayed outside the apparatus.
また、上記の特許文献1には、CPUの動作異常時に、CPUの復旧方法についての情報を記録した後プログラムを再び実行し、上記の情報を参照して異常発生した部分を回避するように復旧方法を切り替える方法が開示されている。 Also, in the above-mentioned Patent Document 1, when CPU operation is abnormal, information on the CPU recovery method is recorded and then the program is executed again, and recovery is performed so as to avoid the part where the abnormality has occurred by referring to the above information. A method of switching between methods is disclosed.
また、プログラムの内部に予め埋め込まれたエラー処理プログラムで、プログラムの異常箇所(エラー)を検出する方法も知られている。エラー処理プログラムは、エラーの発生したプログラムの動作部分の命令コード、ポインタ値、CPUのレジスタ情報などの情報をCPUから読み出し保持する仕組みを持つ。この異常検出方法では、検出したエラーの状態をプログラムが外部のメモリに書き込んだり、あるいは、プログラムがCPUの内部状態をメモリに書き込む事でエラーのログ(履歴)を残す仕組みが一般に行われている。 There is also known a method for detecting an abnormal part (error) of a program using an error processing program embedded in advance in the program. The error processing program has a mechanism in which information such as an instruction code, a pointer value, and CPU register information of an operation part of a program in which an error has occurred is read from the CPU and held. In this abnormality detection method, a mechanism is generally used in which a program writes the detected error state to an external memory, or an error log (history) is left by the program writing the internal state of the CPU to the memory. .
しかしながら、特許文献1記載の異常検出方法では、WDTを備えていることが前提となっており、WDTによる異常動作のトリガとしており、異常動作のトリガとして様々な条件を設定することができない。また、WDTが起きた時点のデータ(すなわち、CPUが異常動作した箇所のデータ)を記録するのみであり、異常動作の解析ができない。 However, the abnormality detection method described in Patent Document 1 is premised on the provision of WDT, and is used as a trigger for abnormal operation by WDT, and various conditions cannot be set as a trigger for abnormal operation. Further, only data at the time when WDT occurs (that is, data at a location where the CPU has abnormally operated) is recorded, and analysis of abnormal operation cannot be performed.
また、特許文献1記載の異常検出方法では、CPUの動作異常時に、CPUの復旧方法についての情報を記録した後プログラムを再び実行し、上記の情報を参照して異常発生した部分を回避するように復旧方法を切り替えるようにしているが、これは異常の対象がWDTのときのみ可能であり、一般のCPUとその動作プログラムがWDTエラー以外で異常になった場合は、その異常を検出することができず、回避も不可能である。 Further, in the abnormality detection method described in Patent Document 1, when the CPU operation is abnormal, the information about the CPU recovery method is recorded and then the program is executed again to avoid the part where the abnormality has occurred by referring to the above information. However, this is possible only when the target of the abnormality is WDT. If the general CPU and its operation program become abnormal other than a WDT error, the abnormality is detected. Cannot be avoided.
一方、エラー処理プログラムで、プログラムの異常箇所(エラー)を検出する方法では、メモリに書き込んだエラーログ(履歴)は、CPUリセット、電源断からの復旧で消去される場合が多い。また、エラー処理プログラムは、予め取得する情報が決められているため、動作途中で取得情報を変更する事ができない欠点がある。 On the other hand, in the method of detecting an abnormal part (error) of a program with an error processing program, the error log (history) written in the memory is often erased by a CPU reset or recovery from a power failure. In addition, the error processing program has a drawback that the acquired information cannot be changed during the operation because the information to be acquired is determined in advance.
また、エラー処理プログラムがCPUから読み出して保持する、エラーの発生したプログラムの動作部分の命令コード、ポインタ値、CPUのレジスタ情報などの情報は、プログラムがエラーした時点の1回のみ記録するため、プログラムが停止した時点の情報は判るが、異常になる経緯の判定が難しい。また、プログラムをデバッグさせながら走らせる事で経緯を解析することは可能であるが、商用運用中のシステムではデバッグができない。 In addition, information such as instruction code, pointer value, and CPU register information of the operation part of the program in which the error has been read and held by the error processing program from the CPU is recorded only once at the time of the program error. Although the information at the time of the program stop is known, it is difficult to determine the circumstances of the abnormality. In addition, it is possible to analyze the background by running the program while debugging it, but debugging is not possible in a system in commercial operation.
更に、組み込みシステムなどの動作タイミングが重要な要件となるプログラムは、デバッグシステムの適用で動作タイミングが変更されてしまい、プログラムのエラーが再現できなくなる可能性もある。このように、エラー処理プログラムでプログラムのエラーを検出する方法では、再現性が低い、エラー要因の特定が困難になる、あるいは、エラー原因を特定するまでの解析に非常に多大な時間を必要とするなどの欠点がある。 Furthermore, a program in which operation timing is an important requirement for an embedded system or the like may change the operation timing due to the application of the debug system, and the program error may not be reproduced. As described above, in the method of detecting a program error by the error processing program, the reproducibility is low, it is difficult to identify the cause of the error, or the analysis until the cause of the error is identified requires a very long time. There are disadvantages such as.
本発明は以上の点に鑑みなされたもので、商用運用中の機器であっても現状の動作に影響を及ぼすことなく、プログラムの状態が把握できる演算回路及び演算回路の異常解析方法を提供することを目的とする。 The present invention has been made in view of the above points, and provides an arithmetic circuit and an abnormality analysis method for an arithmetic circuit that can grasp the state of a program without affecting the current operation even for devices in commercial operation. For the purpose.
また、本発明の他の目的は、異常状態に至る過程も含めた解析を可能にし、プログラムの障害解析時間を大幅に短縮できる演算回路及び演算回路の異常解析方法を提供することにある。 It is another object of the present invention to provide an arithmetic circuit and an arithmetic circuit abnormality analysis method that enable analysis including a process leading to an abnormal state, and can greatly reduce the failure analysis time of a program.
上記の目的を達成するため、本発明の演算回路は、中央処理装置と、中央処理装置を動作させるプログラムコードを格納しているプログラムメモリと、該プログラムが動作するときに用いるデータを格納するデータメモリとを有する演算回路において、中央処理装置は、予め決められたプログラムの動作異常状態の検出条件で、その中央処理装置上で動作するプログラムが正常か異常かを示す監視情報を生成する手段を備え、中央処理装置から出力される監視情報に基づき、異常検出時までのプログラムの命令コード及びデータと異常検出時の中央処理装置内の情報とを履歴情報として格納する履歴情報格納手段を有することを特徴とする。 In order to achieve the above object, an arithmetic circuit according to the present invention includes a central processing unit, a program memory storing program code for operating the central processing unit, and data for storing data used when the program operates. In an arithmetic circuit having a memory, the central processing unit has means for generating monitoring information indicating whether a program operating on the central processing unit is normal or abnormal under a predetermined condition for detecting an abnormal operation state of the program. And having history information storage means for storing, as history information, instruction codes and data of a program up to the time of abnormality detection and information in the central processing unit at the time of abnormality detection based on monitoring information output from the central processing unit It is characterized by.
また、上記の目的を達成するため、本発明の演算回路の異常解析方法は、予め決められたプログラムの動作異常状態の検出条件で、動作するプログラムが正常か異常かを示す監視情報を生成する手段を備えた中央処理装置と、中央処理装置から出力される監視情報に基づき、異常検出時までのプログラムの命令コード及びデータと異常検出時の中央処理装置内の情報とを履歴情報として格納する履歴情報格納手段とを備えた演算回路の異常解析方法であって、履歴情報格納手段より読み出した履歴情報をデバッグ情報に基づきデバッグして、物理データとオペレーションコードに分離する第1のステップと、オペレーションコードを逆コンパイルして得たソースコードと物理データとの比較を行う第2のステップと、第2のステップの比較結果に基づき、デバッガ上でプログラムを動作させて異常個所の解析結果を得る第3のステップとを含むことを特徴とする。 In order to achieve the above object, the arithmetic circuit abnormality analysis method according to the present invention generates monitoring information indicating whether the operating program is normal or abnormal under a predetermined condition for detecting an abnormal operation state of the program. A central processing unit having means, and the instruction code and data of the program up to the time of abnormality detection and information in the central processing unit at the time of abnormality detection are stored as history information based on the monitoring information output from the central processing unit A first step of debugging the history information read from the history information storage means based on the debug information and separating it into physical data and an operation code, comprising: The second step of comparing the source code obtained by decompiling the operation code with the physical data, and the comparison result of the second step Based on, characterized in that it comprises a third step of obtaining analysis results of abnormal location by operating the program in the debugger.
本発明によれば、商用運用中の機器であっても現状の動作に影響を及ぼすことなく、プログラムの状態が把握でき、異常状態に至る過程も含めた解析を可能にでき、更には、プログラムの障害解析時間を著しく短縮できる。 According to the present invention, it is possible to grasp the state of a program without affecting the current operation even for a device in commercial operation, and to enable analysis including the process leading to an abnormal state. The failure analysis time can be significantly shortened.
次に、本発明の実施形態について図面と共に詳細に説明する。 Next, embodiments of the present invention will be described in detail with reference to the drawings.
(第1の実施形態)
図1は、本発明になる演算回路の第1の実施形態のブロック図を示す。本実施形態の演算回路は、中央処理装置(CPU)10と、CPU10に双方向のデータバス100で接続されたプログラムメモリ11及びデータメモリ12と、履歴制御部20と、CPU10に双方向のモニタ線103で接続された履歴メモリ30と、コマンドライン101で履歴制御部20に接続されたコマンド制御装置50とからなる。
(First embodiment)
FIG. 1 shows a block diagram of a first embodiment of an arithmetic circuit according to the present invention. The arithmetic circuit of this embodiment includes a central processing unit (CPU) 10, a program memory 11 and a
プログラムメモリ11は、CPU10を動作させるプログラムコードを格納している。データメモリ12は、プログラムが動作する時に用いるデータを格納する。コマンド制御装置50は、履歴制御部20に対しプログラムの動作異常時のトリガ設定、履歴情報の読み出し、履歴情報の消去を行う目的で配置され、トリガ条件の変更が必要な場合、履歴情報の読み出し、履歴情報の消去が必要な場合の時のみ、履歴制御部20に情報を与える。コマンド制御装置50から履歴制御部20に与えられるトリガ情報は、予め決められたプログラムエラー条件、割り込み要因、特定の命令実行、アドレス、データ、発生回数指定、履歴情報のデータ量、リングバッファ設定、上書きバッファ設定、などの履歴情報獲得に必要な様々な条件設定を行うことができる。履歴の記録を完了するトリガの発生回数の指定をCPU10の外部のコマンド制御装置50から行うことで、トリガの回数分の履歴情報を履歴メモリ30に記憶することができる。
The program memory 11 stores program code for operating the
履歴制御部20は、不揮発性メモリを持ち、コマンド制御装置50から与えられた情報を全て不揮発性メモリに保持する。従って、履歴制御部20に保持された情報は電源が切断された場合や、CPU10にリセットがかかった場合などでも消去されることはない。履歴制御部20は、監視情報102を用いてCPU10と接続される。この監視情報102は、プログラム動作が正常か異常かの情報がメッセージとしてCPU10から履歴制御部20に送られてくる。また、履歴制御部20は、履歴メモリ30に制御情報200を出力し、履歴メモリ30から履歴情報300が供給される。この制御情報200は、履歴制御部20が保持している履歴情報の制御方法を示すメッセージであり、履歴メモリ30の使い方を指示する。
The
履歴メモリ30は、CPU10で処理される全ての命令とデータとがモニタ線103を介して供給され、履歴制御部20から指示された制御方法で蓄える。履歴メモリ30は、電源が切断された場合、CPU10にリセットがかかり、ブートアップ、リブートした場合などでも蓄積した情報が消去されることはない、不揮発性メモリで構成される。また、履歴情報300は、履歴メモリ30の内容をコマンド制御装置50からの制御により履歴制御部20経由で読み出すために用いられる。
The
次に、本実施形態の動作について説明する。まず、CPU10を動作させるプログラムメモリ11のプログラムが正常である場合、CPU10は、監視情報102により履歴制御部20に対し正常な状態を通知する。この場合、履歴制御部20から履歴メモリ30に対してエラー情報の保持命令を出さず、履歴メモリ30は継続的にモニタ線103を介して供給されるCPU10の命令とデータを蓄積する。
Next, the operation of this embodiment will be described. First, when the program in the program memory 11 that operates the
次に、プログラムが異常状態になった場合について説明する。予め決められたプログラムの動作異常状態の検出条件で、CPU10がプログラムの動作の異常検出を行い、プログラムが致命的な欠陥状況になった場合、プログラムのエラー処理ルーチンを使った処理が実行され、異常発生の割り込みが利用され、ウォッチ・ドッグ・タイマのタイムアウトが発生するなどのエラー状態になる。その時点で、CPU10は、監視情報102により履歴制御部20に対し異常状態を通知する。履歴制御部20は、監視情報102によりプログラムの異常状態を検出すると、制御情報200としてエラーメッセージを出力する。
Next, a case where the program is in an abnormal state will be described. When the
履歴メモリ30は、制御情報200により与えられるエラーメッセージで、1レコードの履歴情報を保持すると共に、エラーメッセージを受信した時点で、CPU10のエラーログ情報も履歴情報に付加する。通常のCPU10の動作では、エラー発生時にプログラムが最初の状態から再び動作を開始するか、そのままの状態で止まるかの設定がされている。再び動作開始の設定がされている場合は、履歴メモリ30は、1度蓄えたレコードとは別のアドレス領域にCPU10の処理するすべての命令とデータを格納し始め、新たな履歴情報を構築する。
The
このように、本実施形態では、プログラムが動作する事によって発生するエラーをプログラム自身が検出する場合や、CPU10自身がエラーや異常を検出する場合、ウォッチ・ドッグ・タイマのタイムアウト発生などの異常状態の時に、異常状態になった事を履歴制御部20に伝える仕組みを構築することで、プログラムの動作の異常を検出した直前までのプログラムの動作情報と異常発生時のCPU10内の各種情報を履歴メモリ30に蓄積することが可能になる。なお、履歴制御部20は、異常発生毎に履歴メモリ30上の異なる領域に履歴情報を格納させる。
As described above, in this embodiment, when the program itself detects an error that occurs due to the operation of the program, or when the
本実施形態では、異常動作は記録のトリガにしかならず、過去に遡ってプログラムの動作の異常を検出した直前までのプログラムの動作情報と異常発生時のCPU10内の各種情報を履歴メモリ30に蓄積するものであり、残す情報の内容範囲がCPUの異常個所のデータのみの場合よりも広い。
In the present embodiment, the abnormal operation is only a trigger for recording, and the operation information of the program up to immediately before detecting the abnormality of the operation of the program retroactively and various information in the
また、本実施形態では、この履歴メモリ30に蓄積された履歴情報を、コマンド制御装置50からの読み出しコマンドを用いて、履歴制御部20経由で履歴情報300として履歴メモリ30から読み出すことで、プログラム動作中の何度も異常が発生する状況に陥った場合でも、異常発生毎に履歴メモリ30上の異なる領域に履歴データを格納しているので、複数回の異常情報を過去に遡り得ることができ、これにより異常になるまでの経緯を知ることができ、プログラムの障害解析の時間を短縮することが可能となる。
In the present embodiment, the history information stored in the
また、本実施形態では、プログラムが動作する生の監視情報102を予め決められた条件で取得するため、たとえ商用運用中の機器であっても現状の動作に影響を及ぼすこと無く、プログラムの状態が把握できる。
Further, in this embodiment, since the
また、一度異常発生した場合に、次にそのプログラム部分を通過する場合に、異常発生した部分を回避するように復旧方法を切り替えるような、異常の対象がWDTである特許文献1の構成では、異常の対象がCPUとその動作プログラムがWDTエラー以外で異常になった場合には検出ができないし、回避も不可能であるが、本実施形態では、復旧ではなく解析を目的にしているために、上記のWDTエラー以外の異常の解析もできる。 In addition, in the configuration of Patent Document 1 in which an abnormality target is WDT so that the recovery method is switched so as to avoid the part where the abnormality has occurred when the abnormality occurs once and then the program part is passed, If the target of the abnormality is the CPU and its operation program other than the WDT error, it cannot be detected and cannot be avoided. However, in this embodiment, the purpose is not recovery but analysis. An abnormality other than the WDT error can also be analyzed.
更に、本実施形態では、CPU10の外部の仕組みで履歴保持用の回路を構成できるので、一般のCPU盤に適用可能である。
Furthermore, in this embodiment, since a history holding circuit can be configured by a mechanism external to the
(第2の実施形態)
次に、本発明の第2の実施形態について説明する。図2は、本発明になる演算回路の第2の実施形態のブロック図を示す。同図中、図1と同一構成部分には同一符号を付し、その説明を省略する。本実施形態の演算回路は、図1に示した第1の実施の形態の演算回路の要部を内部に組み込んだ履歴保持機能付きCPU60である。すなわち、図2において、履歴保持機能付きCPU60は、CPU10と履歴制御部20と履歴メモリ30とを1つのCPU内に構築した構成である。
(Second Embodiment)
Next, a second embodiment of the present invention will be described. FIG. 2 shows a block diagram of a second embodiment of the arithmetic circuit according to the present invention. In the figure, the same components as those in FIG. The arithmetic circuit of this embodiment is a
本実施形態の動作は図1で説明した動作と同様であり、第1の実施形態と同様の特長を有する。すなわち、本実施形態も第1の実施形態と同様に、CPU10上でプログラムが動作した命令コードとデータの履歴を記録する仕組みと、プログラムがエラーした時点の要因を記録する仕組みと、記録した2つの情報を保持する仕組みを持ち、CPU10に外部から与えられるコマンドにより、保持された情報を読み出す手段と消去する手段を備えると共に、履歴と要因を記録するかどうかをCPU10に外部から与えられるコマンドで選択できる手段を持つように構成したものである。また、本実施形態も履歴メモリ30に記録した履歴情報は、CPU10のリセットでは消去されず電源断からの復旧で初期化される機能が初期化されない機能かを選択できる機能を持ち、履歴の量、記録完了のトリガ条件、履歴保持の方法を変更でき、システムに合った最適な障害履歴を獲得できるように構成される。
The operation of this embodiment is the same as the operation described in FIG. 1, and has the same features as those of the first embodiment. That is, in the present embodiment as well as the first embodiment, a mechanism for recording a history of instruction codes and data on which the program has been operated on the
更に、本実施形態では、履歴保持機能付きCPU60内にCPU10、履歴制御部20及び履歴メモリ30が組み込まれているので、履歴保持機能付きCPU60を大規模集積回路(LSI)としたとき、全体形状を第1の実施形態よりも小型化できる。
Furthermore, in this embodiment, since the
(第3の実施形態)
次に、本発明の第3の実施形態について説明する。図3は、本発明になる演算回路の第3の実施形態のブロック図を示す。同図中、図1と同一構成部分には同一符号を付し、その説明を省略する。
(Third embodiment)
Next, a third embodiment of the present invention will be described. FIG. 3 shows a block diagram of a third embodiment of the arithmetic circuit according to the present invention. In the figure, the same components as those in FIG.
図3に示すように、本実施形態の演算回路は、CPU10、履歴制御部20、及び履歴メモリ30を内部に有する履歴保持機能付きCPU70の外部に、プログラムメモリ11、データメモリ12、コマンド制御装置50と、外部履歴メモリ31とを設けた構成である。本実施形態の履歴保持機能付きCPU70は、第2の実施形態の履歴保持機能付きCPU60と略同様の構成であるが、履歴保持機能付きCPU70は、履歴制御部20からの制御情報200を外部履歴メモリ31に供給すると共に、外部履歴メモリ31からも履歴情報301が供給される点が履歴保持機能付きCPU60と異なる。
As shown in FIG. 3, the arithmetic circuit of this embodiment includes a program memory 11, a
外部履歴メモリ31は、履歴メモリ30と同等の機能を持ち、CPU10で処理される全ての命令とデータとがモニタ線103を介して供給され、履歴制御部20から指示された制御方法で蓄える。外部履歴メモリ31は、電源が切断された場合、CPU10にリセットがかかり、ブートアップ、リブートした場合などでも消去されることはない、不揮発性メモリで構成される。これにより、本実施形態によれば、外部履歴メモリ31を用いることで、履歴メモリの容量の拡張が簡単に行える特徴を持つ。
The
次に、本発明による履歴情報から異常を解析する方法について説明する。 Next, a method for analyzing an abnormality from history information according to the present invention will be described.
図4は、本発明になる演算回路の異常解析方法の一実施の形態の説明図を示す。図1乃至図3のいずれかのコマンド制御装置50からの読み出しコマンドに基づいて、履歴メモリ30(又は外部履歴メモリ31)から読み出された履歴情報300は、コマンド制御装置50に保持されているものとする。この保持された履歴情報は、コマンド制御装置50より動作ログ情報として、外部に置かれた図4のログ解析ツール500に読み込む。以下、ログ解析ツール500の動作を説明する。
FIG. 4 shows an explanatory diagram of an embodiment of an abnormality analysis method for an arithmetic circuit according to the present invention. The
ログ解析ツール500に入力された履歴情報300は、まず、デバッガ501に取り込まれる。デバッガ501は、デバッグ情報502に基づき動作するように設定されている。このデバッグ情報502は、CPU10を動作させる元のソースコード、CPU10の構成情報、I/O情報、メモリの情報、メモリのスタック情報、外部デバイスの情報など実際に動作する環境に必要な情報全てが含まれる。
The
デバッガ501は、上記のデバッグ情報502に基づき、履歴情報300を物理データ511とオペレーションコード512とに分離する。物理データ511は、物理データ処理部503でメモリエリア、レジスタデータ展開、実アドレス、相対アドレス、アクセスした時間などの物理情報変換が行われた後、変換後の全てのデータが抽出データ513としてデータ比較部506に与えられる。
The
一方、オペレーションコード512は、逆コンパイル504で、オペレーションコード512からCPU10のニーモニック情報或いはデバッガ501で指定される高級言語レベルまで逆コンパイルされ、履歴情報300のオペレーションコード部分からソースコードが生成される。この生成されたソースコードは、履歴情報300が持つ実行された時間、順番が付与され、ソースコード514としてコード比較部505に与えられる。
On the other hand, the
次に、コード比較部505は、デバッガ501上にある元のソースコードと履歴情報300から得られたソースコード514とを比較して一致箇所の検出を行い、検出したコード一致データ515をデータ比較部506に与える。データ比較部506は、抽出データ513とコード一致データ515とを比較し、ソースコードの一致検出の履歴時間と抽出データ513の履歴時間との関連付けを保ちながら、ソースコード514の実行時間をキーにしたデータのアクセス順序の組み替えを行って比較結果データ516を生成し、その比較結果データ516を異常箇所の特定部507に与える。
Next, the
異常箇所の特定部507は、比較結果データ516をデバッガ501上のデータに組み込み、デバッガ501上でプログラムを動作させ、実動作で異常になった箇所まで走らせ、処理の流れの正常性、処理データの正常性、異常状態になる直前の情報などを解析し、得られた解析結果517を異常部分の表示部508に与える。
The abnormal
異常部分の表示部508は、異常個所の特定部507から入力された解析結果517を、ソースプログラムや処理のデータ、異常に陥った原因などの形に翻訳し、人に見易い形で、GUI(graphical user interface)などを用いて表示する。
The abnormal
このように、本実施形態では、異常状態を履歴情報300から解析し表示する機能を有するため、機械語や実メモリのデータではなく、人間が理解し易い形に表示することが可能である。
As described above, since the present embodiment has a function of analyzing and displaying the abnormal state from the
なお、本発明は以上の実施形態に限定されるものではなく、例えば、図4のログ解析ツール500は、ソフトウェア構成でも実現可能であり、本発明によるコマンド制御装置50に組み込む事や外部のパーソナルコンピュータ、サーバー機器などに組み込み利用が可能である。
The present invention is not limited to the above embodiment. For example, the
また、図3の実施形態は履歴メモリを履歴保持機能付きCPU70の内部と外部に設けているが、外部だけに設けるようにしてもよい。更に、履歴メモリ30は、不揮発性メモリとして説明したが、揮発性メモリか不揮発性メモリの選択が可能な構成としてもよく、揮発性メモリを選択した場合は、演算回路の電源断からの復旧時に記憶された履歴情報が消去される。
In the embodiment of FIG. 3, the history memory is provided inside and outside the
本発明の演算回路は、組み込み分野のCPU盤及び回路、車載搭載機器のCPU回路、CPU及びその周辺回路LSIに利用可能である。 The arithmetic circuit of the present invention can be used for CPU boards and circuits in the field of embedded devices, CPU circuits of in-vehicle devices, CPUs and peripheral circuit LSIs thereof.
10 中央処理装置(CPU)
11 プログラムメモリ
12 データメモリ
20 履歴制御部
30 履歴メモリ
31 外部履歴メモリ
50 コマンド制御装置
60、70 履歴保持機能付きCPU
100 データバス
101 コマンドライン
102 監視情報
103 モニタ線
200 制御情報
300、301 履歴情報
500 ログ解析ツール
501 デバッガ
502 デバッグ情報
503 物理データ処理部
504 逆コンパイル
505 コード比較部
506 データ比較部
507 異常箇所の特定部
508 異常部分の表示部
10 Central processing unit (CPU)
DESCRIPTION OF SYMBOLS 11
DESCRIPTION OF
Claims (15)
前記中央処理装置は、予め決められたプログラムの動作異常状態の検出条件で、その中央処理装置上で動作するプログラムが正常か異常かを示す監視情報を生成する手段を備え、
前記中央処理装置から出力される前記監視情報に基づき、前記異常検出時までの前記プログラムの命令コード及びデータと異常検出時の前記中央処理装置内の情報とを履歴情報として格納する履歴情報格納手段を有することを特徴とする演算回路。 In an arithmetic circuit having a central processing unit, a program memory storing program code for operating the central processing unit, and a data memory storing data used when the program operates,
The central processing unit includes means for generating monitoring information indicating whether a program operating on the central processing unit is normal or abnormal under a predetermined condition for detecting an abnormal operation state of the program,
Based on the monitoring information output from the central processing unit, history information storage means for storing, as history information, instruction codes and data of the program up to the time of abnormality detection and information in the central processing unit at the time of abnormality detection An arithmetic circuit comprising:
前記中央処理装置は、予め決められたプログラムの動作異常状態の検出条件で、その中央処理装置上で動作するプログラムが正常か異常かを示す監視情報を生成する手段を備え、
前記プログラムの命令コード及びデータと前記中央処理装置内の情報とを履歴情報として記憶する履歴メモリと、
前記監視情報が入力されると共に履歴情報獲得に必要な条件が設定されており、前記監視情報が異常を示し、かつ、前記条件を満足する時は、その異常検出時までの前記プログラムの命令コード及びデータと異常検出時の前記中央処理装置内の情報とを、前記中央処理装置のエラーログ情報と共に1つの履歴情報として前記履歴メモリに記憶させる履歴制御手段と
を有することを特徴とする演算回路。 In an arithmetic circuit having a central processing unit, a program memory storing program code for operating the central processing unit, and a data memory storing data used when the program operates,
The central processing unit includes means for generating monitoring information indicating whether a program operating on the central processing unit is normal or abnormal under a predetermined condition for detecting an abnormal operation state of the program,
A history memory for storing instruction codes and data of the program and information in the central processing unit as history information;
When the monitoring information is input and a condition necessary for acquiring history information is set, the monitoring information indicates an abnormality, and when the condition is satisfied, the instruction code of the program until the abnormality is detected And a history control means for storing data and information in the central processing unit at the time of abnormality detection together with error log information of the central processing unit as one history information in the history memory. .
前記中央処理装置から出力される前記監視情報に基づき、前記異常検出時までの前記プログラムの命令コード及びデータと異常検出時の前記中央処理装置内の情報とを履歴情報として格納する履歴情報格納手段とを備えた演算回路の異常解析方法であって、
前記履歴情報格納手段より読み出した前記履歴情報をデバッグ情報に基づきデバッグして、物理データとオペレーションコードに分離する第1のステップと、
前記オペレーションコードを逆コンパイルして得たソースコードと前記物理データとの比較を行う第2のステップと、
前記第2のステップの比較結果に基づき、デバッガ上で前記プログラムを動作させて異常個所の解析結果を得る第3のステップと
を含むことを特徴とする演算回路の異常解析方法。 A central processing unit comprising means for generating monitoring information indicating whether the operating program is normal or abnormal under the detection condition of the abnormal operation state of the predetermined program;
Based on the monitoring information output from the central processing unit, history information storage means for storing, as history information, instruction codes and data of the program up to the time of abnormality detection and information in the central processing unit at the time of abnormality detection An abnormality analysis method for an arithmetic circuit comprising:
A first step of debugging the history information read from the history information storage means based on debug information and separating it into physical data and an operation code;
A second step of comparing the physical data with the source code obtained by decompiling the operation code;
And a third step of obtaining an analysis result of the abnormal part by operating the program on a debugger based on the comparison result of the second step.
前記プログラムの命令コード及びデータと前記中央処理装置内の情報とを履歴情報として記憶する履歴メモリと、
前記監視情報が入力されると共に履歴情報獲得に必要な条件が設定されており、前記監視情報が異常を示し、かつ、前記条件を満足する時は、その異常検出時までの前記プログラムの命令コード及びデータと異常検出時の前記中央処理装置内の情報とを、前記中央処理装置のエラーログ情報と共に1つの履歴情報として前記履歴メモリに記憶させる履歴制御手段とを備えた演算回路の異常解析方法であって、
前記履歴メモリより読み出した前記履歴情報をデバッグ情報に基づきデバッグして、物理データとオペレーションコードに分離する第1のステップと、
前記オペレーションコードを逆コンパイルして得たソースコードと、前記第1のステップでデバッグ対象の元の履歴情報のソースコードとの一致箇所の検出を行う第2のステップと、
前記第2のステップで得られたコード一致検出の履歴時間と前記物理データの履歴時間との関連付けを保ちながら、前記ソースコードの実行時間をキーにした前記物理データのアクセス順序の組み替えを行って比較結果データを生成する第3のステップと、
前記第3のステップで生成された前記比較結果データをデバッガ上でデータに組み込んで前記プログラムを動作させて異常個所の解析結果を得る第4のステップと
を含むことを特徴とする演算回路の異常解析方法。 A central processing unit comprising means for generating monitoring information indicating whether the operating program is normal or abnormal under the detection condition of the abnormal operation state of the predetermined program;
A history memory for storing instruction codes and data of the program and information in the central processing unit as history information;
When the monitoring information is input and a condition necessary for acquiring history information is set, the monitoring information indicates an abnormality, and when the condition is satisfied, the instruction code of the program until the abnormality is detected And a history control means for storing data and information in the central processing unit at the time of abnormality detection together with error log information of the central processing unit as one history information in the history memory. Because
A first step of debugging the history information read from the history memory based on debug information and separating the history information into physical data and an operation code;
A second step of detecting a match between the source code obtained by decompiling the operation code and the source code of the original history information to be debugged in the first step;
While maintaining the association between the code matching detection history time obtained in the second step and the physical data history time, the physical data access order is rearranged using the execution time of the source code as a key. A third step of generating comparison result data;
A fourth step of incorporating the comparison result data generated in the third step into data on a debugger and operating the program to obtain an analysis result of the abnormal part, analysis method.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2008068723A JP2009223714A (en) | 2008-03-18 | 2008-03-18 | Arithmetic circuit and failure analysis method of arithmetic circuit |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2008068723A JP2009223714A (en) | 2008-03-18 | 2008-03-18 | Arithmetic circuit and failure analysis method of arithmetic circuit |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2009223714A true JP2009223714A (en) | 2009-10-01 |
Family
ID=41240402
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2008068723A Pending JP2009223714A (en) | 2008-03-18 | 2008-03-18 | Arithmetic circuit and failure analysis method of arithmetic circuit |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP2009223714A (en) |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2013178638A (en) * | 2012-02-28 | 2013-09-09 | Ricoh Co Ltd | Image processing circuit, image processing device, and method for controlling image processing circuit |
JP2014085872A (en) * | 2012-10-24 | 2014-05-12 | Sumitomo Electric Ind Ltd | Fault occurrence trace system and optical module for optical communication system |
US9811442B2 (en) | 2015-12-11 | 2017-11-07 | International Business Machines Corporation | Dynamic trace level control |
JP2020088806A (en) * | 2018-11-30 | 2020-06-04 | キヤノン株式会社 | Information processing device, control method thereof, and program |
-
2008
- 2008-03-18 JP JP2008068723A patent/JP2009223714A/en active Pending
Cited By (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2013178638A (en) * | 2012-02-28 | 2013-09-09 | Ricoh Co Ltd | Image processing circuit, image processing device, and method for controlling image processing circuit |
JP2014085872A (en) * | 2012-10-24 | 2014-05-12 | Sumitomo Electric Ind Ltd | Fault occurrence trace system and optical module for optical communication system |
US9811442B2 (en) | 2015-12-11 | 2017-11-07 | International Business Machines Corporation | Dynamic trace level control |
US9811443B2 (en) | 2015-12-11 | 2017-11-07 | International Business Machines Corporation | Dynamic trace level control |
JP2020088806A (en) * | 2018-11-30 | 2020-06-04 | キヤノン株式会社 | Information processing device, control method thereof, and program |
JP7309349B2 (en) | 2018-11-30 | 2023-07-18 | キヤノン株式会社 | Information processing device, its control method, and program |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN103186461B (en) | The store method of a kind of field data and restoration methods and relevant apparatus | |
CN107515808B (en) | Log recording method, apparatus, computer device and computer readable storage medium | |
US20120331449A1 (en) | Device, method and computer program product for evaluating a debugger script | |
US20150212923A1 (en) | Nontransitory processor readable recording medium having fault injection program recorded therein and fault injection method | |
CN113742119A (en) | Call stack backtracking method and device of embedded system and computer equipment | |
US20120254662A1 (en) | Automated test system and automated test method | |
TWI361978B (en) | Method for debugging a computer system | |
JP2009223714A (en) | Arithmetic circuit and failure analysis method of arithmetic circuit | |
JP2007199845A (en) | Method and device for detecting memory c0rruption | |
JP6981920B2 (en) | Semiconductor devices and debugging methods | |
JP2009211625A (en) | Start log storage method for information processor | |
KR20150116020A (en) | Apparatus for computer diagnostics and recovery using wireless network and method thereof | |
JP2009098910A (en) | Electronic equipment and memory managing program | |
US8990624B2 (en) | Emulator verification system, emulator verification method | |
KR20190076217A (en) | Apparatus and method for dynamic binary instrumentation using multi-core | |
JP2007172414A (en) | Compact core dump program for built-in equipment and method using compact core dump | |
US20090222633A1 (en) | Information processing system and information processing method capable of performing detailed state notification even in a difficult situation | |
JP2003281076A (en) | Unauthorized access detection circuit of dma controller, unauthorized access detecting method and program thereof | |
JP2009123108A (en) | Information processor | |
US20080195896A1 (en) | Apparratus and method for universal programmable error detection and real time error detection | |
JP2009140136A (en) | Reproduction testing system | |
JP2014232478A (en) | Operation monitoring device and operation monitoring method | |
JP2017167615A (en) | Log acquisition device, computation device, processor, processing method, and program | |
JPH1091477A (en) | Control microcomputer device and maintenance tool for the same | |
JP2003263340A (en) | Debug device |