JP2015014931A - Simulator apparatus, program, and log information processing method - Google Patents

Simulator apparatus, program, and log information processing method Download PDF

Info

Publication number
JP2015014931A
JP2015014931A JP2013141512A JP2013141512A JP2015014931A JP 2015014931 A JP2015014931 A JP 2015014931A JP 2013141512 A JP2013141512 A JP 2013141512A JP 2013141512 A JP2013141512 A JP 2013141512A JP 2015014931 A JP2015014931 A JP 2015014931A
Authority
JP
Japan
Prior art keywords
output
information
log
time
time information
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
JP2013141512A
Other languages
Japanese (ja)
Inventor
孝昭 河津
Takaaki Kawazu
孝昭 河津
智博 細田
Tomohiro Hosoda
智博 細田
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.)
Fujitsu Ltd
Original Assignee
Fujitsu Ltd
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 Fujitsu Ltd filed Critical Fujitsu Ltd
Priority to JP2013141512A priority Critical patent/JP2015014931A/en
Publication of JP2015014931A publication Critical patent/JP2015014931A/en
Pending legal-status Critical Current

Links

Images

Landscapes

  • Debugging And Monitoring (AREA)

Abstract

PROBLEM TO BE SOLVED: To provide a technique for outputting logs that make clear the time sequence of operations performed by firmware and hardware.SOLUTION: A simulator apparatus comprises: an execution unit emulating instructions of firmware, acquiring time information in response to an input/output instruction from the firmware, adding the time information to the input/output instruction, and executing the input/output instruction; a first virtual device outputting first operation information output in a first output form and the time information in response to execution of the input/output instruction to which the time information is added, the first operation information being associated with the time information; a second virtual device outputting second operation information output in a second output form and the time information in response to the execution of the input/output instruction to which the time information is added, the second operation information being associated with the time information; and an integration unit outputting operation history information in which the first operation information and the second operation information are arranged in a time sequence on the basis of the time information.

Description

本発明は、シミュレータ装置のログ情報処理技術に関する。   The present invention relates to a log information processing technique of a simulator device.

組み込みソフト(以下、Firmware(FW)という)のデバッグでは、実機(組み込みソフトを載せる装置)にて、ICE(In-circuit emulator)を使用し動作させることにより、FWのテストを行っている。しかし、障害テスト等のイリーガルな動作に対するデバッグでは、LSI(Large Scale Integration)等のハードウェア部品(以下、Hardware(HW)という)のエラーに起因する場合、実際のHWを壊す、または、疑似故障専用の治具を作成する必要がある。   In debugging embedded software (hereinafter referred to as “Firmware (FW)”), FW is tested by using an actual ICE (device on which embedded software is mounted) and using an ICE (In-circuit emulator). However, in debugging for illegal operations such as fault tests, if the hardware component (hereinafter referred to as "Hardware (HW)") such as LSI (Large Scale Integration) causes an error, the actual HW is destroyed or a pseudo failure It is necessary to create a dedicated jig.

そこで、近年では実機の代わりにソフトエミュレータ(以下、「シミュレータ」という)を用いたデバッグ方法をとる事が多い。シミュレータを用いれば、仮想的なデバイス環境下で、デバッグを行うことができる。   Therefore, in recent years, a debugging method using a software emulator (hereinafter referred to as “simulator”) is often used instead of an actual machine. If a simulator is used, debugging can be performed in a virtual device environment.

シミュレータを用いてデバックを行っている際に予期しない障害が発生した場合、次のことを行う。すなわち、組込み機器の実機では内部記憶媒体を持っていないため、FWが自分で動作状況を確認するためにデバッグ用のTTY(Tele-TYpewriter)コンソールへ出力しているログ(FWログ)を確認し、動作解析を行う。近年シミュレータを使用することによりエミュレートしているHWの内部情報もログ(HWログ)に格納し、FW不具合の解析に使用している。   If an unexpected failure occurs during debugging using the simulator, do the following: In other words, since the actual device of the embedded device does not have an internal storage medium, check the log (FW log) output to the TTY (Tele-TYpewriter) console for debugging so that the FW can check the operation status by itself. , Perform motion analysis. In recent years, internal information of HWs emulated by using a simulator is also stored in a log (HW log) and used for analysis of FW defects.

ところで、デバッグにおいては、ログデータを解析する場合、ログデータの解析が容易なほど、デバッグに要する時間も短縮される。このようにログデータの解析の効率化を図る技術として以下の技術がある。   By the way, in debugging, when analyzing log data, the easier it is to analyze log data, the shorter the time required for debugging. As described above, there are the following techniques for improving the efficiency of log data analysis.

第1技術として、次の技術がある。まず、異なるセグメントに配置された第1及び第2システム可視化処理装置で同期用メッセージを個別に識別するキーワード及び受信時刻を含むログデータを生成し、第2システム可視化処理装置から第1システム可視化処理装置へログデータを送信する。第1システム可視化処理装置は、同一識別情報を含むログデータの受信時刻のずれに応じて他メッセージのログデータの受信時刻を補正する。重複するメッセージのログを削除した後に、全てのログデータを受信時刻でソートすれば、通常と同じログデータが得られるようになる。これにより、解析対象システムが複数のセグメントに分離されており且つ一部のメッセージが1つのセグメント内でのみ送信される場合においても解析対象システムにおけるトランザクションを可視化できる。   As the first technique, there is the following technique. First, log data including a keyword and a reception time for individually identifying a synchronization message is generated by the first and second system visualization processing devices arranged in different segments, and the first system visualization processing is performed from the second system visualization processing device. Send log data to the device. The first system visualization processing device corrects the reception time of log data of other messages according to the difference in reception time of log data including the same identification information. If the log of duplicate messages is deleted and then all log data is sorted by reception time, the same log data as usual can be obtained. This makes it possible to visualize transactions in the analysis target system even when the analysis target system is separated into a plurality of segments and some messages are transmitted only within one segment.

第2の技術として、次の技術がある。ログ出力装置が、ログ情報とログ情報のデータ構造情報とを含むログファイルを出力する。ログ変換装置が、ログ出力装置から取得したログファイルに含まれるログ情報及びログ情報のデータ構造情報に基づいて、ログ情報を特定のデータ構造を有する標準ログ情報に変換する。これにより、ログファイル中にデータ構造の異なる複数種類のログ情報が含まれていたとしても、ログ解析作業を効率的に行うことができる。   As the second technique, there is the following technique. The log output device outputs a log file including log information and data structure information of the log information. The log conversion device converts the log information into standard log information having a specific data structure based on the log information included in the log file acquired from the log output device and the data structure information of the log information. Thereby, even if the log file includes a plurality of types of log information having different data structures, the log analysis work can be performed efficiently.

第3の技術として、次の技術がある。それぞれ異なるファイルに格納された各時系列データを、ウィンドウ表示処理部により、各ファイル別のウィンドウに分けてスクロール可能に表示する。ユーザが任意のウィンドウを1つ選択してスクロールすると、スクロール処理手段により、そのウィンドウの先頭の時系列データの日時データに、他のウィンドウの先頭の時系列データの日時データが合うよう、他のウィンドウをスクロールする。その後、同期表示処理部により、このスクロールした各ウィンドウ内のそれぞれの時系列データを、それぞれに付与された日時データが同じ時系列データ同士が画面上で並ぶように配置して表示する。これにより、ログファイル等のように膨大な時系列データを有する、複数の時系列データファイルの各格納データを、相互に比較し易いように表示することができる。そのため、複数のログファイルのそれぞれのデータ間の評価・確認を効率よく行うことが可能となる。   As a third technique, there is the following technique. Each time series data stored in a different file is divided into windows for each file and displayed in a scrollable manner by the window display processing unit. When the user selects one of the windows and scrolls, the scroll processing means adjusts the date / time data of the time series data at the top of the other window so that the date / time data at the top of the other window matches the date / time data of the other window. Scroll the window. Thereafter, the synchronized display processing unit displays the time-series data in the scrolled windows so that the time-series data having the same date and time data are arranged on the screen. Thereby, each stored data of a plurality of time-series data files having enormous time-series data such as log files can be displayed so as to be easily compared with each other. For this reason, it is possible to efficiently perform evaluation / confirmation between data of a plurality of log files.

