JP5421735B2 - コアファイル取得装置、コアファイル取得方法及びコアファイル取得プログラム - Google Patents

コアファイル取得装置、コアファイル取得方法及びコアファイル取得プログラム Download PDF

Info

Publication number
JP5421735B2
JP5421735B2 JP2009259682A JP2009259682A JP5421735B2 JP 5421735 B2 JP5421735 B2 JP 5421735B2 JP 2009259682 A JP2009259682 A JP 2009259682A JP 2009259682 A JP2009259682 A JP 2009259682A JP 5421735 B2 JP5421735 B2 JP 5421735B2
Authority
JP
Japan
Prior art keywords
core file
stack frame
program
core
unit
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
JP2009259682A
Other languages
English (en)
Other versions
JP2011107813A (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.)
Nippon Telegraph and Telephone Corp
Original Assignee
Nippon Telegraph and Telephone Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Nippon Telegraph and Telephone Corp filed Critical Nippon Telegraph and Telephone Corp
Priority to JP2009259682A priority Critical patent/JP5421735B2/ja
Publication of JP2011107813A publication Critical patent/JP2011107813A/ja
Application granted granted Critical
Publication of JP5421735B2 publication Critical patent/JP5421735B2/ja
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Debugging And Monitoring (AREA)

Description

本発明は、プログラムに故障が発生したときの実行環境情報をコアファイルに出力する技術に関する。
実行中のプログラムに故障が発生したときのメモリの内容などをファイルとして保存することで、後でそのファイルを解析して故障発生時のプログラムの実行状態や故障の原因を調査することが可能となる。故障発生時の実行環境情報を保存したファイルのことをコアファイルといい、コアファイルを取得することをコアダンプという(非特許文献1参照)。また、コアファイルの解析を効率化する技術も知られている(非特許文献2参照)。
"Debugging with GDB 10.17 How to Produce a Core File from Your Program", [online], [平成21年10月30日検索], インターネット〈URL:http://sourceware.org/gdb/current/onlinedocs/gdb.html〉 "OSS性能・信頼性評価/障害解析ツール開発 OS層 〜Alicia編〜", [online], [平成21年10月30日検索], インターネット〈URL:http://www.ipa.go.jp/software/open/forum/development/download/051115/OS-Alicia.pdf〉
しかしながら、従来の技術では、プログラムが利用している全てのメモリ内の情報をダンプ対象とするため、コアファイルの取得に膨大な時間がかかったり、コアファイルのサイズが巨大化するという問題があった。非特許文献2は、コアファイルの解析を効率化するものであるが、コアファイルの取得時間やサイズを縮小する効果はない。
コアファイルに出力するダンプ対象を指定してファイルサイズを縮小することが考えられるが、ダンプ対象を効果的に指定しないと、解析に必要な情報を対象外としたり、ダンプ対象が多くてファイルサイズをあまり縮小できない可能性もある。
本発明は、上記に鑑みてなされたものであり、その目的とするところは、コアダンプ時間の短縮、コアファイルのサイズの縮小を実現することにある。
第1の本発明に係るコアファイル取得装置は、プログラムを実行する実行手段と、プログラムの故障を検知する検知手段と、検知手段がプログラムの故障を検知したときに、実行手段からソースファイル名を含む各スタックフレームの実行位置情報を取得する取得手段と、ダンプ対象判定条件としてソースファイル名を記載した設定情報を格納した記憶手段と、スタックフレーム毎に、当該スタックフレームの実行位置情報と記憶手段から読み出した設定情報に記載されたダンプ対象判定条件とを比較して当該スタックフレームがダンプ対象であるか否か判定する判定手段と、判定手段がダンプ対象であると判定したスタックフレームから参照可能な情報を再帰的に全て辿って実行手段から取得してコアファイルに出力する出力手段と、を有することを特徴とする。
上記コアファイル取得装置において、判定手段は、検知手段がプログラムの故障を検知したときに、設定情報を記憶手段から読み出すことを特徴とする。
第2の本発明に係るコアファイル取得方法は、実行手段が実行するプログラムの故障を検知するステップと、プログラムの故障を検知したときに、実行手段からソースファイル名を含む各スタックフレームの実行位置情報を取得するステップと、ダンプ対象判定条件としてソースファイル名を記載した設定情報を格納した記憶手段から当該設定情報を読み出すステップと、スタックフレーム毎に、当該スタックフレームの実行位置情報とダンプ対象判定条件とを比較して当該スタックフレームがダンプ対象であるか否か判定するステップと、ダンプ対象であると判定したスタックフレームから参照可能な情報を再帰的に全て辿って実行手段から取得してコアファイルに出力するステップと、を有することを特徴とする。
上記コアファイル取得方法において、プログラムの故障を検知したときに、記憶手段から設定情報を読み出すことを特徴とする。
第3の本発明に係るコアファイル取得プログラムは、上記コアファイル取得装置を構成する各手段としてコンピュータを機能させることを特徴とする。
本発明によれば、コアダンプ時間の短縮、コアファイルのサイズの縮小を実現することができる。
実施例1におけるコアファイル取得装置の構成を示す機能ブロック図である。 実施例1におけるコアファイル取得装置の処理の流れを示すフローチャートである。 上記コアファイル取得装置によりコアファイルに出力される情報を説明するための概略説明図である。 実施例2におけるコアファイル取得装置の構成を示す機能ブロック図である。 実施例2におけるコアファイル取得装置の処理の流れを示すフローチャートである。
以下、本発明の実施の形態について図面を用いて説明する。
図1は、実施例1におけるコアファイル取得装置の構成を示す機能ブロック図である。同図に示すコアファイル取得装置1は、実行部11、検知部12、取得部13、判定部14、および記憶部15を備える。以下、各部の詳細について説明する。
実行部11は、演算処理装置、メモリ等を備え、コアダンプ取得対象プログラムを実行する。コアダンプ取得対象プログラム内で故障が発生すると、実行部11は検知部12に故障発生通知を送信する。コアダンプ取得対象プログラム内で発生する故障は、例えば、変数の値が不正な値になることなどである。
検知部12は、実行部11から故障発生通知を受信することでコアダンプ取得対象プログラムの故障を検知し、取得部13へコアファイル取得要求を発行する。故障発生通知およびコアファイル取得要求には、コアダンプ取得対象プログラムを識別する識別子が含まれる。なお、検知部12が実行部11にアクセスして故障を検知するものでもよい。
取得部13は、検知部12からのコアファイル取得要求に応じてコアダンプ取得対象プログラムに接続し、スタックフレームの実行位置情報を取得する。そして、スタックフレーム単位でダンプ対象であるか否かを判定部14に問い合わせ、ダンプ対象と判定されたスタックフレームから参照可能な情報を実行部11から取得してコアファイル151に出力する。スタックフレームは、メソッドが呼び出されたときに実行部11のメモリに確保される記憶領域であり、メソッド内で利用される変数などの情報が格納される。メソッド内で別のメソッドを呼び出すと別のメソッド用のスタックフレームがメモリに確保される。スタックフレームの実行位置情報は、ソースファイル名、ソースファイル中の行番号、クラス名、メソッド名などの情報を含み、コアダンプ取得対象プログラムの現在の実行位置を知ることができる情報である。スタックフレームから参照可能な情報は主に変数であり、スタックフレーム内の変数だけでなく、スタックフレーム内の変数が参照し、その変数から辿ることができる変数もコアファイル151に出力する参照可能な情報である。
判定部14は、取得部13が指定したスタックフレームがダンプ対象であるか否かを判定する。スタックフレームがダンプ対象であるか否かの判定は、取得部13から判定するスタックフレームの実行位置情報を受信し、受信した実行位置情報と記憶部15に格納された設定ファイル152とを比較することで行う。設定ファイル152には、ダンプ対象から除外するソースファイル名、クラス名の一部などのダンプ対象判定条件が記載されている。例えば、あるスタックフレームの実行位置情報のソースファイル名が設定ファイル152に除外対象として記載されている場合は、そのスタックフレームはダンプ対象ではないと判定する。また、設定ファイル152にソースファイル名に加えてクラス名の一部が記載されているときは、ソースファイル名が一致し、さらに、実行位置情報のクラス名が設定ファイル152に記載されたクラス名の一部を含む場合は、そのスタックフレームはダンプ対象ではないと判定する。なお、判定部14が故障発生前に設定ファイル152を取得してもよいが、検知部12が故障発生通知を受信したときに判定部14が設定ファイル152を取得する場合は、コアダンプ取得対象プログラム内で故障が発生するまでは設定ファイル152を取得しないので、実際に検知部12が故障を検知するまではコアダンプ取得対象プログラムの挙動への影響がほとんどない。
記憶部15は、上述した設定ファイル152を記憶するのに加えて、取得部13が出力した情報をコアファイル151に記憶する。
次に、コアファイル取得装置1の処理の流れについて説明する。図2は、実施例1におけるコアファイル取得装置1の処理の流れを示すフローチャートである。
まず、検知部12が実行部11から故障発生通知を受信してコアダンプ取得対象プログラムの故障を検知すると、検知部12は、取得部13へコアファイル取得要求を発行する(ステップS11)。取得部13がコアファイル取得要求を受信すると、取得部13は、コアダンプ取得対象プログラムに接続してコアファイル取得対象プログラムの動作を停止させ、全スタックフレームを列挙し、スタックフレーム毎に以下の処理を行う。
取得部13は、スタックフレームの実行位置情報を実行部11から取得する(ステップS12)。取得した実行位置情報は、記憶部15のコアファイル151に出力する。実行位置情報の取得時間もサイズも他のダンプする情報に比べてかなり小さいため、本実施例では、ダンプ対象であるか否かに関わらず、全てのスタックフレームの実行位置情報をコアファイル151に出力する。もちろん、ダンプ対象と判定されたスタックフレームの実行位置情報のみをコアファイル151に出力するものでもよい。
その後、取得部13が実行位置情報を判定部14に渡すと、判定部14は実行位置情報と設定ファイル152のダンプ対象判定条件とを比較してスタックフレームがダンプ対象であるか否か判定する(ステップS13)。スタックフレームがダンプ対象でない場合は、次のスタックフレームを処理するためにステップS15へ進む。
スタックフレームがダンプ対象の場合、取得部13は、そのスタックフレームから参照可能な情報を実行部11から取得してコアファイル151に出力する(ステップS14)。
そして、全てのスタックフレームについて処理したか否か判定する(ステップS15)。まだ処理していないスタックフレームが存在する場合はステップS12へ戻る。全てのスタックフレームについて処理したときは、コアファイル取得装置1の処理を終了する。
図3は、コアファイル取得装置1によりコアファイル151に出力される情報を説明するための概略説明図である。図3に示す例では、#0から#4の5つのスタックフレームが列挙される。スタックフレームの右側に示す○印は、スタックフレームから辿ることができる情報を示している。列挙したスタックフレームのうち、#0,#3は他社プログラムによるスタックフレームである。#0,#3のスタックフレームをダンプ対象外とすると、そこからのみ参照されている情報のダンプを除外できる。図3では、白○印で示す情報がダンプされ、網掛け○印で示す情報はダンプされない。ダンプ対象外スタックフレーム(例えば#0)から参照される情報であっても、ダンプ対象スタックフレーム(例えば#1)から参照可能な情報であればコアファイル151に出力される。
スタックフレームから参照可能な情報は、スタックフレームが保持する情報だけでなく、その情報が参照する情報も含む。したがって、取得部13は、スタックフレームから情報を辿ってコアファイル151に出力する。具体的には、ある変数が別の変数を有する場合は別の変数もコアファイル151に出力し、その別の変数がさらに別の変数を有する場合はさらに別の変数もコアファイル151に出力する。情報の参照関係もコアファイル151に出力する。
図4は、実施例2のコアファイル取得装置の構成を示す機能ブロック図である。同図に示すコアファイル取得装置100は、JVM(Java Virtual Machine)110、故障検知部120、コアファイル取得部130、およびダンプ対象判定部140を備え、二次記憶装置150に接続されている。
JVM110は、Java(登録商標)言語で記述されたプログラム111を実行する仮想マシンである。プログラム111内で故障が発生すると、故障検知部120に故障発生通知を送信する。故障の検知は、例えばJavaの例外キャッチ命令であるcatch節の中に故障発生通知送信機能を記述することで実現できる。また、if文を用いて変数値の異常を故障として判定し、故障発生通知を送信することでも実現できる。他にも、アスペクト指向を用い、ある条件を満たす場合を故障として検知する方法や、BCI(Byte Code Instrumentation)を用いて故障を検知する方法がある。
故障検知部120は、故障発生通知を受信すると、コアファイル取得部130へコアファイル取得要求を発行するとともに、ダンプ対象判定部140へ初期化要求を発行する。
コアファイル取得部130は、故障検知部120からのコアファイル取得要求に応じてJVM110を介してプログラム111に接続し、スタックフレーム単位でダンプ対象であるか否かをダンプ対象判定部140に問い合わせ、ダンプ対象と判定されたスタックフレームから参照可能な情報を取得してコアファイル151に出力する。プログラム111により複数のスレッドが実行される場合は、全スレッドそれぞれの全スタックフレームそれぞれについてダンプ対象であるか否かを問い合わせる。コアファイル取得部130は、スタックフレームの実行位置情報(パッケージ名、ソースファイル名、ソースファイル中の行番号、クラス名、メソッド名など)を取得し、実行位置情報をダンプ対象判定部140に渡して、そのスタックフレームがダンプ対象であるか否かを問い合わせる。
本実施例では、プログラム111に接続する方法として、JDI(Java Debug Interface)を用いる。プログラムがJava言語で記述されたものであれば、JVMDI(Java Virtual Machine Debug Interface)やJDWP(Java Debug Wire Protocol)も用いることができる。プログラムがC言語で記述されたものであれば、ptraceシステムコールや、ptraceを使用して作られたgdbを用いることができる。
ダンプ対象判定部140は、コアファイル取得部130が指定したスタックフレームがダンプ対象であるか否かを判定する。本実施例では、スタックフレームの実行位置情報のクラス名が設定ファイル152に記載されたクラス名の一部を含む場合に、そのスタックフレームはダンプ対象ではないと判定する。つまり、スタックフレームの実行位置情報のクラス名が設定ファイル152に記載されたクラス名の一部を含まない場合に、そのスタックフレームはダンプ対象となる。なお、ダンプ対象であるか否かの判定条件に、パッケージ名、ソースファイル名、ソースファイル中の行番号、あるいはメソッド名を用いてもよい。もちろん、ダンプ対象の判定条件に正規表現を用いることも、行番号の大小関係を用いることも可能である。
ダンプ対象判定部140は、故障検知部120からの初期化要求に応じて二次記憶装置150から設定ファイル152を読み出し、ダンプ対象判定部140の有するメモリにロードする。
二次記憶装置150は、ダンプ対象の判定条件を記載した設定ファイル152を記憶し、コアファイル取得部130が出力した情報をコアファイル151として記憶する。
次に、コアファイル取得装置100の処理の流れについて説明する。図5は、本実施例におけるコアファイル取得装置100の処理の流れを示すフローチャートである。
まず、故障検知部120が故障発生通知を受信してプログラム111の故障を検知すると、故障検知部120は、コアファイル取得部130へコアファイル取得要求を発行するとともに、ダンプ対象判定部140へ初期化要求を発行する(ステップS101)。ダンプ対象判定部140は、初期化要求に応じて二次記憶装置150から設定ファイル152のダンプ対象判定条件を読み出す。
コアファイル取得部130がコアファイル取得要求を受信すると、コアファイル取得部130はプログラム111にデバッガのAPIを経由してアタッチする(ステップS102)。コアファイル取得部130は、プログラム111にアタッチ後、プログラム111の動作を停止させ、JDIの VirtualMachine.allThreads() メソッドを利用してプログラム111の全スレッドを列挙し、スレッド毎に以下の処理を行う。
コアファイル取得部130は、対象スレッドのスレッドID、スレッド名、モニター取得待ちオブジェクト、およびモニターを保持しているオブジェクト一覧を取得し、ダンプ情報として二次記憶装置150のコアファイル151に出力する(ステップS103)。スレッドに関する情報は全てJDIのAPIにより取得可能である。コアファイル取得部130は、対象スレッドについて、JDIの ThreadReference.frames() メソッドを利用して全スタックフレームを列挙し、スタックフレーム毎に以下の処理を行う。
コアファイル取得部130は、スタックフレームの実行位置情報(パッケージ名、ソースファイル名、ソースファイル中の行番号、クラス名、メソッド名)を取得し、スタックフレーム情報として二次記憶装置150のコアファイル151に出力する(ステップS104)。本実施例では、スタックフレームがダンプ対象であるか否かに関わらず、取得した実行位置情報をコアファイル151に出力する。
コアファイル取得部130が実行位置情報をダンプ対象判定部140に渡すと、ダンプ対象判定部140は実行位置情報とダンプ対象判定条件とを比較してスタックフレームがダンプ対象であるか否かを判定する(ステップS105)。そのスタックフレームがダンプ対象でない場合は、次のスタックフレームを処理するためにステップS110へ進む。
スタックフレームがダンプ対象の場合、コアファイル取得部130は、JDIの StackFrame.visibleVariables() メソッドを利用し、そのスタックフレームが保持する全変数を列挙し、列挙した変数のうち、プリミティブ型変数をコアファイル151に出力する(ステップS106)。プリミティブ型変数とは整数値、浮動小数値、あるいは文字値などを値として持ち、他の変数を値として持たない変数である。一方、プリミティブ型変数以外の変数としてオブジェクト型変数が存在する。オブジェクト型変数は、プリミティブ型変数や別のオブジェクト型変数など他の変数を持つ変数である。
続いて、列挙した変数のうち、オブジェクト型変数のオブジェクトID、型名、文字列表現値をオブジェクト情報としてコアファイル151に出力する(ステップS107)。オブジェクト型変数の情報は、JDIの ObjectReference.uniqueID() メソッド、ObjectReference.referenceType().name() メソッド、および ObjectReference.toString() メソッドにより取得する。
そして、JDIの StackFrame.visibleVariables() メソッドを利用し、オブジェクト型変数が保持する全メンバ変数を列挙し、列挙した変数のうち、プリミティブ型変数をコアファイル151に出力する(ステップS108)。メンバ変数にオブジェクト型変数が存在する場合は(ステップS109)、そのオブジェクト型変数に対してステップS107以降の処理を再帰的に実行する。
スタックフレームから辿ることができる全ての変数の出力が終わると、全てのスタックフレームについて処理したか否か判定し(ステップS110)、まだ処理していないスタックフレームが存在する場合はステップS104へ戻る。
全てのスタックフレームについて処理した場合には、全てのスレッドについて処理したか否か判定し(ステップS111)、まだ処理していないスレッドが存在する場合はステップS103へ戻る。全てのスレッドについて処理したときは、コアファイル取得装置100の処理を終了する。
なお、実施例1,2に示したコアファイル取得装置が備える各部は、演算処理装置、記憶装置、メモリ等を備えたコンピュータにより構成して、各部の処理がプログラムによって実行されるものとしてもよい。このプログラムはコアファイル取得装置が備える記憶装置に記憶されており、磁気ディスク、光ディスク、半導体メモリ等の記録媒体に記録することも、ネットワークを通して提供することも可能である。また、各実施例のコアファイル取得装置の構成は一例であり、各部を別々のコンピュータにより構成してもよい。
以上説明したように、全てのスタックフレームを列挙し、スタックフレーム毎にダンプ対象であるか否かを判断し、ダンプ対象と判定されたスタックフレームから参照可能な情報のみコアファイルに出力することで、コアファイルのサイズを縮小し、コアダンプ時間を短縮することが可能となる。スタックフレーム単位でダンプの要否が指定可能であるので、例えば、外部ライブラリ等のスタックフレームを除外することで、つまり、相対的に故障する可能性の高いライブラリ等のスタックフレームをダンプ対象とすることで、プログラムの故障の解析に必要な情報の全てを残しつつ、コアファイルのサイズを縮小することができる。
1…コアファイル取得装置
11…実行部
12…検知部
13…取得部
14…判定部
15…記憶部
100…コアファイル取得装置
110…JVM
111…プログラム
120…故障検知部
130…コアファイル取得部
140…ダンプ対象判定部
150…二次記憶装置
151…コアファイル
152…設定ファイル

