JP4906760B2 - トレースデータ解析方法およびそのプログラム - Google Patents

トレースデータ解析方法およびそのプログラム Download PDF

Info

Publication number
JP4906760B2
JP4906760B2 JP2008065687A JP2008065687A JP4906760B2 JP 4906760 B2 JP4906760 B2 JP 4906760B2 JP 2008065687 A JP2008065687 A JP 2008065687A JP 2008065687 A JP2008065687 A JP 2008065687A JP 4906760 B2 JP4906760 B2 JP 4906760B2
Authority
JP
Japan
Prior art keywords
event
program
pattern
analysis
event pattern
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.)
Expired - Fee Related
Application number
JP2008065687A
Other languages
English (en)
Other versions
JP2009223487A (ja
Inventor
一洋 村田
三朗 飯島
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.)
Hitachi Information and Control Solutions Ltd
Original Assignee
Hitachi Information and Control Solutions 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 Hitachi Information and Control Solutions Ltd filed Critical Hitachi Information and Control Solutions Ltd
Priority to JP2008065687A priority Critical patent/JP4906760B2/ja
Publication of JP2009223487A publication Critical patent/JP2009223487A/ja
Application granted granted Critical
Publication of JP4906760B2 publication Critical patent/JP4906760B2/ja
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Debugging And Monitoring (AREA)

Description