特開2011−154489号公報JP 2011-1544489 A 特開2011−39834号公報JP 2011-39834 A 特開2001−265311号公報Japanese Patent Application Laid-Open No. 2001-265311

シミュレータでは、FWログが1文字ずつ出力(キャラクタデバイス)されるのに対して、HWログは1行ずつ出力(ブロックデバイス)される。そのため、FWログとHWログとを同一の格納場所に出力すると、FWログ1文字1文字の間にHWログ情報が入り、FWログとHWログとが混在してしまう。   In the simulator, the FW log is output character by character (character device), whereas the HW log is output line by line (block device). For this reason, when the FW log and the HW log are output to the same storage location, the HW log information enters between one character of the FW log, and the FW log and the HW log are mixed.

また、ファームウェアとハードウェアの動作の時間的な先後関係を判別しようにも、以下の理由よりその判別が難しい。すなわち、ファームウェアが認識する時間はシミュレータ上で動作している仮想時間である。一方、ハードウェアが認識する時間はシミュレータが動作しているホスト上の実時間である。このように、ファームウェアとハードウェアが認識する時間軸が異なっているため、ファームウェアとハードウェアの動作の時間的な先後関係を判別することは容易ではない。   Also, it is difficult to determine the temporal and proximate relationship between the operation of firmware and hardware for the following reasons. That is, the time recognized by the firmware is the virtual time operating on the simulator. On the other hand, the time recognized by the hardware is the real time on the host where the simulator is operating. As described above, since the time axes recognized by the firmware and the hardware are different, it is not easy to determine the temporal relationship between the operations of the firmware and the hardware.

また、第1〜第3の技術はいずれも、異なる時間軸のログを統合する技術ではないので、ファームウェアとハードウェアの動作の時間的な先後関係を判別することができない。   Further, since none of the first to third technologies is a technology for integrating logs of different time axes, it is impossible to determine a temporal relationship between firmware and hardware operations.

本発明は、一側面として、ファームウェアとハードウェアの動作の時系列を明確にしたログを出力する技術を提供する。   As one aspect, the present invention provides a technique for outputting a log in which a time series of firmware and hardware operations is clarified.

一側面として、本発明に係るシミュレータ装置は、実行部、第1の仮想デバイス、第2の仮想デバイス、統合部を含む。実行部は、ファームウェアの命令をエミュレートし、ファームウェアからの入出力命令に応じて、実時刻に関する時刻情報を取得し、時刻情報を入出力命令に付加し、入出力命令を実行する。第1の仮想デバイスは、第1のデバイスの動作を仮想的に行い、時刻情報が付加された入出力命令の実行に応じて、第1の出力形式で出力される第1の動作情報と時刻情報とを関係付けた第1の動作履歴情報を出力する。第2の仮想デバイスは、第2のデバイスの動作を仮想的に行い、時刻情報が付加された入出力命令の実行に応じて、第2の出力形式で出力される第2の動作情報と時刻情報とを関係付けた第2の動作履歴情報を出力する。統合部は、時刻情報に基づいて、第1の動作履歴情報と第2の動作履歴情報とを統合して、第1の動作情報と第2の動作情報とを時系列に配列した動作履歴情報を出力する。   As one aspect, the simulator apparatus according to the present invention includes an execution unit, a first virtual device, a second virtual device, and an integration unit. The execution unit emulates a firmware instruction, acquires time information related to the actual time according to the input / output instruction from the firmware, adds the time information to the input / output instruction, and executes the input / output instruction. The first virtual device virtually performs the operation of the first device, and the first operation information and time output in the first output format according to the execution of the input / output instruction to which the time information is added. The first operation history information associated with the information is output. The second virtual device virtually performs the operation of the second device, and outputs the second operation information and time output in the second output format in response to the execution of the input / output command to which the time information is added. The second operation history information associated with the information is output. The integration unit integrates the first operation history information and the second operation history information based on the time information, and the operation history information is obtained by arranging the first operation information and the second operation information in time series. Is output.

本発明の一側面によれば、ファームウェアとハードウェアの動作の時系列を明確にしたログを出力することができる。   According to one aspect of the present invention, it is possible to output a log that clarifies the time series of firmware and hardware operations.

本実施形態におけるシミュレータ装置の一例を示す。An example of the simulator apparatus in this embodiment is shown. 本実施形態におけるホスト装置の構成を示す。1 shows a configuration of a host device in the present embodiment. 本実施形態におけるHWログ情報及びFWログ情報の一例を示す。An example of HW log information and FW log information in the present embodiment is shown. 本実施形態におけるマージログの一例を示す。An example of the merge log in this embodiment is shown. 本実施形態における仮想CPUの命令実行についての処理フローを示す。The processing flow about instruction execution of the virtual CPU in this embodiment is shown. 本実施形態における付加部の処理フローを示す。The processing flow of the addition part in this embodiment is shown. 本実施形態における仮想I/Oデバイス(仮想シリアルデバイス)の処理フローを示す。2 shows a processing flow of a virtual I / O device (virtual serial device) in the present embodiment. 本実施形態における仮想I/Oデバイス(仮想シリアルデバイス以外)の処理フローを示す。5 shows a processing flow of a virtual I / O device (other than a virtual serial device) in the present embodiment. 本実施形態におけるログ生成部21の処理フローを示す。The processing flow of the log production | generation part 21 in this embodiment is shown. 本実施形態におけるマージ部の処理フローを示す。The processing flow of the merge part in this embodiment is shown. 本実施形態に係るプログラムを実行するコンピュータのハードウェア環境の構成ブロック図である。It is a block diagram of a hardware environment of a computer that executes a program according to the present embodiment.

シミュレータにおいて、サーバやパーソナルコンピュータ(PC)等の動作しているマシン(ホスト)の外部にFWログが出力される。シミュレータの場合、ホスト上にFWログとHWログが出力される。しかしながら、FWログとHWログの出力先は、次の理由のために、異なっている。同じ場所にFWログとHWログの両方のログが出力されると、FWログが1文字ずつ出力(キャラクタデバイス)されるのに対して、HWログは1行ずつ出力(ブロックデバイス)される。そのため、FWログ1文字1文字の間にHWログ情報が入る結果、FWログとHWログとが混在し、意味のある情報として読み取ることが困難になる。   In the simulator, an FW log is output outside a machine (host) in which a server, a personal computer (PC) or the like is operating. In the case of a simulator, an FW log and an HW log are output on the host. However, the output destinations of the FW log and the HW log are different for the following reasons. When both the FW log and the HW log are output at the same location, the FW log is output character by character (character device), whereas the HW log is output line by line (block device). For this reason, as a result of the HW log information being inserted between one character of the FW log, the FW log and the HW log are mixed, making it difficult to read as meaningful information.

上述の通り、FWログとHWログは別々に出力されるため、ファームウェアとハードウェアの動作の順序や動作の時間的な先後が分からず、ファームウェアの不具合の解析に時間がかかる。例えばファームウェアが割り込みハンドラの登録に失敗した場合、次のことが考えられる。すなわち、HWログ(CPUが割り込み処理を行ったログ)、FWログ(割り込みハンドラの実行ログ)にて、CPUが割り込み処理を行ったタイミングとファームウェアの割り込みハンドラが動作したタイミングとを判別することができない。その結果、ログを参照しても、割り込みの要因を示す番号であるベクタ番号と対応する割込みハンドラが正しく動作しているかを容易に判断することができない。   As described above, since the FW log and the HW log are output separately, it is not possible to know the order of operation of the firmware and hardware and the time ahead of the operation, and it takes time to analyze the malfunction of the firmware. For example, if the firmware fails to register an interrupt handler, the following can be considered. That is, it is possible to discriminate the timing at which the CPU performs the interrupt processing and the timing at which the firmware interrupt handler operates from the HW log (log in which the CPU performed interrupt processing) and the FW log (interrupt handler execution log). Can not. As a result, even if the log is referred to, it cannot be easily determined whether the interrupt handler corresponding to the vector number that is the number indicating the cause of the interrupt is operating correctly.