Claims (5)

  1. プログラムを実行する実行手段と、
    前記プログラムの故障を検知する検知手段と、
    前記検知手段が前記プログラムの故障を検知したときに、前記実行手段からソースファイル名を含む各スタックフレームの実行位置情報を取得する取得手段と、
    ダンプ対象判定条件としてソースファイル名を記載した設定情報を格納した記憶手段と、
    前記スタックフレーム毎に、当該スタックフレームの実行位置情報と前記記憶手段から読み出した前記設定情報に記載された前記ダンプ対象判定条件とを比較して当該スタックフレームがダンプ対象であるか否か判定する判定手段と、
    前記判定手段がダンプ対象であると判定した前記スタックフレームから参照可能な情報を再帰的に全て辿って前記実行手段から取得してコアファイルに出力する出力手段と、
    を有することを特徴とするコアファイル取得装置。
  2. 前記判定手段は、前記検知手段が前記プログラムの故障を検知したときに、前記設定情報を前記記憶手段から読み出すことを特徴とする請求項1記載のコアファイル取得装置。
  3. 実行手段が実行するプログラムの故障を検知するステップと、
    前記プログラムの故障を検知したときに、前記実行手段からソースファイル名を含む各スタックフレームの実行位置情報を取得するステップと、
    ダンプ対象判定条件としてソースファイル名を記載した設定情報を格納した記憶手段から当該設定情報を読み出すステップと、
    前記スタックフレーム毎に、当該スタックフレームの実行位置情報と前記ダンプ対象判定条件とを比較して当該スタックフレームがダンプ対象であるか否か判定するステップと、
    ダンプ対象であると判定した前記スタックフレームから参照可能な情報を再帰的に全て辿って前記実行手段から取得してコアファイルに出力するステップと、
    を有することを特徴とするコアファイル取得方法。
  4. 前記プログラムの故障を検知したときに、前記記憶手段から前記設定情報を読み出すことを特徴とする請求項3記載のコアファイル取得方法。
  5. 請求項1又は2に記載のコアファイル取得装置を構成する各手段としてコンピュータを機能させるためのコアファイル取得プログラム。