本発明は、プログラム実行時の再現率の低い不具合の動作解析を行うためのトレースデータ解析方法およびそのプログラムに関する。
従来、カーナビゲション等の組み込みシステムで不具合が起こった場合、プログラムの動作をトレースして解析を行なっている。
例えば、特許文献1に記載される一般的なトレース方式では、トレースデータを記録するためのメモリを必要とすることから、メモリ容量を超えるトレースデータを記録することができない。なお、メモリを繰り返し使用する場合には、エラーが起きた箇所が上書きされてしまう。
また、トレースデータを解析する場合、トレースデータの中からエラーが起きた箇所を探し出し、エラー箇所である表示対象を指定する必要がある。
一方、特許文献2に記載されるように、N周期前(N:自然数)までのトレースデータを常に記録するようにし、故障発生時に自動でトレースデータを取り込み表示させることで故障解析を支援するシステムもある。
特開平8−137717号公報(段落0023、図1、図3等) 特開2001−14027号公報(段落0023、0026、図2等)
ところで、従来のプログラム実行時の再現率の低い不具合の動作解析を行う場合、以下の技術課題が挙げられる。
第1の技術課題として、再現率の低い不具合の動作解析を行うためには長時間のトレースを行う必要があるため、イベント情報が多数にのぼり、直ぐにメモリが一杯になってしまう。そのため、トレース用に大容量のメモリが必要となる。
しかし、デバッカや組み込みシステムでは、容易にメモリを増設することができない場合が多く、再現率の低い不具合の解析を行おうとしてもメモリ容量が足りず、動作解析に必要なトレースデータを記録できないという問題がある。
第2の技術課題として、トレースに必要なメモリ容量が有りトレースデータが収集できたとしても、データ量が膨大となるため、トレースデータの中からエラーが起きた箇所を探し出そうにも、不具合発生ポイントがなかなか見つからず、何度も表示対象を繰返し指定する必要があり、作業が非効率的となっている。
第3の技術課題として、トレースに必要なメモリ容量が無い場合、不具合発生のタイミングでトレースデータの取り込み、または、トレースデータの記録を停止させる必要がある。
しかし、一般的に再現率の低い不具合は、タイミングに起因するものが多く、一過性で不具合発生後も正常に動作し続ける場合が多い。このため、自動で判定することが困難で、人手により何度もトレースデータ収集を行う手間が発生し、作業量が膨大となる難点があり、改善が望まれる。
本発明は上記実状に鑑み、プログラムの再現率の低い不具合に対しても少ないメモリで動作解析に必要なトレースデータを記録でき、かつ効率的な動作解析を行い得るトレースデータ解析方法およびそのプログラムの提供を目的とする。
上記目的を達成すべく、第1の本発明に関わるトレースデータ解析方法は、イベント情報記録プログラムとイベントパターン解析プログラムとが、コンピュータに、記憶部のイベントパターンリスと発生頻度管理テーブルと複数のバッファとを用いて、解析対象プログラムの実行動作を解析させるためのトレースデータ解析方法であって、イベント情報記録プログラムが、コンピュータに、複数のバッファのうちから選択バッファに、解析対象プログラムの実行時のトレースデータをイベント情報として逐次記録させる工程と、イベントパターン解析プログラムが、コンピュータに、イベント情報における発生したイベントパターンをイベントパターンリスに記憶させるとともに、発生したイベントパターン毎の発生頻度を発生頻度管理テーブルに記憶させる記憶工程と、イベントパターン解析プログラムが、コンピュータに、発生頻度の低いイベントパターンを含むイベント情報を前記バッファに記録し残すように、イベント情報が記録される複数のバッファのうちから発生頻度が最も高いイベントパターンを有するイベント情報が記録されるバッファを、実行時のトレースデータをイベント情報として逐次記録するために選択させる選択工程とを含んでいる。
第2の本発明に関わるトレースデータ解析方法は、イベント情報記録プログラムとイベントパターン解析プログラムとが、コンピュータに、記憶部のイベントパターンリスと発生頻度管理テーブルと複数のバッファとを用いて、解析対象プログラムの実行動作を解析させるためのトレースデータ解析方法であって、イベント情報記録プログラムが、コンピュータに、複数のバッファのうちから選択バッファに、解析対象プログラム実行時のイベント情報が予め記録されたトレースデータファイルから読込んだイベント情報を逐次記録させる工程と、イベントパターン解析プログラムが、コンピュータに、読込んだイベント情報における発生したイベントパターンをイベントパターンリスに記憶させる記憶工程と、イベントパターン解析プログラムが、コンピュータに、イベントパターン毎の発生頻度を発生頻度管理テーブルに記憶させるとともに、発生頻度の低い前記イベントパターンを含むイベント情報を残すように、イベント情報が記録される複数の前記バッファのうちから発生頻度が最も高いイベントパターンを含むイベント情報が記録されるバッファを、実行時のイベント情報を逐次記録するために選択させる選択工程とを含んでいる。
第3の本発明に関わるプログラムは、解析対象プログラムの実行動作を解析するためのイベント情報記録プログラムとイベントパターン解析プログラムとを有するプログラムであって、イベント情報記録プログラムが、コンピュータに、解析対象プログラムの実行時のイベント情報を、選択したバッファに逐次記録させる手順、イベントパターン解析プログラムが、コンピュータに、解析対象プログラムの実行時のイベント情報に同一のイベントパターンが発生する時間間隔を各同一のイベントパターン毎に発生頻度管理テーブルに記憶させる手順、およびイベントパターン解析プログラムが、コンピュータに、時間間隔の長いイベントパターンを含むイベント情報を残すように、イベント情報が記録された複数のバッファのうちから時間間隔の最も短いイベントパターンを含むイベント情報が記録されるバッファを、実行時のイベント情報を逐次記録するために選択させる手順を実行させている。
第4の本発明に関わるプログラムは、解析対象プログラムの実行動作を解析するためのイベント情報記録プログラムとイベントパターン解析プログラムとを有するプログラムであって、イベント情報記録プログラムが、コンピュータに、解析対象プログラムの実行時のイベント情報を、選択したバッファに逐次記録させる手順、イベントパターン解析プログラムが、コンピュータに、解析対象プログラムの実行時のイベント情報に同じイベントパターンが発生するイベント回数を各同じイベントパターン毎に発生頻度管理テーブルに記憶させる手順、およびイベントパターン解析プログラムが、コンピュータに、イベント回数の少ないイベントパターンを含むイベント情報を残すように、イベント情報が記録された複数のバッファのうちからイベント回数が最も多いイベントパターンを含むイベント情報が記録されるバッファを、実行時のイベント情報を逐次記録するために選択させる手順を実行させている。
本発明によれば、再現率の低い不具合に対しても少ないメモリで動作解析に必要なトレースデータを記録でき、かつ効率的な不具合の動作解析を行い得るトレースデータ解析方法およびそのプログラムを実現できる。
<<本発明の概要>>
本発明は、プログラムのデバッグ手法の一つとして、プログラムの動作やメモリの変化をイベントとして時系列的に記録し、動作解析を行うトレースを用いている。なお、イベントとはシステム実行上のキッカケともいうべきものであり、例えば、ボタンの押下、タスク実行開始、メッセージ発行等が該当する。
本発明は、プログラムにおいて再現率が低いバグを含む不具合の動作解析を行う場合に有効である。
以下、本発明の実施形態について添付図面を参照して説明する。
<<第1実施形態>>
図1は、第1実施形態の解析対象プログラム100の実行時の動作をトレースデータ記録システム110にて記録するための構成を示すシステム構成図である。
第1実施形態のトレースデータ記録システム110は、解析対象である解析対象プログラム100のバグ等の不具合に対して、この不具合が発生した箇所のトレースデータを取得する機能を有している。
<システム構成>
図1に示すように、トレースデータ記録システム110は、解析対象プログラム100の実行動作を解析するためのイベントパターン解析プログラム120と、解析対象プログラム100の実行時のイベント情報のイベントパターンを含むトレースデータが格納される複数のバッファ170(170a、170b、…、170n)と、解析対象プログラム100の実行時のトレースデータをバッファ170へ逐次記録するイベント情報記録プログラム130と、解析対象となるイベントが登録される解析対象登録テーブル140と、解析対象プログラム100の実行時のイベントパターンを解析するためのイベントパターン解析テーブル150と、解析対象プログラム100の実行時のイベント情報のイベントパターンを含むトレースデータを逐次記録するバッファ170を指定する選択バッファNoテーブル160とを備え構成されている。
なお、バッファ170は、トレースで一般的に用いられている直線状のバッファを論理的に繋げたリングバッファ構造とするが、特にこれに限定されない。
このトレースデータ記録システム110と解析対象プログラム100との間には、解析対象プログラム100が実行されるOS(Operating System)101が介在している。
<ハードウェア構成>
図2は、トレースデータ記録システム110を稼動させるハードウェア構成の1例を示す概念図である。
図2に示すように、実施形態のトレースデータ記録システム110が稼働するハードウェアは、組み込みシステム等の解析対象プログラム100が搭載される回路基板のターゲットボード11と、該ターゲットボード11に接続され解析対象プログラム100の動作を解析するためのパソコン10とを備え構成されている。
なお、パソコン10、ターゲットボード11にはそれぞれ通信プログラムが格納されたり、或いは、パソコン10、ターゲットボード11間にデバッガのICE(In-Circuit Emulator)(登録商標)等が配設されるが、図2においては、図示を省略している。
パソコン10は、汎用のパーソナルコンピュータであり、CPU(Central Processing Unit)と、主記憶装置のメインメモリと、補助記憶装置のメモリと、マウス、キーボード10k等の入力装置と、プリンタ(図示せず)、ディスプレイ10d等の出力装置とを有している。
パソコン10のメモリには、イベントパターン解析プログラム120がインストールされており、図1に示すトレースデータ記録システム110の稼働時には、CPUがイベントパターン解析プログラム120をメインメモリにロードし実行するとともに、解析対象登録テーブル140、イベントパターン解析テーブル150等のデータがメインメモリに記憶され、処理が行われる。なお、パソコン10のメモリには、OSが格納されているが、図2においては図示を省略している。
ターゲットボード11は、例えば、カーナビゲション等の電子機器に格納され、該電子機器を解析対象プログラム100の実行により統括的に制御するものであり、エポキシ樹脂等を含む基板上に、配線パターンが形成されるとともに、各種電子回路と、入出力インターフェース回路と、CPU、ROM(Read Only Memory)、RAM(Random Access Memory)等を有するマイコン(Microcomputer:マイクロコンピュータ)などが実装されている。
ターゲットボード11のマイコンのROMには、OS101、該OS101上で動作する解析対象プログラム100等が格納されており、組み込みシステムの稼動時には、解析対象プログラム100が、マイコンのCPUによりRAMにロードされ実行される。
また、トレースデータ記録システム110を稼動するためのイベント情報記録プログラム130が、マイコンのROMに格納されており、トレースデータ記録システム110の稼動時には、マイコンのCPUにより、解析対象プログラム100に加えてイベント情報記録プログラム130がRAMにロードされ実行される。
なお、トレースデータ記録システム110の稼動時、ターゲットボード11のマイコンのRAMには、図1に示すバッファ170、選択バッファNoテーブル160等の各種データが格納され処理が行なわれる。
<トレースデータ記録システム110の各部の構成>
図1に示す解析対象登録テーブル140は、その構成を表す図8に示すように、イベントパターンの解析対象となるイベントを示す解析対象イベントコード141と、イベントパターンの開始のイベントの解析対象イベントコード141を示す解析開始イベントコード142と、イベントパターンの終了のイベントの解析対象イベントコード141を示す解析終了イベントコード143との3つのコードを有している。それぞれのコード141、142、143には、多数、例えば何百のデータが記録されている。
図1に示すイベントパターン解析テーブル150は、その構成を表す図9に示すように、解析開始イベントコード142の発生パターンであるイベントパターンを記憶するイベントパターンリスト151と、イベントパターン毎の発生頻度を記憶する発生頻度管理テーブル152とを有している。
図1に示すイベントパターン解析プログラム120は、イベントの発生パターンであるイベントパターンをイベントパターンリスト151に記憶し、イベントパターン毎の発生頻度を発生頻度管理テーブル152に記憶し、また、発生頻度の低いイベントパターンを含むトレースデータを残すように、バッファ170のうちからトレースデータが逐次記録され更新されるバッファ170を選択し、バッファNoテーブル160に設定する。
ここで、イベントパターンの発生頻度を同一のイベントパターンが発生するまでの時間間隔で求め、時間間隔の長いイベントパターンを含むトレースデータを残すようにしている。
また、時間の取得は、RTC(Real Time Clock)の時刻を用いても良いし、タイマを用いたシステム起動からの相対時間を用いても良く、特に限定されない。
例えば、RTCやタイマが搭載されていないシステムでは、同じイベントパターンが発生するイベント回数を発生頻度としても良い。この場合、回数の少ないイベントパターンを含むトレースデータを残すようにする。
図1に示すイベント情報記録プログラム130は、選択バッファNoテーブル160で指定されるバッファ170(170a、…、170n)に、解析対象プログラム100の実行動作を、イベント情報のイベントパターンを含むトレースデータとして解析対象イベントコード141で逐次記録する機能を有する。ここで、解析対象イベントコード141は、解析対象プログラム100の動作であるイベントを、後記の図7に示すイベントコード対応表600に従いコード化したものである。
<<解析対象プログラム100>>
次に、解析対象プログラム100の一例を、図3から図6を用いて説明する。
図3は、解析対象プログラム100のシステムが動作するハードウェアを示す斜視図であり、図4は、解析対象プログラム100の処理フローを示す図である。
また、図5は、解析対象プログラム100の動作を示す図であり、図5(a)は、解析対象プログラム100のイベントパターンであるパターンAの動作を示す図であり、図5(b)は、解析対象プログラム100のイベントパターンであるパターンBの動作を示す図であり、図5(c)は、解析対象プログラム100のイベントパターンであるパターンCの動作を示す図である。
図6は、図5の解析対象プログラム100の動作をイベントとしてリストで表現した図であり、解析対象プログラム100のイベントパターンであるパターンAの動作、パターンBの動作、およびパターンCの動作と、各イベントパターン毎の発生頻度とを示した図である。
図3に示すように、解析対象プログラム100が動作するシステム300は、光が点滅するランプA(312)と、押下動作でランプA(312)に光を点滅させるボタンA(311)と、光が点滅するランプB(322)と、押下動作でランプB(322)に光を点滅させるボタンB(321)とが搭載されている。
このシステム300において、解析対象プログラム100は、1回のボタンA(311)の押下によりランプA(312)が1回点滅し(以下、パターンAと称す)、1回のボタンB(321)の押下によりランプB(322)が1回点滅する(以下、パターンBと称す)ように設計されている。
しかし、希にボタンA(311)を押下してもランプA(312)が点滅しない不具合(以下、パターンCと称す)が発生する場合がある。
そこで、この不具合のパターンCを解析するためのトレースデータの取得方法を、以下説明する。
正常な動作のパターンA(410)では、図4に示すように、順番に、割込み処理S150、ボタン種別設定S151、タスクC起動S152、タスクC(S110)、ボタン種別判定S111、メッセージA発行S112、タスクA(S120)、ランプA点滅S121のルートを通る。
このパターンA(410)の動作は、図5(a)に示すように、図4を参照し、ボタンA押下後、タスクCが行われ、メッセージAが発行され、タスクAが行われ、ランプA点滅となる。
図4、図5(a)に示すパターンA(410)のイベントパターンリスト模式図510は、図6に示すように、順番に、ボタンA押下510a、タスクC実行開始510b、メッセージA発行510c、タスクA実行開始510d、ランプA点滅510eのルートを通る。
このパターンA(410)は、正常動作なので、発生頻度が高いため、発生頻度の表示として、「高」520aが表示される。
正常な動作のパターンB(420)では、図4に示すように、順番に、割込み処理S150、ボタン種別設定S151、タスクC起動S152、タスクC(S110)、ボタン種別判定S111、メッセージB発行S113、タスクB(S130)、ランプB点滅S131のルートを通る。
このパターンB(420)の動作は、図5(b)に示すように、図4を参照し、ボタンB押下後、タスクCが行われ、メッセージBが発行され、タスクBが行われ、ランプB点滅となる。
図4、図5(b)に示すパターンB(420)のイベントパターンリスト模式図510は、図6に示すように、順番に、ボタンB押下510k、タスクC実行開始510l、メッセージB発行510m、タスクB実行開始510n、ランプB点滅510oのルートを通る。
このパターンB(420)は、正常動作なので発生頻度が高いため、発生頻度の表示として、「高」520cが表示される。
不具合が発生した動作のパターンCでは、図4に示すように、順番に、割込み処理S150、ボタン種別設定S151、タスクC起動S152、タスクC(S110)にまで進行した後、周期割込みが入り、タスクD(S140)、周期処理S141の後、ボタンB押下がなされ、割込み処理S150、ボタン種別設定S151、タスクC起動S152、タスクC(S110)、ボタン種別判定S111、メッセージB発行S113、タスクB(S130)、ランプB点滅S131のルートを通る。
この不具合が発生したパターンC(430)の動作は、図5(c)に示すように、図4を参照し、ボタンA押下後、タスクCの進行中に、周期割込みが入り(図4参照)、タスクDが行われる。そして、タスクDの進行中に、ボタンB押下がなされ、パターンB(420)に移行し、タスクCが行われ、メッセージBが発行され、タスクBが行われ、ランプB点滅となる。
図4、図5(c)に示す不具合が発生した動作のパターンC(430)のイベントパターンリスト模式図510は、図6に示すように、ボタンA押下510a、タスクC実行開始510b、タスクD実行開始510q、ボタンB押下510f、タスクC実行開始510g、メッセージB発行510h、タスクB実行開始510i、ランプB点滅510jのルートを通る。
このパターンC(430)は、図5(c)に示すように、周期割込みのタスクDの進行中にボタンB押下がなされ、ボタンA押下がなされてもランプA点滅がなされない不具合が発生した動作なので、発生頻度が低く、図6に示すように、発生頻度の表示として、「低」(520b)が表示される。
このパターンC(430)は、タスクD(S140)の割込み(図4、図5(c)参照)により、タスクC(S110)の処理タイミングが遅れ、図4に示すように、ボタン種別テーブル390をリードしボタン種別判定S111を行なう前に、ボタンB押下がなされ、パターンB(420)に書き換えられた(図5(c)、(b)参照)ことが原因で発生した不具合である。
<イベントコード対応表600>
図7は、解析対象プログラム100の動作を、イベントコード610aとしてイベントパターン解析プログラム120、イベント情報記録プログラム130等で扱うためのイベントコード対応表600を示す図である。
図7に示すイベントコード対応表600は、各イベントコード610aが、如何なる意味610bを有しているかを表している。例えば、「110A」のイベントコード610aは、「ボタンA押下」を表し、「110B」のイベントコード610aは、「ボタンB押下」を表し、「220A」のイベントコード610aは、「タスクA実行開始」を表している。以下、同様である。
なお、イベントコード対応表600は、イベントパターン解析プログラム120、イベント情報記録プログラム130の実行時には予め作成されている。
<解析対象登録テーブル140(図1参照)>
図8に示すように、解析対象登録テーブル140は、解析対象となる不具合の動作に関係のあるイベントを識別するコードを設定する解析対象イベントコード141と、イベントパターンの開始条件となるイベントを識別するコードを設定する解析開始イベントコード142と、イベントパターンの終了条件となるイベントを識別するコードを設定する解析終了イベントコード143とから構成されるものであり、解析対象とするイベントの情報が設定されている。
ここで、解析対象登録テーブル140は、図1に示す各イベントパターン解析プログラム120がリードし、処理に用いるものであるから、イベントパターン解析プログラム120を実行する前に予め設定しておく必要がある。この設定は、例えば、不具合に関連する解析対象プログラム100のソースコードを熟知した解析対象プログラム100の設計者等のデバック作業者が行う。
図8に示す解析対象イベントコード141に、解析対象プログラム100の解析対象となるイベントのイベントコード(図7参照)を設定し、不具合に関係の無いイベントコードをフィルタリングする。これにより、イベントパターンリスト151(図9参照)がより効率的に作成され、不具合の動作に関係のあるイベントコードが設定される。
図8に示す解析開始イベントコード142には、解析対象プログラム100の処理対象となるイベントパターン(図6参照)の開始条件となるイベントコードを設定する。
例えば、図6に示すように、正常なイベントパターンであるパターンA(410)、不具合の発生したイベントパターンであるパターンC(430)それぞれの開始条件となるイベントコードのボタンA押下510aのイベントコードの「110A」(図7参照)が該当する。また、正常なイベントパターンであるパターンB(420)の開始条件となるイベントコードのボタンB押下510kのイベントコードの「110B」(図7参照)が該当する。
図8に示す解析終了イベントコード143には、イベントパターンの終了条件となるイベントコードを設定するのであるから、例えば、図6に示すように、解析対象プログラム100が扱うイベントパターンのパターンA(410)の終了条件となるイベントコードのランプA点滅510eのイベントコードの「440A」(図7参照)、イベントパターンのパターンB(420)の終了条件となるイベントコードのランプB点滅510oのイベントコードの「440B」(図7参照)、イベントパターンのパターンC(430)の終了条件となるイベントコードのランプB点滅510jのイベントコードの「440B」(図7参照)等が該当する。
<イベントパターン解析テーブル150(図1参照)>
図9は、イベントパターン解析テーブル150の詳細構造を示したものである。
イベントパターン解析テーブル150は、解析対象プログラム100が実行されることにより、解析対象プログラム100の実行時のログのトレースデータに含まれるイベントパターン等の情報が記録されるものである。
図9に示すように、イベントパターン解析テーブル150におけるイベントパターンリスト151は、通し番号であるidx(711a)と、解析対象のイベントコードを示すイベントコード711bと、イベントコード711b以外の分岐先の候補が有る場合にその分岐先のイベントコードをidx(711a)で示す分岐イベントidx(711c)と、イベントコード711bが次に移行するイベントコードをidx(711a)で示す次イベントidx(711d)と、イベントパターンを識別する番号が記憶されるパターンNo(711e)と、解析中のイベントパターンのどのイベントコードを解析中かをidx(711a)で示す解析中idx(712)とを有し構成されている。
イベントパターンリスト151は、解析対象プログラム100が解析対象とするイベントパターン(図6参照)にあるように、リスト構造でイベントパターンを記憶する。
図9に示すイベントパターンリスト151のイベントコード711bには、図7に示すイベントコード対応表600に示される意味610bで表されるイベントに対応付けられたイベントコード610aを記憶する。
イベントパターンリスト151の分岐イベントidx(711c)は、解析対象プログラム100のイベントパターン(図6参照)において、イベントの遷移先に分岐する場合、例えば、図6に示すように、分岐先となるボタンA押下510aとボタンB押下510kや、分岐先となるメッセージA発行510cとタスクD実行開始510qのように、分岐先の候補のイベントコード711bのidx(711a)を記憶し、リストに繋いでいく。
そして、分岐先の候補が無い場合は、(null)を記憶する。
例えば、図9のidx(711a)「3」のイベントコード711bが「330A」の「メッセージA発行」(図7参照)は、図6のイベントパターンリスト模式図510に示すように、「メッセージA発行」510cには、分岐先の候補として、「220D」の「タスクD実行開始」510qが有るので、イベントコード711bに「220D」が記憶されるidx(711a)の「11」を記憶する。
図9に示すイベントパターンリスト151の次イベントidx(711d)には、解析対象プログラム100のイベントパターンにおいて、現イベントの次に行なわれるイベントを表している。なお、解析終了イベントコード143(図8参照)で示されるイベントコード、すなわちイベントパターンの最後の行の場合、(null)を記憶する。
例えば、図6に示すパターンA(410)を例示すると、図9のイベントパターンリスト151の1行目を参照し、ボタンA押下510aのイベントコード711bは、「110A」(図7参照)が記憶され、次イベントidx(711d)には、タスクC実行開始510b(図6参照)を表す「220C」(図7参照)が記憶されているidx(711a)「2」が記憶される。
また、図9のイベントパターンリスト151の2行目を参照し、タスクC実行開始510b(図6参照)のイベントコード711bは、「220C」(図7参照)が記憶され、次イベントidx(711d)は、メッセージA発行510c(図6参照)を表す「330A」(図7参照)が記憶されているidx(711a)「3」が記憶される。
また、例えば、図6に示すパターンA(410)の場合には、ランプA点滅510eがパターンA(410)の最後である。図9のイベントパターンリスト151の1行目のidx(711a)の「1」から5行目の「5」はパターンA(410)を表しており、5行目のイベントコード711bの「440A」は、ランプA点滅510e(図7参照)を表しており、イベントパターンの最後であるので、次イベントidx(711d)には、(null)を記憶する。
図9のイベントパターンリスト151のパターンNo(711e)には、イベントパターンを識別するための識別情報、例えば、番号を記憶する。
図8に示す解析終了イベントコード143で表されるイベントコードは、イベントパターンリスト151のイベントパターンの最後の行のイベントコード711bに記憶する。そして、パターンNo(711e)には、イベントパターンを識別するための識別情報、例えば、番号を記憶し、イベントパターンの最後のイベント以外の行では、パターンNo(711e)に、イベントパターンリスト151の一行目から四行目に示されるように、(null)を記憶する。
例えば、イベントパターンリスト151における1列目のidx(711a)「1」〜「5」は、図6に示すパターンA(410)を表しており、5行目のidx(711a)「5」のイベントコード711bに、解析終了イベントコード143の「440A」(図8参照)が記憶される。そして、イベントパターンA(410)を識別するための識別情報「1」が、パターンNo(711e)に記憶され、イベントパターンA(410)がパターンNo(711e)に記憶される番号「1」で示されることになる。
図9のイベントパターンリスト151の解析中idx(712)には、解析対象プログラム100のイベントパターンのどのイベントを解析中であるかを、idx(711a)で記憶する。
なお、解析中で無い場合は、(null)を記憶する。
例えば、図9に示す解析中idx(712)には、「7」が記憶されるので、図9に示すイベントパターンリスト150の7行目のidx(711a)「7」のイベントコード711bの「220C」で表される「タスクC実行開始」(図7参照)を解析中であることを示している。
図9に示すように、イベントパターン解析テーブル(150)における発生頻度管理テーブル152は、イベントパターン毎の発生頻度を表すパターン毎発生頻度720と、バッファ毎の発生頻度を表すバッファ毎発生頻度730とを有し構成され、イベントパターン毎の発生頻度とバッファ毎の発生頻度を記憶している。
パターン毎発生頻度720は、イベントパターンを識別するパターンNo(721a)と、該イベントパターン毎の発生時間721bと、該イベントパターンの発生間隔721cから構成される。
発生時間721bは、イベントパターンが発生した時間を記憶するものであり、例えば、電源釦が押下され電源が入れられてからの累積時間等で表される。なお、発生時間721bの起点は、どの様に定めてもよく、特に限定されない。
発生間隔721cには、それぞれのイベントパターンが発生した間の経過時間を記憶する。なお、図9に示す発生時間(721b)、発生間隔(721c)は、ミリ秒の単位を用いて表しているが、これらの単位は任意に選択可能であり限定されない。
ここで、発生時間721bは、発生間隔721cを求めるために用いられ、今回のイベントパターンの発生時間721bと前回の同じイベントパターンの発生時間721bとの差で発生間隔721cが求められる。
なお、発生時間721bの更新は、発生間隔721cを求めた後で行う。
図9に示す発生頻度管理テーブル152のバッファ毎発生頻度730は、各バッファ170(図1参照)を識別するためのバッファNo(731a)と、バッファ170毎に記録されるトレースデータに含まれるイベントパターンの発生間隔731bとから構成される。
バッファ毎発生頻度730の発生間隔731bには、対応するバッファ170に格納されている最新のイベントパターンの発生頻度を記憶する。なお、ここでは、発生間隔731bに記憶する発生頻度として、同一のイベントパターンの発生間隔の経過時間を用いている。
図9に示す選択バッファNo(160)は、バッファ毎発生頻度730のバッファNo(731a)に記憶されるバッファ170の発生間隔731中で、最も発生間隔の短いバッファNo(731a)が記憶される。このバッファNo(731a)で指定されるバッファ170は、トレースデータの書込み対象となり、イベントパターンを含むトレースデータが逐次記録される。
そのため、選択バッファNo(160)の更新は、選択バッファ毎発生頻度730の発生間隔731bの中に、パターン毎発生頻度720において更新した発生間隔721cより短い発生間隔が生じた場合に行われる。
すなわち、まず、更新した発生間隔721cのイベントパターンを含むトレースデータを記憶するバッファ170のバッファNoが、バッファNo(731a)に記憶され、該バッファ170の発生間隔が発生間隔731bに記憶される。そして、バッファ毎発生頻度730における発生間隔731bの最も短いバッファNo(731a)が選択され、選択バッファNo(160)に記憶され更新される。
これにより、選択前のバッファ170への書込みが抑止され、より発生間隔721cの長いイベントパターンを含むトレースデータが残るようになる。
例えば、図9に示す例では、バッファ毎発生頻度730のバッファNo(731a)に記憶される「1」、「2」、「3」の3つバッファ170に書込みがなされている。
そして、発生間隔721cの長いイベントパターンを含むトレースデータが記憶される「2」、「3」の2つのバッファ170は、更新が行われず残る。そして、最も発生間隔731bの短いバッファNo(731a)「1」が、選択バッファNo(160)に記憶され、「1」のバッファ170に、イベントパターンを含むトレースデータが逐次記録され更新が行なわれる。
<<イベントパターン解析プログラム120>>
次に、解析対象プログラム100の実行時の不具合を解析するイベントパターン解析プログラム120の処理について、図10に従って説明する。なお、図10は、イベントパターン解析プログラム120の処理フローを示す流れ図である。
イベントパターン解析プログラム120は、解析対象プログラム100の実行時の1イベント発生毎にこの1イベントに対して処理が行われるものである。すなわち、図10に示す一つのフローで図9に示すイベントパターン151の1行の書き込みの処理が行なわれる。
なお、トレースデータが既に記憶されたトレースファイルから入力される場合は、トレースファイルからの入力情報の1イベントを取出して処理する場合と同様である。
まず、解析対象プログラム100の実行時、イベントが発生した場合、OS101(図1、図2参照)からイベントパターン解析プログラム120およびイベント情報記録プログラム130が実行され、その際に、パラメータとして発生したイベントのイベントコードが、イベントパターン解析プログラム120およびイベント情報記録プログラム130に渡される。
こうして、イベントが発生した場合、発生したイベントが解析対象登録テーブル140(図8参照)の解析対象イベントコード141に登録される解析対象イベントか否か、パラメータとして渡されたイベントコードが解析対象イベントコード141(図8参照)と一致するか否かで判断される(図10のステップS201)。
ここで、解析対象イベントは、予め、不具合に関係する箇所の処理が解るPG(program)設計者等によりトレースデータ記録システム110に入力され、図8に示す解析対象登録テーブル140の解析対象イベントコード141として登録されている。
図10のステップS201において、解析対象イベントでないと判断された場合(ステップS201でNo)、処理を終了する。
一方、ステップS201において、解析対象イベントであると判断された場合(ステップS201でYes)、イベントパターンリスト151(図9参照)にイベントを記録する(ステップS202)。
すなわち、イベントパターンリスト151におけるidx(711a)に通し番号を、イベントコード711bに該イベントのイベントコード対応表600(図7参照)のイベントコード610aを、分岐イベントidx(711c)に該イベント以外の分岐先の候補が有る場合にはその分岐先のidx(711a)の情報をまたは分岐先が無い場合には(null)を、次イベントidx(711d)に次に行われるイベントを表すidx(711a)の情報を、パターンNo(711e)に該イベントが行なわれるイベントパターンの識別情報の番号または(null)をそれぞれ記録する。
続いて、該イベントがイベントパターンの最後か否かを、図8に示す解析対象登録テーブル140の解析終了イベントコード143に登録されているか否かにより、判定する(ステップS203)。
なお、解析対象の解析終了イベントは、予め、エラーに関係する箇所の処理が解るPG(program)設計者等によりトレースデータ記録システム110に入力され、図8に示す解析対象登録テーブル140の解析終了イベントコード143に登録されている。
図10のステップS203において、イベントパターンの最後でないと判断された場合(図10のステップS203でNo)には、処理を終了する。
一方、図10のステップS203において、該イベントがイベントパターンの最後であると判断された場合(図10のステップS203でYes)、図9に示すパターン毎発生頻度720を更新する(ステップS204)。すなわち、図9に示すパターン毎発生頻度720のパターンNo(721a)に、該イベントパターンのイベントパターンリスト151のパターンNo(711e)に記憶されるデータを記録し、また、パターン毎発生頻度720の発生時間721bに、該イベントパターンが発生した時間を記録し、また、パターン毎発生頻度720の発生間隔721cに、該イベントパターンの今回と前回との発生時間の差で求められる経過時間を記録する。
続いて、図9に示すバッファ毎発生頻度730の発生間隔731b中に、パターン毎発生頻度720に更新した発生間隔721cより短い発生間隔はあるか否かを判定する(ステップS205)。
ステップS205において、短い発生間隔がないと判定された場合(図10のステップS205でNo)、処理を終了する。
一方、図10のステップS205において、短い発生間隔が有ると判定された場合(図10のステップS205でYes)、図9に示す選択バッファNo(160)が示すバッファ170のバッファ毎発生頻度730(図9参照)の最も短い発生間隔(731b)を、パターン毎発生頻度720の更新した発生間隔721cで更新する(ステップS206)。
続いて、選択バッファNo(160)にバッファ毎発生頻度(730)の中で最も発生間隔(731b)の短いバッファNo(731a)を設定する(ステップS207)。
以上が、イベントパターン解析プログラム120の処理である。
こうして、イベントパターン解析プログラム120の処理で選択バッファNoテーブル(160)に指定されたバッファ170に、イベント情報記録プログラム130の実行により、解析対象プログラム(100)の動作のイベント情報のトレースデータが解析対象イベントコード141用いて逐次記録される。
<作用効果>
第1実施形態によれば、解析対象プログラム100の実行時の再現率の低い不具合の動作解析を行う場合に、次の効果が得られる。
第1の効果として、トレースデータを記録するために大容量のメモリが無くても、不具合を含むトレースデータを残すことが可能となる。
第2の効果として、バッファ170には不具合を含むトレースデータが記録される可能性が高いため、従来より短時間で不具合発生ポイントを見つけることが可能となる。
第3の効果として、再現率の低い不具合でも、自動でトレースデータを収集することが可能となる。
<<第2実施形態>>
次に、第2実施形態について、図11を参照し説明する。なお、図11は、第2実施形態に関わる解析対象プログラム100の実行時の動作をトレースデータ記録システム110にて記録するとともに表示するための構成を示すシステム構成図である。
<システム構成>
図11に示すように、第2実施形態は、図1の解析対象プログラム100の代わりに、予め解析対象プログラム100の実行時のイベントパターンを含むトレースデータが記録されたトレースデータファイル200を入力とする。そして、トレースデータ記録システム110に解析結果表示プログラム220を付加した構成である。
これ以外の構成は、第1実施形態と同様であるので、同一の構成要素には同一の符号を付して示し、詳細な説明は省略する。
解析結果表示プログラム220は、図2に示すパソコン10のメモリに格納されており、CPUによってメインメモリにロードされ実行され、図9に示すイベントパターン解析テーブル150の情報とバッファ170に記録されるトレースデータの情報を、表示装置のパソコン10のディスプレイ10d(図2参照)に表示する。
なお、ディスプレイ10dに表示される情報は、パソコン10に接続された出力装置の図示しないプリンタで印刷可能であるとともに、磁気記憶媒体等に格納できることは勿論である。
<作用効果>
第2実施形態によれば、一般的な方式で記録した解析対象プログラム100の実行動作のトレースデータファイルに対しても解析可能となり、不具合発生ポイントを見つけ易くなる。
また、図9に示すイベントパターン解析テーブル150とバッファ170(図11参照)に記録されるログのトレースデータの情報が、表示装置のディスプレイ10dに表示されるので、解析対象プログラム100の不具合の解析が容易に行なえる。
以上、第1、第2実施形態に説明したことから、本発明は、解析対象のプログラムの再現率の低い不具合に対して、少ないメモリでも動作解析に必要なトレースデータを記録でき、効率的に解析を行うための解析支援技術を提供することが可能である。
本発明の第1実施形態に関わる解析対象プログラムの実行時の動作をトレースデータ記録システムにて記録するための構成を示すシステム構成図である。 第1実施形態のトレースデータ記録システム稼動させるハードウェア構成の1例を示す概念図である。 第1実施形態の解析対象プログラムのシステムのハードウェアを示す斜視図である。 第1実施形態の解析対象プログラムの処理フローを示す図である。 (a)は、第1実施形態の解析対象プログラムのパターンAの動作を示す図であり、(b)は、第1実施形態の解析対象プログラムのパターンBの動作を示す図であり、 (c)は、第1実施形態の解析対象プログラムのパターンCの動作を示す図である。 図5の解析対象プログラムの動作をイベントとしてリストで表現した図である。 第1実施形態のプログラムの動作をイベントコードとしてプログラムで扱うためのイベントコード対応表を示す図である。 第1実施形態の解析対象登録テーブルを表した図である。 第1実施形態のイベントパターン解析テーブルを表した図である。 第1実施形態のイベントパターン解析プログラムの処理フローを示す流れ図である。 第2実施形態に関わる解析対象プログラムの実行時の動作をトレースデータ記録システムにて記録し表示するための構成を示すシステム構成図である。
符号の説明
100 解析対象プログラム
120 イベントパターン解析プログラム(請求項6、請求項7、および請求項9のプログラム)
151 イベントパターンリスト(イベントパターンリスト部)
152 発生頻度管理テーブル(発生頻度管理部)
200 トレースデータファイル(トレースデータ記憶部)
170 バッファ(一時記憶部)
220 解析結果表示プログラム(請求項8、請求項10のプログラム)
410 パターンA(イベントパターン)
420 パターンB(イベントパターン)
430 パターンC(イベントパターン、発生頻度の低いイベントパターン)
721c 発生間隔(イベントパターン毎の発生頻度)