そこで、FWログとHWログから、ファームウェアとハードウェアの動作の時間的な先後関係を得るためには、例えば、以下のような方法が考えられる。
(i)ファームウェア及びハードウェアが、各々のログに対して時刻情報を付加し、その時刻情報が付加されたFWログ、HWログをマージする。
(ii)FWログおよびHWログを出力する際に、共通の時間軸から時刻情報を取得し、FWログおよびHWログに付加する。
(iii)改行文字コードを基準にFWログも1行ずつ出力し、FWログとHWログを同じ場所に出力する。すなわち、改行文字コードが出力されるまではFWログを一時的にバッファに保持し、改行文字コードをきっかけにバッファに保持していたFWログを一括で出力する。
Therefore, for example, the following method can be considered in order to obtain the temporal and proximate relationship between the firmware and hardware operations from the FW log and the HW log.
(I) Firmware and hardware add time information to each log, and merge the FW log and HW log to which the time information is added.
(Ii) When outputting the FW log and the HW log, time information is acquired from the common time axis and added to the FW log and the HW log.
(Iii) The FW log is also output line by line based on the line feed character code, and the FW log and the HW log are output to the same place. In other words, the FW log is temporarily held in the buffer until the line feed character code is output, and the FW logs held in the buffer are collectively output in response to the line feed character code.

しかしながら、上記(i)〜(iii)の方法には下記に示す問題がある。
FWログ、HWログにそれぞれの時刻情報を付加してマージする場合(上記(i)の場合)、ファームウェアが認識する時間はシミュレータ上で動作している仮想時間である。一方、ハードウェアが認識する時間はシミュレータが動作しているホスト上の実時間である。
However, the methods (i) to (iii) have the following problems.
When the time information is added to the FW log and the HW log for merging (in the case of (i) above), the time recognized by the firmware is the virtual time operating on the simulator. On the other hand, the time recognized by the hardware is the real time on the host where the simulator is operating.

仮想時間を用いて、シミュレータ上で速度の変更や日時を変えてファームウェアの動作確認を行うことがある。そのため、ファームウェアとハードウェアで認識する時間が異なり、単純に時間情報を付加するだけでは、ファームウェアとハードウェアの動作の時間的な先後関係を判別することができない。   Using the virtual time, the operation of the firmware may be checked on the simulator by changing the speed or changing the date and time. For this reason, the recognition time differs between the firmware and the hardware, and it is impossible to determine the temporal relationship between the operations of the firmware and the hardware simply by adding the time information.

次に、FWログおよびHWログを出力する際に、共通の時間軸から時刻情報を取得し、付加する場合(上記(ii)の場合)、仮想シリアルデバイスからFWログ情報を受け取り、実時刻情報を取得してFWログ情報に付加する構成を追加することが考えられる。ここで、仮想シリアルデバイスとは、例えば、コンソール端末にシリアルに情報を出力するための仮想的なデバイスである。しかし、このような構成を用いた場合、割込みの発生等によって仮想シリアルデバイスが動作したタイミングとその追加した機構が実時刻情報を取得するタイミングとが大きく異なってしまう場合がある。そのため、FWログを出力する際にHWログと共通の時間軸から時間情報を取得する処理を加えるという構成では、ファームウェアとハードウェアの正確な時間的な動作の先後関係を得ることができない。   Next, when outputting the FW log and the HW log, when acquiring and adding time information from the common time axis (in the case of (ii) above), the FW log information is received from the virtual serial device, and the real time information It is conceivable to add a configuration for acquiring and adding to the FW log information. Here, the virtual serial device is a virtual device for outputting information serially to a console terminal, for example. However, when such a configuration is used, the timing at which the virtual serial device operates due to the occurrence of an interrupt or the like may be significantly different from the timing at which the added mechanism acquires real time information. For this reason, in the configuration in which processing for obtaining time information from the time axis common to the HW log is added when the FW log is output, it is not possible to obtain an accurate relationship between the firmware and hardware in terms of temporal operation.

また、改行文字コードを基準にFWログも1行ずつ出力し、FWログとHWログを同じ場所に出力する場合(上記(iii)の場合)、ファームウェアとハードウェアの動作の順序は把握することができる。すなわち、改行文字コードが出力されるまではFWログを一時的にバッファに保持し、改行文字コードをきっかけにバッファに保持していたFWログを一括で出力するので、FWログが保持され始めて改行文字コードが出力されるまでの時間が短ければ問題はない。   Also, if the FW log is output line by line based on the line feed character code, and the FW log and the HW log are output to the same place (in the case of (iii) above), the order of the operation of the firmware and hardware should be grasped. Can do. In other words, the FW log is temporarily held in the buffer until the line feed character code is output, and the FW log held in the buffer is output in a batch triggered by the line feed character code. If the time until the character code is output is short, there is no problem.

しかしながら、FWログの出力に時間が掛かった場合、FWログがバッファに保持され始めた時間から、一括出力が完了するまでの間にハードウェアではどのような動作が行われていたかを確認することができない。そのため、FWログ出力中に、ある特定のHWデバイスが動作していると不具合が生じるようなケースの解析ができない。   However, if it takes time to output the FW log, check what operation has been performed in the hardware from the time when the FW log started to be held in the buffer until the batch output is completed. I can't. Therefore, it is impossible to analyze a case in which a problem occurs when a specific HW device is operating during FW log output.

そこで、本実施形態では、FWログとHWログの各々に共通の時間軸から同じタイミング(仮想CPUから各仮想デバイスに対してI/O動作が発生したタイミング)で取得した実時刻情報を付加し、時系列に従ってFWログとHWログを見やすくマージする。   Therefore, in this embodiment, real time information acquired at the same timing (timing at which an I / O operation has occurred from the virtual CPU to each virtual device) is added to each of the FW log and the HW log from the common time axis. The FW log and the HW log are merged in an easy-to-read manner according to the time series.

図1は、本実施形態におけるシミュレータ装置の一例を示す。シミュレータ装置1は、実行部2、第1の仮想デバイス3、第2の仮想デバイス4、統合部5を含む。   FIG. 1 shows an example of a simulator device in the present embodiment. The simulator device 1 includes an execution unit 2, a first virtual device 3, a second virtual device 4, and an integration unit 5.

実行部2は、ファームウェアの命令をエミュレートし、ファームウェアからの入出力命令に応じて、実時刻に関する時刻情報を取得し、時刻情報を入出力命令に付加し、入出力命令を実行する。実行部2の一例としては、付加部16が挙げられる。   The execution unit 2 emulates a firmware instruction, acquires time information related to the actual time according to the input / output instruction from the firmware, adds the time information to the input / output instruction, and executes the input / output instruction. An example of the execution unit 2 is the addition unit 16.

第1の仮想デバイス3は、第1のデバイスの動作を仮想的に行い、時刻情報が付加された入出力命令の実行に応じて、第1の出力形式で出力される第1の動作情報と時刻情報とを関係付けて出力する。   The first virtual device 3 virtually performs the operation of the first device, and the first operation information output in the first output format in response to the execution of the input / output command to which the time information is added Correlate with time information and output.

第2の仮想デバイス4は、第2のデバイスの動作を仮想的に行い、時刻情報が付加された入出力命令の実行に応じて、第2の出力形式で出力される第2の動作情報と時刻情報とを関係付けて出力する。   The second virtual device 4 virtually performs the operation of the second device, and the second operation information output in the second output format in response to the execution of the input / output command to which the time information is added. Correlate with time information and output.