JP2009259682A 2009-11-13 2009-11-13 コアファイル取得装置、コアファイル取得方法及びコアファイル取得プログラム Expired - Fee Related JP5421735B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2009259682A JP5421735B2 (ja) 2009-11-13 2009-11-13 コアファイル取得装置、コアファイル取得方法及びコアファイル取得プログラム

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2009259682A JP5421735B2 (ja) 2009-11-13 2009-11-13 コアファイル取得装置、コアファイル取得方法及びコアファイル取得プログラム

Publications (2)

Publication Number Publication Date
JP2011107813A JP2011107813A (ja) 2011-06-02
JP5421735B2 true JP5421735B2 (ja) 2014-02-19

Family

ID=44231236

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2009259682A Expired - Fee Related JP5421735B2 (ja) 2009-11-13 2009-11-13 コアファイル取得装置、コアファイル取得方法及びコアファイル取得プログラム

Country Status (1)

Country Link
JP (1) JP5421735B2 (ja)

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2007172414A (ja) * 2005-12-23 2007-07-05 Fuji Soft Inc 組込機器向けのコンパクトコアダンププログラム及びコンパクトコアダンプを用いた方法
JP2008186378A (ja) * 2007-01-31 2008-08-14 Ipride Co Ltd 例外に対処するためのプログラム