Claims (10)

  1. イベント情報記録プログラムとイベントパターン解析プログラムとが、コンピュータに、記憶部のイベントパターンリスと発生頻度管理テーブルと複数のバッファとを用いて、解析対象プログラムの実行動作を解析させるためのトレースデータ解析方法であって、
    前記イベント情報記録プログラムが、前記コンピュータに、前記複数のバッファのうちから選択バッファに、前記解析対象プログラムの実行時のトレースデータをイベント情報として逐次記録させる工程と、
    前記イベントパターン解析プログラムが、前記コンピュータに、前記イベント情報における発生したイベントパターンを前記イベントパターンリスに記憶させるとともに、前記発生したイベントパターン毎の発生頻度を前記発生頻度管理テーブルに記憶させる記憶工程と、
    前記イベントパターン解析プログラムが、前記コンピュータに、前記発生頻度の低い前記イベントパターンを含むイベント情報を前記バッファに記録し残すように、前記イベント情報が記録される複数のバッファのうちから前記発生頻度が最も高いイベントパターンを有する前記イベント情報が記録されるバッファを、前記実行時のトレースデータをイベント情報として逐次記録するために選択させる選択工程とを
    含むことを特徴とするトレースデータ解析方法。
  2. イベント情報記録プログラムとイベントパターン解析プログラムとが、コンピュータに、記憶部のイベントパターンリスと発生頻度管理テーブルと複数のバッファとを用いて、解析対象プログラムの実行動作を解析させるためのトレースデータ解析方法であって、
    前記イベント情報記録プログラムが、前記コンピュータに、前記複数のバッファのうちから選択バッファに、前記解析対象プログラム実行時のイベント情報が予め記録されたトレースデータファイルから読込んだ前記イベント情報を逐次記録させる工程と、
    前記イベントパターン解析プログラムが、前記コンピュータに、前記読込んだイベント情報における発生したイベントパターンを前記イベントパターンリスに記憶させる記憶工程と、
    前記イベントパターン解析プログラムが、前記コンピュータに、前記イベントパターン毎の発生頻度を発生頻度管理テーブルに記憶させるとともに、前記発生頻度の低い前記イベントパターンを含むイベント情報を残すように、前記イベント情報が記録される複数の前記バッファのうちから前記発生頻度が最も高いイベントパターンを含むイベント情報が記録されるバッファを、前記実行時のイベント情報を逐次記録するために選択させる選択工程とを
    含むことを特徴とするトレースデータ解析方法。
  3. 請求項1または請求項2に記載のトレースデータ解析方法において、
    解析結果表示プログラムが、前記コンピュータに、
    前記イベントパターンリストおよび前記発生頻度管理テーブルの情報と前記バッファの情報とを表示させる工程を含む
    ことを特徴とするトレースデータ解析方法。
  4. 請求項1または請求項2に記載のトレースデータ解析方法において、
    前記イベントパターン解析プログラムが、前記コンピュータに、
    前記記憶工程において、同一の前記イベントパターンが発生するまでの時間間隔を前記発生頻度管理テーブルに記憶させ
    前記選択工程において、発生する時間間隔が長い前記イベントパターンを含むイベント情報を残すように、前記複数のバッファのうちから前記イベント情報を逐次記録する前記バッファを選択させ
    ことを特徴とするトレースデータ解析方法。
  5. 請求項1または請求項2に記載のトレースデータ解析方法において、
    前記イベントパターン解析プログラムが、前記コンピュータに、
    前記記憶工程において、同じ前記イベントパターンが発生するイベント回数を前記発生頻度管理テーブルに記憶させ
    前記選択工程において、前記イベント回数が少ない前記イベントパターンを含むイベント情報を残すように、前記複数のバッファのうちから前記イベント情報を逐次記録する前記バッファを選択させ
    ことを特徴とするトレースデータ解析方法。
  6. 解析対象プログラムの実行動作を解析するためのイベント情報記録プログラムとイベントパターン解析プログラムとを有するプログラムであって、
    前記イベント情報記録プログラムが、コンピュータに、前記解析対象プログラムの実行時のイベント情報を、選択したバッファに逐次記録させる手順、
    前記イベントパターン解析プログラムが、前記コンピュータに、前記解析対象プログラムの実行時のイベント情報に同一のイベントパターンが発生する時間間隔を各前記同一のイベントパターン毎に発生頻度管理テーブルに記憶させる手順、および
    前記イベントパターン解析プログラムが、前記コンピュータに、前記時間間隔の長い前記イベントパターンを含むイベント情報を残すように、前記イベント情報が記録された複数のバッファのうちから前記時間間隔の最も短い前記イベントパターンを含むイベント情報が記録されるバッファを、前記実行時のイベント情報を逐次記録するために選択させる手順を
    実行させるためのプログラム。
  7. 解析対象プログラムの実行動作を解析するためのイベント情報記録プログラムとイベントパターン解析プログラムとを有するプログラムであって、
    前記イベント情報記録プログラムが、コンピュータに、前記解析対象プログラムの実行時のイベント情報を、選択したバッファに逐次記録させる手順、
    前記イベントパターン解析プログラムが、前記コンピュータに、前記解析対象プログラムの実行時のイベント情報に同じイベントパターンが発生するイベント回数を各前記同じイベントパターン毎に発生頻度管理テーブルに記憶させる手順、および
    前記イベントパターン解析プログラムが、前記コンピュータに、前記イベント回数の少ないイベントパターンを含むイベント情報を残すように、前記イベント情報が記録された複数のバッファのうちから前記イベント回数が最も多いイベントパターンを含むイベント情報が記録されるバッファを、前記実行時のイベント情報を逐次記録するために選択させる手順を
    実行させるためのプログラム。
  8. 請求項6または請求項7に記載のプログラムにおいて、
    前記プログラムは、解析結果表示プログラムを有し、
    前記解析結果表示プログラムが、前記コンピュータに、
    前記発生頻度管理テーブルの情報と前記バッファの情報とを表示させる手順を
    実行させるためのプログラム。
  9. 請求項6または請求項7に記載のプログラムにおいて、
    前記イベントパターン解析プログラムが、前記コンピュータに、
    前記イベントパターンを記憶部のイベントパターンリストに記憶させる手順を
    実行させるためのプログラム。
  10. 請求項9に記載のプログラムにおいて、
    前記プログラムは、解析結果表示プログラムを有し、
    前記解析結果表示プログラムが、前記コンピュータに、
    前記イベントパターンリストの情報と前記バッファの情報とを表示させる手順を
    実行させるためのプログラム。