統合部5は、時刻情報に基づいて、第1の動作情報と第2の動作情報とを時系列に配列した動作履歴情報を出力する。統合部5の一例として、マージ部24が挙げられる。   The integration unit 5 outputs operation history information in which the first operation information and the second operation information are arranged in time series based on the time information. An example of the integration unit 5 is a merge unit 24.

第1の仮想デバイスまたは第2の仮想デバイスは、動作を実行後、時刻情報を取得し、取得した時刻情報と、実行後の動作結果を示す動作情報とを関係付けて出力する。また、第1の仮想デバイスは、第1の動作情報を文字単位で出力する。第2の仮想デバイスは、第1の仮想デバイス以外の仮想デバイスであって、第2の動作情報を一括して出力する。第1の仮想デバイス3の一例としては、仮想シリアルデバイス17が挙げられる。第2の仮想デバイス4の一例としては、仮想LAN18、仮想タイマ19、仮想割込コントローラ20等の仮想I/Oデバイスが挙げられる。   The first virtual device or the second virtual device acquires the time information after executing the operation, and outputs the acquired time information in association with the operation information indicating the operation result after the execution. Further, the first virtual device outputs the first operation information in units of characters. The second virtual device is a virtual device other than the first virtual device, and outputs the second operation information collectively. An example of the first virtual device 3 is a virtual serial device 17. Examples of the second virtual device 4 include virtual I / O devices such as the virtual LAN 18, the virtual timer 19, and the virtual interrupt controller 20.

このように構成することにより、ファームウェアとハードウェアの動作の時系列が明確になり、障害解析の効率化に必要なログ情報の収集が可能になる。   With this configuration, the time series of firmware and hardware operations are clarified, and log information necessary for efficient failure analysis can be collected.

図2は、本実施形態におけるホスト装置の構成を示す。ホスト装置(以下、「ホスト」という)11は、コンソール端末27と接続されている。コンソール端末は、例えば、TTYコンソール端末である。ホスト11上では、シミュレータ12が起動している。タイマ26は、ホスト11上で起動しているOS(Operating System)が有する機能であり、実時刻を管理する。   FIG. 2 shows the configuration of the host device in this embodiment. A host device (hereinafter referred to as “host”) 11 is connected to a console terminal 27. The console terminal is, for example, a TTY console terminal. On the host 11, the simulator 12 is activated. The timer 26 is a function of an OS (Operating System) activated on the host 11 and manages real time.

シミュレータ12は、ファームウェア(FW)14の命令をエミュレーションする。シミュレータ12は、仮想メモリ13、ファームウェア(FW)14、仮想CPU15、付加部16、仮想シリアルデバイス17、仮想LAN18、仮想タイマ19、仮想割込コントローラ20、ログ生成部21、マージ部24を含む。   The simulator 12 emulates a firmware (FW) 14 instruction. The simulator 12 includes a virtual memory 13, firmware (FW) 14, virtual CPU 15, addition unit 16, virtual serial device 17, virtual LAN 18, virtual timer 19, virtual interrupt controller 20, log generation unit 21, and merge unit 24.

FW14は、仮想メモリ13に展開されて動作する。仮想CPU(Central Processing Unit)15は、各種割り込みを処理する。   The FW 14 operates by being expanded in the virtual memory 13. A virtual CPU (Central Processing Unit) 15 processes various interrupts.

仮想LAN(Local Area Network)18、仮想タイマ19、仮想割込コントローラ20等の仮想I/Oデバイスは、FW14が発行する入出力(Input/Output(I/O))命令に従って各種I/Oデバイス動作を擬似する。仮想シリアルデバイス17は、FW14の動作状況情報を表示するためのTTYインタフェースを擬似する。仮想LAN18は、外部の機器と通信可能なようにLANに接続するためのLANインタフェースを擬似する。仮想タイマ19は、シミュレータ12において、仮想時間を計測、管理する。仮想割込コントローラ20は、シミュレータ12内部のデバイに割込み要因が発生した場合、その割込み要因を判定し、その割込み要因の優先順位を判定し、仮想CPU15に割込み要求を通知する。   Virtual I / O devices such as a virtual local area network (LAN) 18, a virtual timer 19, and a virtual interrupt controller 20 are various I / O devices according to input / output (I / O) commands issued by the FW 14. Simulate the action. The virtual serial device 17 simulates a TTY interface for displaying the operation status information of the FW 14. The virtual LAN 18 simulates a LAN interface for connecting to a LAN so that it can communicate with an external device. The virtual timer 19 measures and manages the virtual time in the simulator 12. When an interrupt factor occurs in the device inside the simulator 12, the virtual interrupt controller 20 determines the interrupt factor, determines the priority of the interrupt factor, and notifies the virtual CPU 15 of the interrupt request.

付加部16は、仮想CPU15によってデコードされた命令が各仮想I/Oデバイスに対するI/O命令である場合、タイマ26からその時点での実時刻を取得し、その取得した実時刻をタイムスタンプとしてI/O命令に付加する。そして、付加部16は、そのI/O命令を実行する。   When the instruction decoded by the virtual CPU 15 is an I / O instruction for each virtual I / O device, the adding unit 16 obtains the actual time at that time from the timer 26 and uses the obtained actual time as a time stamp. It is added to the I / O instruction. Then, the adding unit 16 executes the I / O instruction.

ログ生成部21は、仮想I/Oデバイスが仮想シリアルデバイスである場合には、各仮想I/OデバイスのI/O動作の結果を、FWログ情報23としてメモリに格納・蓄積する。また、ログ生成部21は、仮想I/Oデバイスが仮想シリアルデバイス以外のデバイスである場合には、各I/OデバイスのI/O動作の結果を、HWログ情報22としてメモリに格納・蓄積する。なお、ログ生成部21は、仕様によっては、仮想I/Oデバイスの機能に含めてもよい。   When the virtual I / O device is a virtual serial device, the log generation unit 21 stores and accumulates the result of the I / O operation of each virtual I / O device as FW log information 23 in the memory. Further, when the virtual I / O device is a device other than the virtual serial device, the log generation unit 21 stores / accumulates the result of the I / O operation of each I / O device as HW log information 22 in the memory. To do. The log generation unit 21 may be included in the function of the virtual I / O device depending on the specification.

マージ部24は、格納・蓄積されたHWログ情報22及びFWログ情報23をメモリから読み出す。マージ部24は、FWログ情報23については、最初に受け取った文字(動作開始から最初に受け取った文字、または、改行文字コードの次に受け取った文字)」を開始文字、「改行文字コード」を最終文字と判断する。また、マージ部24は、開始文字から終了文字までの文字列を1個のFWログ情報として扱う。マージ部24は、HWログ情報22に付加された実時刻と、FWログ情報23の開始文字に付加された実時刻とを比較し、それぞれのログ情報が実時間軸に沿って並列に並ぶように処理を行う。   The merge unit 24 reads out the stored / accumulated HW log information 22 and FW log information 23 from the memory. For the FW log information 23, the merging unit 24 sets the first received character (the character received first after the start of operation or the character received next to the line feed character code) as the start character, and the “line feed character code”. Judged as the last character. The merge unit 24 handles a character string from the start character to the end character as one piece of FW log information. The merging unit 24 compares the real time added to the HW log information 22 with the real time added to the start character of the FW log information 23 so that each log information is arranged in parallel along the real time axis. To process.

マージ部24は、1個のFWログ情報23内のある特定の文字の実時刻と、その次の文字の実時刻との間の実時刻を持つHWログ情報22を、その間に配置するように、ログ情報をマージすることにより、マージログ25を作成する。   The merging unit 24 arranges the HW log information 22 having a real time between the real time of a specific character in the FW log information 23 and the real time of the next character between them. The merge log 25 is created by merging the log information.