Also Published As

Publication number Publication date
JP2011107813A (ja) 2011-06-02

Similar Documents

Publication Publication Date Title
EP3660684B1 (en) Efficient and comprehensive source code fuzzing
JP5978401B2 (ja) 分散システムにおいてユーザリクエストの実行を監視するための方法及びシステム
US8386851B2 (en) Functional coverage using combinatorial test design
JP5523872B2 (ja) プログラムの動的分析方法及びその装置
US8448142B2 (en) Incremental runtime compliance validation of renderable objects
US6769077B2 (en) System and method for remotely creating a physical memory snapshot over a serial bus
JP5723208B2 (ja) コールバックを用いたソフトウェアの動的計測のためのフェイルセーフメカニズム
US20080270840A1 (en) Device and method for testing embedded software using emulator
US8291379B2 (en) Runtime analysis of a computer program to identify improper memory accesses that cause further problems
CN105426310B (zh) 一种检测目标进程的性能的方法和装置
JP5208635B2 (ja) プログラミングを支援するための情報処理装置、情報処理システム、プログラミング支援方法およびプログラム
US20080276129A1 (en) Software tracing
JP5905911B2 (ja) シングルステップ実行を用いる診断コード
US9459991B2 (en) Heap dump object identification in a heap dump analysis tool
JP2006185211A (ja) プログラム解析装置、テスト実行装置、その解析方法及びプログラム
US8752027B2 (en) Injecting faults into program for testing software
US20150006961A1 (en) Capturing trace information using annotated trace output
JP2010033543A (ja) ソフトウエア動作監視システム、そのクライアントコンピュータおよびサーバコンピュータ、並びに、そのプログラム
JP5495310B2 (ja) 情報処理装置、障害解析方法及び障害解析プログラム
US8533683B2 (en) Stack walking enhancements using sensorpoints
US9842044B2 (en) Commit sensitive tests
US10713145B2 (en) Automated debugging with combined static and dynamic analysis
CN109992511B (zh) 获取代码测试覆盖率的装置及方法
JP2007199845A (ja) メモリ破壊検出方法および装置
US8312433B2 (en) Operating system aided code coverage

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20120307

RD03 Notification of appointment of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7423

Effective date: 20120510

RD04 Notification of resignation of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7424

Effective date: 20120514

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20130529

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20130604

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20130801

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20131119

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20131122

R150 Certificate of patent or registration of utility model

Ref document number: 5421735

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

S531 Written request for registration of change of domicile

Free format text: JAPANESE INTERMEDIATE CODE: R313531

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350

LAPS Cancellation because of no payment of annual fees