JP2008065687A 2008-03-14 2008-03-14 トレースデータ解析方法およびそのプログラム Expired - Fee Related JP4906760B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2008065687A JP4906760B2 (ja) 2008-03-14 2008-03-14 トレースデータ解析方法およびそのプログラム

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2008065687A JP4906760B2 (ja) 2008-03-14 2008-03-14 トレースデータ解析方法およびそのプログラム

Publications (2)

Publication Number Publication Date
JP2009223487A JP2009223487A (ja) 2009-10-01
JP4906760B2 true JP4906760B2 (ja) 2012-03-28

Family

ID=41240218

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2008065687A Expired - Fee Related JP4906760B2 (ja) 2008-03-14 2008-03-14 トレースデータ解析方法およびそのプログラム

Country Status (1)

Country Link
JP (1) JP4906760B2 (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10496520B2 (en) 2014-11-17 2019-12-03 International Business Machines Corporation Request monitoring to a code set

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP4891388B2 (ja) * 2009-12-28 2012-03-07 株式会社エスディー システムイベントログシステム
JP5196596B2 (ja) * 2010-03-19 2013-05-15 Necシステムテクノロジー株式会社 障害検知システム、障害検知サーバ、及び、障害検知方法
JP6287446B2 (ja) 2014-03-26 2018-03-07 富士通株式会社 データ処理装置及びデータ処理装置の制御方法
JP5936241B2 (ja) 2014-09-26 2016-06-22 インターナショナル・ビジネス・マシーンズ・コーポレーションInternational Business Machines Corporation 解析システム、解析方法およびプログラム

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH08137717A (ja) * 1994-11-08 1996-05-31 Toshiba Corp デバッグ方法及び装置
JP2001014027A (ja) * 1999-06-30 2001-01-19 Mitsubishi Electric Corp プロセス制御コントローラの故障解析支援システム
JP4746850B2 (ja) * 2004-06-21 2011-08-10 富士通株式会社 パターン生成プログラム

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10496520B2 (en) 2014-11-17 2019-12-03 International Business Machines Corporation Request monitoring to a code set

Also Published As

Publication number Publication date
JP2009223487A (ja) 2009-10-01

Similar Documents

Publication Publication Date Title
CN102184138B (zh) 一种软件错误自动重现和定位的方法及系统
JP4906760B2 (ja) トレースデータ解析方法およびそのプログラム
CN104204975B (zh) 定序程序调试辅助装置
US20210064512A1 (en) Selective memory tracing of program execution
CN103186461A (zh) 一种现场数据的保存方法和恢复方法以及相关装置
US8949672B1 (en) Analyzing a dump file from a data storage device together with debug history to diagnose/resolve programming errors
CN111108481B (zh) 故障分析方法及相关设备
JP2015525930A (ja) 開いているファイルの履歴閲覧
CN109934956B (zh) 一种飞参数据判读方法、系统、设备及介质
CN102467935A (zh) 磁盘定位系统及方法
US9189372B2 (en) Trace coverage analysis
CN112527568A (zh) 数据流量测试方法、装置、电子设备及存储介质
CN106997199A (zh) 梯形程序显示装置
CN112835779A (zh) 测试用例确定方法、装置、计算机设备
JP4963847B2 (ja) ログ情報管理方式
CN113377719B (zh) 一种系统异常关机时间获取方法及系统
CN107885648B (zh) 一种生成测试报告的方法和装置
CN112740187A (zh) 调试程序的方法和系统
CN112486785B (zh) 一种服务器定位宕机阶段的方法、系统、终端及存储介质
JP2009223714A (ja) 演算回路及び演算回路の異常解析方法
CN101060686B (zh) 一种移动终端中异常诊断和错误环境再现的方法及装置
JP6036089B2 (ja) データ遷移トレース装置、データ遷移トレース方法、及び、データ遷移トレースプログラム
JPH11188584A (ja) 稼動管理装置および稼動管理方法、記憶媒体
JP2020061073A (ja) シミュレーション装置、およびシミュレーション方法
CN116340410B (zh) 配网带电作业机器人的数据处理方法、装置及服务器

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20091104

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20110207

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20110920

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20111121

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: 20111213

A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20120110

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20150120

Year of fee payment: 3

R150 Certificate of patent or registration of utility model

Free format text: JAPANESE INTERMEDIATE CODE: R150

S531 Written request for registration of change of domicile

Free format text: JAPANESE INTERMEDIATE CODE: R313531

S533 Written request for registration of change of name

Free format text: JAPANESE INTERMEDIATE CODE: R313533

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350

LAPS Cancellation because of no payment of annual fees