これにより、シミュレータ12が稼働するホスト11は、ターゲットシステムログ情報(シリアル出力)と、シミュレータシステムログ情報とを、発生順に時系列に並べて出力する。これにより、2つのログ情報の発生時刻の相対関係を明らかにすることができる。ここで、ターゲットシステムログ情報とは、ターゲットシステムが管理する時刻が付与されたターゲットシステム(被検証装置)が自ら出力するログ情報を表す。シミュレータシステムログ情報は、シミュレータシステムが管理する時刻が付与された、シミュレータ装置が採取するログ情報を表す。   Thereby, the host 11 on which the simulator 12 operates outputs target system log information (serial output) and simulator system log information in time series in the order of occurrence. This makes it possible to clarify the relative relationship between the occurrence times of the two log information. Here, the target system log information represents log information output by the target system (device to be verified) to which the time managed by the target system is given. The simulator system log information represents log information collected by the simulator apparatus to which a time managed by the simulator system is given.

図3は、本実施形態におけるHWログ情報及びFWログ情報の一例を示す。HWログ情報22は、「HWログ時刻」22aと「HWログ」22bのデータ項目を含む。「HWログ時刻」22aは、HWログが発生した時刻を示す。「HWログ」22bは、HWログの内容を示す。例えば、HWログ「DeviceB (Initialize start)」は、デバイスBの初期化を開始することを示す。また、例えば、HWログ「DeviceC (Wait message)」は、デバイスCがメッセージを待っている状態であることを示す。   FIG. 3 shows an example of HW log information and FW log information in the present embodiment. The HW log information 22 includes data items of “HW log time” 22a and “HW log” 22b. The “HW log time” 22a indicates the time when the HW log is generated. “HW log” 22b indicates the contents of the HW log. For example, the HW log “DeviceB (Initialize start)” indicates that the initialization of the device B is started. For example, the HW log “DeviceC (Wait message)” indicates that the device C is waiting for a message.

FWログ情報23は、「FWログ時刻」23aと「FWログ(文字コード)」23bのデータ項目を含む。「FWログ時刻」23aは、FWログが発生した時刻を示す。「FWログ(文字コード)」23bは、FWログの内容(文字コード)を示す。   The FW log information 23 includes data items of “FW log time” 23 a and “FW log (character code)” 23 b. The “FW log time” 23a indicates the time when the FW log is generated. "FW log (character code)" 23b indicates the content (character code) of the FW log.

図4は、本実施形態におけるマージログの一例を示す。マージログ25は、「時刻」25a、「FWログ」25b、「HWログ」25cのデータ項目を含む。「時刻」25aは、FWログまたはHWログが発生した時刻を示す。「FWログ」25bは、FWログの内容を示す。符号31で示すログは、1個のFWログを示す。例えば、「DeviceA Init」という1個のFWログを出力する場合、「FWログ」25bにおいて、その出力するFWログに対応する開始時刻の前の行に、符号32で示すように、FWログの開始文字から終了文字までの全ての文字が出力される。その次の行以降は、符号33で示すように、時刻ごとのFWログである。図4の例では、見やすいように、符号31で示すログに含まれる文字に対応する文字の下にくるようにずらして文字が出力されている。「HWログ」22bは、「時刻」25aに出力された時刻におけるHWログの内容を示す。   FIG. 4 shows an example of the merge log in this embodiment. The merge log 25 includes data items of “time” 25a, “FW log” 25b, and “HW log” 25c. “Time” 25a indicates the time when the FW log or the HW log is generated. The “FW log” 25b indicates the contents of the FW log. The log indicated by reference numeral 31 represents one FW log. For example, when outputting one FW log called “DeviceA Init”, as indicated by reference numeral 32 in the line before the start time corresponding to the FW log to be output in the “FW log” 25b, All characters from the start character to the end character are output. The next and subsequent lines are FW logs for each time as indicated by reference numeral 33. In the example of FIG. 4, the characters are output so as to be positioned below the character corresponding to the character included in the log indicated by the reference numeral 31 for easy viewing. The “HW log” 22b indicates the contents of the HW log at the time output at the “time” 25a.

以下では、シミュレータ12の各部の動作について説明する。
図5は、本実施形態における仮想CPUの命令実行についての処理フローを示す。仮想CPU15は、ファームウェア14からの命令をデコードし(S1)、デコードした命令がI/O命令か否かを判定する(S2)。デコードした命令がI/O命令でない場合(S2で「No」)、仮想CPU15は、その命令を実行する(S4)。デコードした命令がI/O命令である場合(S2で「Yes」)、仮想CPU15は、付加部16にI/O命令のオペランドを渡す(S3)。このI/O命令のオペランドには、I/Oポート番号、書き込む値、読み込んだ値の格納先についての情報が含まれる。
Below, operation | movement of each part of the simulator 12 is demonstrated.
FIG. 5 shows a processing flow for instruction execution of the virtual CPU in the present embodiment. The virtual CPU 15 decodes the instruction from the firmware 14 (S1), and determines whether the decoded instruction is an I / O instruction (S2). If the decoded instruction is not an I / O instruction (“No” in S2), the virtual CPU 15 executes the instruction (S4). When the decoded instruction is an I / O instruction (“Yes” in S2), the virtual CPU 15 passes the operand of the I / O instruction to the adding unit 16 (S3). The operand of this I / O instruction includes information on the I / O port number, the value to be written, and the storage location of the read value.

図6は、本実施形態における付加部の処理フローを示す。仮想CPU15から各種仮想I/OデバイスへのI/O命令が発生した場合、すなわち、デコードした命令がI/O命令である場合、付加部16は、仮想CPU15からI/O命令のオペランドを受け取って次の動作をする。   FIG. 6 shows a processing flow of the adding unit in the present embodiment. When an I / O instruction from the virtual CPU 15 to various virtual I / O devices is generated, that is, when the decoded instruction is an I / O instruction, the adding unit 16 receives an operand of the I / O instruction from the virtual CPU 15. Then do the following:

まず、付加部16は、タイマ26から実時刻情報を取得する(S11)。付加部16は、仮想CPU15から受け取ったI/O命令のオペランドに、取得した実時刻情報を追加する(S12)。そして、付加部16は、I/O命令のオペランドに基づいて、I/O命令を実行する(S13)。   First, the adding unit 16 acquires real time information from the timer 26 (S11). The adding unit 16 adds the acquired real time information to the operand of the I / O instruction received from the virtual CPU 15 (S12). Then, the adding unit 16 executes the I / O instruction based on the operand of the I / O instruction (S13).

図7は、本実施形態における仮想I/Oデバイス(仮想シリアルデバイス)の処理フローを示す。付加部16によりI/O命令が実行されたことにより、仮想シリアルデバイス17に対するI/O動作命令が発生した場合、仮想シリアルデバイス17は、付加部16から実時刻情報を取得し、そのI/O動作命令に基づいて動作を行う。具体的には、仮想シリアルデバイス17は、I/O動作命令に含まれる文字コードを取得し、コンソール端末27にその文字コードに対応する文字を出力する(S21)。そして、仮想シリアルデバイス17は、実時刻情報と、文字コード、フラグ=1をログ生成部21に渡す(S22)。ここで、フラグは、仮想シリアルデバイスの動作結果であるか否かを示す情報である。フラグ=1は、仮想シリアルデバイスの動作結果であることを示す。フラグ=0は、仮想シリアルデバイス以外の仮想I/Oデバイスの動作結果であることを示す。   FIG. 7 shows a processing flow of the virtual I / O device (virtual serial device) in the present embodiment. When an I / O instruction is issued to the virtual serial device 17 due to the execution of the I / O instruction by the adding unit 16, the virtual serial device 17 acquires the real time information from the adding unit 16, and the I / O instruction is issued. The operation is performed based on the O operation command. Specifically, the virtual serial device 17 acquires a character code included in the I / O operation command and outputs a character corresponding to the character code to the console terminal 27 (S21). Then, the virtual serial device 17 passes the real time information, the character code, and the flag = 1 to the log generation unit 21 (S22). Here, the flag is information indicating whether or not the operation result of the virtual serial device. Flag = 1 indicates an operation result of the virtual serial device. Flag = 0 indicates an operation result of a virtual I / O device other than the virtual serial device.

なお、本実施形態では、仮想シリアルデバイス17は付加部16より実時刻情報を取得したが、これに限定されず、仮想シリアルデバイス17がタイマ26から実時刻情報を取得してもよい。   In the present embodiment, the virtual serial device 17 acquires real time information from the adding unit 16, but the present invention is not limited to this, and the virtual serial device 17 may acquire real time information from the timer 26.

図8は、本実施形態における仮想I/Oデバイス(仮想シリアルデバイス以外)の処理フローを示す。仮想シリアルデバイス以外の仮想I/Oデバイスとは、例えば、仮想LAN18、仮想タイマ19、仮想割込みコントローラ20等である。   FIG. 8 shows a processing flow of a virtual I / O device (other than a virtual serial device) in the present embodiment. Examples of the virtual I / O device other than the virtual serial device include the virtual LAN 18, the virtual timer 19, and the virtual interrupt controller 20.

付加部16によりI/O命令が実行されたことにより、仮想I/Oデバイス(仮想シリアルデバイス以外)に対するI/O動作命令が発生した場合、その仮想I/Oデバイスは、受け取った実時刻情報と、I/O動作情報とを、ログ生成部21に渡す(S31)。ここで、I/O動作情報は、自デバイス名及びこれから実行する処理内容を含む。   When an I / O operation command for a virtual I / O device (other than a virtual serial device) is generated by the execution of the I / O command by the adding unit 16, the virtual I / O device receives the received real time information. And I / O operation information are passed to the log generation unit 21 (S31). Here, the I / O operation information includes the own device name and the processing content to be executed.

仮想I/Oデバイス(仮想シリアルデバイス以外)は、I/O動作を実行する(S32)。I/O動作実行後、仮想I/Oデバイス(仮想シリアルデバイス以外)は、タイマ26より実時刻情報を取得する(S33)。仮想I/Oデバイス(仮想シリアルデバイス以外)は、S33で取得した実時刻情報、I/O動作結果、フラグ=0をログ生成部21に渡す(S34)。I/O動作結果は、補足情報として通知される。   The virtual I / O device (other than the virtual serial device) executes an I / O operation (S32). After executing the I / O operation, the virtual I / O device (other than the virtual serial device) acquires real time information from the timer 26 (S33). The virtual I / O device (other than the virtual serial device) passes the real time information, the I / O operation result, and the flag = 0 acquired in S33 to the log generation unit 21 (S34). The I / O operation result is notified as supplementary information.

S33,S34において、再度、実時刻情報を取得して、その取得した実時刻と、I/O動作結果とをログ生成部21に渡すのは、次の理由による。すなわち、仮想シリアルデバイス以外の仮想I/Oデバイスは、他のデバイスと通信して処理を依頼しその処理結果を待つ場合もあり、仮想シリアルデバイスに比べて、処理に時間がかかるので、その処理後に再度、ログを取得するためである。   In S33 and S34, the real time information is acquired again, and the acquired real time and the I / O operation result are passed to the log generation unit 21 for the following reason. That is, a virtual I / O device other than a virtual serial device may communicate with other devices to request processing and wait for the processing result, and processing takes longer than that of a virtual serial device. This is because the log is acquired again later.

図9は、本実施形態におけるログ生成部21の処理フローを示す。ログ生成部21は、各仮想I/Oデバイス(仮想シリアルデバイスも含む)から実時刻情報とI/O動作結果と、フラグを受け取って、次の動作をする。   FIG. 9 shows a processing flow of the log generation unit 21 in the present embodiment. The log generation unit 21 receives real time information, an I / O operation result, and a flag from each virtual I / O device (including a virtual serial device), and performs the following operation.

ログ生成部21は、フラグに基づいて、受け取ったI/O動作結果が仮想シリアルデバイスより出力されたものであるかを判定する(S41)。受け取ったI/O動作結果が仮想シリアルデバイスより出力されたものである場合、すなわちフラグ=1の場合(S41で「Yes」)、ログ生成部21は、メモリにあるFWログ情報23に、実時刻情報、及び文字コードを出力(格納)する(S42、S43)。   Based on the flag, the log generation unit 21 determines whether the received I / O operation result is output from the virtual serial device (S41). When the received I / O operation result is output from the virtual serial device, that is, when flag = 1 (“Yes” in S41), the log generation unit 21 stores the actual FW log information 23 in the memory. Time information and a character code are output (stored) (S42, S43).

受け取ったI/O動作結果が仮想シリアルデバイスより出力されたものでない場合、すなわちフラグ=0の場合(S41で「No」)、ログ生成部21は、メモリにあるHWログ情報22に、各仮想I/Oデバイスから取得した実時刻情報を出力する。さらに、ログ生成部21は、メモリにあるHWログ情報22に、I/O動作情報またはI/O動作結果を出力(格納)する(S44、S45)。   When the received I / O operation result is not output from the virtual serial device, that is, when the flag = 0 (“No” in S41), the log generation unit 21 stores the virtual I / O operation results in the HW log information 22 in the memory. The real time information acquired from the I / O device is output. Further, the log generation unit 21 outputs (stores) the I / O operation information or the I / O operation result to the HW log information 22 in the memory (S44, S45).

図10は、本実施形態におけるマージ部の処理フローを示す。マージ部24は、メモリに格納されたFWログ情報23からFWログの1文字目の出力時刻(FW時刻)を取得する(S51)。マージ部24は、メモリに格納されたHWログ情報22からHWログの出力時刻(HW時刻)を取得する(S52)。   FIG. 10 shows a processing flow of the merge unit in the present embodiment. The merge unit 24 acquires the output time (FW time) of the first character of the FW log from the FW log information 23 stored in the memory (S51). The merge unit 24 acquires the output time (HW time) of the HW log from the HW log information 22 stored in the memory (S52).

取得したHW時刻の方が、取得したFW時刻よりも前である場合(S53で「Yes」)、マージ部24は、メモリ上の新たな領域に、そのHW時刻を出力する(S54)。ここで、メモリ上の新たな領域に出力された情報をマージログ25という。マージ部24は、そのマージログ25に、そのHW時刻に対応するHWログを出力する(S55)。マージ部24は、メモリに格納されたHWログ情報22から次のHWログのHW時刻を取得し(S56)、S53の処理へ戻る。   If the acquired HW time is earlier than the acquired FW time (“Yes” in S53), the merge unit 24 outputs the HW time to a new area on the memory (S54). Here, information output to a new area on the memory is referred to as a merge log 25. The merge unit 24 outputs an HW log corresponding to the HW time to the merge log 25 (S55). The merge unit 24 acquires the HW time of the next HW log from the HW log information 22 stored in the memory (S56), and returns to the process of S53.

取得したHW時刻の方が、取得したFW時刻と同じまたは取得したFW時刻よりも後である場合(S53で「No」)、マージ部24は、取得したFW時刻に対応する文字が、FWログの1文字目か否かを判定する(S57)。マージ部24は、S51で最初に取得した時刻の文字と、後述するS63にて改行文字の出力後に取得された時刻に対応する文字を、FWログの1文字目と判定する。   When the acquired HW time is the same as or later than the acquired FW time (“No” in S53), the merge unit 24 indicates that the character corresponding to the acquired FW time is the FW log. It is determined whether or not it is the first character (S57). The merge unit 24 determines that the character at the time acquired first in S51 and the character corresponding to the time acquired after the output of the line feed character in S63 described later is the first character of the FW log.

取得したFW時刻に対応する文字が、FWログの1文字目である場合(S57で「Yes」)、マージ部24は、図4の符号32に示すように、マージログ25にFWログ(開始文字から終了文字まで)を出力する。(S58)さらに、マージ部24は、マージログの次の行に、FW時刻及びFWログ(1文字)を出力する(S60、S61)。   When the character corresponding to the acquired FW time is the first character of the FW log (“Yes” in S57), the merging unit 24 stores the FW log (start character in the merge log 25 as indicated by reference numeral 32 in FIG. 4). To end character). (S58) Further, the merge unit 24 outputs the FW time and the FW log (one character) to the next line of the merge log (S60, S61).

取得したFW時刻に対応する文字が、FWログの1文字目でない場合(S57で「No」)、マージ部24は、直前に出力したログがHWログか否かを判定する(S59)。   When the acquired character corresponding to the FW time is not the first character of the FW log (“No” in S57), the merge unit 24 determines whether the log output immediately before is the HW log (S59).

直前に出力したログがHWログでない場合(S59で「No」)、マージ部24は、マージログに、FWログ(1文字)を出力する(S61)。   When the log output immediately before is not the HW log (“No” in S59), the merge unit 24 outputs the FW log (one character) to the merge log (S61).

マージログに出力した文字が改行文字でない場合(S62で「No」)、マージ部24は、FWログ情報23から、FWログの次の文字のFW時刻を取得する(S64)。   When the character output to the merge log is not a line feed character (“No” in S62), the merge unit 24 acquires the FW time of the next character in the FW log from the FW log information 23 (S64).

マージログに出力した文字が改行文字である場合(S62で「Yes」)、マージ部24は、FWログ情報23から、次のFWログの1文字目のFW時刻を取得する(S64)。   When the character output to the merge log is a line feed character (“Yes” in S62), the merge unit 24 acquires the FW time of the first character of the next FW log from the FW log information 23 (S64).

図11は、本実施形態に係るプログラムを実行するコンピュータのハードウェア環境の構成ブロック図である。コンピュータ40は、サーバ15である。コンピュータ40は、CPU42、ROM43、RAM46、通信I/F44、記憶装置47、出力I/F41、入力I/F45、読み取り装置48、バス49、出力機器51、入力機器52によって構成されている。   FIG. 11 is a configuration block diagram of a hardware environment of a computer that executes a program according to the present embodiment. The computer 40 is the server 15. The computer 40 includes a CPU 42, ROM 43, RAM 46, communication I / F 44, storage device 47, output I / F 41, input I / F 45, reading device 48, bus 49, output device 51, and input device 52.

ここで、CPUは、中央演算装置を示す。ROMは、リードオンリメモリを示す。RAMは、ランダムアクセスメモリを示す。I/Fは、インタフェースを示す。バス49には、CPU42、ROM43、RAM46、通信I/F44、記憶装置47、出力I/F41、入力I/F45、及び読み取り装置48が接続されている。読み取り装置48は、可搬型記録媒体を読み出す装置である。出力機器51は、出力I/F41に接続されている。入力機器52は、入力I/F45に接続にされている。   Here, CPU indicates a central processing unit. ROM indicates a read-only memory. RAM indicates random access memory. I / F indicates an interface. A CPU 42, ROM 43, RAM 46, communication I / F 44, storage device 47, output I / F 41, input I / F 45, and reading device 48 are connected to the bus 49. The reading device 48 is a device that reads a portable recording medium. The output device 51 is connected to the output I / F 41. The input device 52 is connected to the input I / F 45.

記憶装置47としては、ハードディスク、フラッシュメモリ、磁気ディスクなど様々な形式の記憶装置を使用することができる。記憶装置47またはROM43には、本実施形態にかかる処理を行うプログラム及びデータが格納されている。   As the storage device 47, various types of storage devices such as a hard disk, a flash memory, and a magnetic disk can be used. The storage device 47 or the ROM 43 stores a program and data for performing processing according to the present embodiment.

CPU42は、記憶装置47等に格納した上記実施形態で説明した処理を実現するプログラムを読み出し、当該プログラムを実行する。   The CPU 42 reads out a program that realizes the processing described in the above embodiment, stored in the storage device 47 or the like, and executes the program.

上記実施形態で説明した処理を実現するプログラムは、プログラム提供者側から通信ネットワーク50、および通信I/F44を介して、例えば記憶装置47に格納されてもよい。また、上記実施形態で説明した処理を実現するプログラムは、市販され、流通している可搬型記憶媒体に格納されていてもよい。この場合、この可搬型記憶媒体は読み取り装置48にセットされて、CPU42によってそのプログラムが読み出されて、実行されてもよい。可搬型記憶媒体としてはCD−ROM、フレキシブルディスク、光ディスク、光磁気ディスク、ICカード、USBメモリ装置など様々な形式の記憶媒体を使用することができる。このような記憶媒体に格納されたプログラムが読み取り装置48によって読み取られる。   The program for realizing the processing described in the above embodiment may be stored in, for example, the storage device 47 via the communication network 50 and the communication I / F 44 from the program provider side. Moreover, the program which implement | achieves the process demonstrated by the said embodiment may be stored in the portable storage medium marketed and distribute | circulated. In this case, the portable storage medium may be set in the reading device 48 and the program read by the CPU 42 and executed. As the portable storage medium, various types of storage media such as a CD-ROM, a flexible disk, an optical disk, a magneto-optical disk, an IC card, and a USB memory device can be used. The program stored in such a storage medium is read by the reading device 48.

また、入力機器52には、キーボード、マウス、電子カメラ、ウェブカメラ、マイク、スキャナ、センサ、タブレットなどを用いることが可能である。また、出力機器51には、ディスプレイ、プリンタ、スピーカなどを用いることが可能である。また、ネットワーク50は、インターネット、LAN、WAN、専用線、有線、無線等の通信網であってよい。   As the input device 52, a keyboard, a mouse, an electronic camera, a web camera, a microphone, a scanner, a sensor, a tablet, or the like can be used. The output device 51 can be a display, a printer, a speaker, or the like. The network 50 may be a communication network such as the Internet, a LAN, a WAN, a dedicated line, a cable, and a wireless network.

本実施形態によれば、FWとHWの動作の時系列が明確になり、障害解析の時間を短縮できる。例えば、障害が発生した場合、FWのどのタイミングでどのHWがどのような動作をしていたかを把握することができる。そのため、障害の発生したポイントから正確に原因発生箇所までトレースする事ができ、障害解析の時間を短縮できる。   According to this embodiment, the time series of FW and HW operations are clarified, and the time for failure analysis can be shortened. For example, when a failure occurs, it is possible to know which HW was performing what operation at which timing of the FW. Therefore, it is possible to trace from the point where the failure has occurred to the location where the failure has occurred, and the time for failure analysis can be reduced.

なお、本発明は、以上に述べた実施の形態に限定されるものではなく、本発明の要旨を逸脱しない範囲内で種々の構成または実施形態を取ることができる。   The present invention is not limited to the above-described embodiment, and various configurations or embodiments can be taken without departing from the gist of the present invention.

1 シミュレータ装置
2 実行部
3 第1の仮想デバイス
4 第2の仮想デバイス
5 統合部
11 ホスト
12 シミュレータ
13 仮想メモリ
14 ファームウェア(FW)
15 仮想CPU
16 付加部
17 仮想シリアルデバイス
18 仮想LAN
19 仮想タイマ
20 仮想割込コントローラ
21 ログ生成部
22 HWログ情報
23 FWログ情報
24 マージ部
25 マージログ
26 タイマ
27 コンソール端末
DESCRIPTION OF SYMBOLS 1 Simulator apparatus 2 Execution part 3 1st virtual device 4 2nd virtual device 5 Integration part 11 Host 12 Simulator 13 Virtual memory 14 Firmware (FW)
15 Virtual CPU
16 Addition unit 17 Virtual serial device 18 Virtual LAN
19 Virtual Timer 20 Virtual Interrupt Controller 21 Log Generation Unit 22 HW Log Information 23 FW Log Information 24 Merge Unit 25 Merge Log 26 Timer 27 Console Terminal

Claims (5)

ファームウェアの命令をエミュレートし、該ファームウェアからの入出力命令に応じて、実時刻に関する時刻情報を取得し、該時刻情報を該入出力命令に付加し、該入出力命令を実行する実行部と、
第1のデバイスの動作を仮想的に行い、前記時刻情報が付加された入出力命令の実行に応じて、第1の出力形式で出力される第1の動作情報と前記時刻情報とを関係付けて出力する第1の仮想デバイスと、
第2のデバイスの動作を仮想的に行い、前記時刻情報が付加された入出力命令の実行に応じて、第2の出力形式で出力される第2の動作情報と前記時刻情報とを関係付けて出力する第2の仮想デバイスと、
前記時刻情報に基づいて、前記第1の動作情報と前記第2の動作情報とを時系列に配列した動作履歴情報を出力する統合部と、
を備えることを特徴とするシミュレータ装置。
An execution unit that emulates a firmware instruction, acquires time information related to an actual time according to an input / output instruction from the firmware, adds the time information to the input / output instruction, and executes the input / output instruction; ,
The operation of the first device is virtually performed, and the first operation information output in the first output format is associated with the time information in accordance with the execution of the input / output instruction to which the time information is added. A first virtual device to output,
The operation of the second device is virtually performed, and the second operation information output in the second output format is associated with the time information in accordance with the execution of the input / output command to which the time information is added. A second virtual device to output,
An integration unit that outputs operation history information in which the first operation information and the second operation information are arranged in time series based on the time information;
A simulator device comprising:
前記第1の仮想デバイスまたは前記第2の仮想デバイスは、前記動作を実行後、前記時刻情報を取得し、取得した該時刻情報と、実行後の動作結果を示す動作情報とを関係付けて出力する
ことを特徴とする請求項1に記載のシミュレータ装置。
The first virtual device or the second virtual device acquires the time information after executing the operation, and associates and outputs the acquired time information with operation information indicating an operation result after the execution. The simulator device according to claim 1, wherein:
前記第1の仮想デバイスは、前記第1の動作情報を文字単位で出力し、
前記第2の仮想デバイスは、前記第1の仮想デバイス以外の仮想デバイスであって、前記第2の動作情報を一括して出力する
ことを特徴とする請求項1または2に記載のシミュレータ装置。
The first virtual device outputs the first operation information in character units,
The simulator device according to claim 1, wherein the second virtual device is a virtual device other than the first virtual device, and outputs the second operation information in a lump.
コンピュータに、
ファームウェアの命令をエミュレートし、該ファームウェアからの入出力命令に応じて、実時刻に関する時刻情報を取得し、該時刻情報を該入出力命令に付加し、該入出力命令を実行し、
第1のデバイスの動作を仮想的に行う第1の仮想デバイスに、前記時刻情報が付加された入出力命令の実行に応じて、第1の出力形式で出力される第1の動作情報と前記時刻情報とを関係付けて出力させ、
第2のデバイスの動作を仮想的に行う第2の仮想デバイスに、前記時刻情報が付加された入出力命令の実行に応じて、第2の出力形式で出力される第2の動作情報と前記時刻情報とを関係付けて出力させ、
前記時刻情報に基づいて、前記第1の動作情報と前記第2の動作情報とを時系列に配列した動作履歴情報を出力する、
処理を実行させることを特徴とするプログラム。
On the computer,
Emulate a firmware instruction, and according to an input / output instruction from the firmware, obtain time information about the actual time, add the time information to the input / output instruction, execute the input / output instruction,
First operation information output in a first output format in response to execution of the input / output command to which the time information is added to the first virtual device that virtually performs the operation of the first device, and the The time information is related and output,
Second operation information output in a second output format in response to execution of the input / output command to which the time information is added to the second virtual device that virtually performs the operation of the second device; The time information is related and output,
Based on the time information, the operation history information in which the first operation information and the second operation information are arranged in time series is output.
A program characterized by causing processing to be executed.
コンピュータが、
ファームウェアの命令をエミュレートし、該ファームウェアからの入出力命令に応じて、実時刻に関する時刻情報を取得し、該時刻情報を該入出力命令に付加し、該入出力命令を実行し、
第1のデバイスの動作を仮想的に行う第1の仮想デバイスに、前記時刻情報が付加された入出力命令の実行に応じて、第1の出力形式で出力される第1の動作情報と前記時刻情報とを関係付けて出力させ、
第2のデバイスの動作を仮想的に行う第2の仮想デバイスに、前記時刻情報が付加された入出力命令の実行に応じて、第2の出力形式で出力される第2の動作情報と前記時刻情報とを関係付けて出力させ、
前記時刻情報に基づいて、前記第1の動作情報と前記第2の動作情報とを時系列に配列した動作履歴情報を出力する、
ことを特徴とするログ情報処理方法。
Computer
Emulate a firmware instruction, and according to an input / output instruction from the firmware, obtain time information about the actual time, add the time information to the input / output instruction, execute the input / output instruction,
First operation information output in a first output format in response to execution of the input / output command to which the time information is added to the first virtual device that virtually performs the operation of the first device, and the The time information is related and output,
Second operation information output in a second output format in response to execution of the input / output command to which the time information is added to the second virtual device that virtually performs the operation of the second device; The time information is related and output,
Based on the time information, the operation history information in which the first operation information and the second operation information are arranged in time series is output.
And a log information processing method.
JP2013141512A 2013-07-05 2013-07-05 Simulator apparatus, program, and log information processing method Pending JP2015014931A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2013141512A JP2015014931A (en) 2013-07-05 2013-07-05 Simulator apparatus, program, and log information processing method

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2013141512A JP2015014931A (en) 2013-07-05 2013-07-05 Simulator apparatus, program, and log information processing method

Publications (1)

Publication Number Publication Date
JP2015014931A true JP2015014931A (en) 2015-01-22

Family

ID=52436623

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2013141512A Pending JP2015014931A (en) 2013-07-05 2013-07-05 Simulator apparatus, program, and log information processing method

Country Status (1)

Country Link
JP (1) JP2015014931A (en)

Similar Documents

Publication Publication Date Title
US7908518B2 (en) Method, system and computer program product for failure analysis implementing automated comparison of multiple reference models
CN110704304B (en) Application program testing method and device, storage medium and server
US10761963B2 (en) Object monitoring in code debugging
US10176078B1 (en) Debugging process
US20140317602A1 (en) Graphical User Interface Debugger with User Defined Interest Points
US20150355920A1 (en) System and methods for generating and managing a virtual device
US20220107882A1 (en) Rendering engine component abstraction system
US10162742B2 (en) System and method for end to end performance response time measurement based on graphic recognition
CN104636251B (en) A kind of more browser compatibility method of testings and system
JP2018525714A (en) Application simulation
JP2006185211A (en) Program analysis system, test execution device, and analysis method and program thereof
CN107193747B (en) Code testing method and device and computer equipment
JP2017084082A (en) Simulation device, test scenario file creation method, and test method using test scenario file
US10802852B1 (en) Method for interactive embedded software debugging through the control of simulation tracing components
US10380313B1 (en) Implementation and evaluation of designs for heterogeneous computing platforms with hardware acceleration
CN103713977B (en) Microprocessor IP (internet protocol) kernel comparison and verification implementation method
US20160112285A1 (en) Apparatus and method for detecting abnormal connection
JP2017162130A (en) Hardware/software cooperative verification device and hardware/software cooperative verification method
CN114328045A (en) I2C debugging method, system and device for BMC and computer readable storage medium
US10579761B1 (en) Method and system for reconstructing a graph presentation of a previously executed verification test
Mihajlović et al. Dynamically instrumenting the QEMU emulator for Linux process trace generation with the GDB debugger
JP2015014931A (en) Simulator apparatus, program, and log information processing method
JPWO2019092849A1 (en) Simulation apparatus, simulation method, and simulation program
US10372589B2 (en) Multi environment aware debugger
CN109753308B (en) Instruction path verification system and instruction path monitoring method