JP2001331344A - 組み込みシステムの障害情報トレーサ装置 - Google Patents
組み込みシステムの障害情報トレーサ装置Info
- Publication number
- JP2001331344A JP2001331344A JP2000151812A JP2000151812A JP2001331344A JP 2001331344 A JP2001331344 A JP 2001331344A JP 2000151812 A JP2000151812 A JP 2000151812A JP 2000151812 A JP2000151812 A JP 2000151812A JP 2001331344 A JP2001331344 A JP 2001331344A
- Authority
- JP
- Japan
- Prior art keywords
- program
- information
- history information
- history
- fault
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Granted
Links
Landscapes
- Debugging And Monitoring (AREA)
Abstract
生の経緯を知らせ、障害原因の解析がスムーズに行える
組み込みシステムの障害情報トレーサ装置を提供する。 【解決手段】 本発明に係る障害情報トレーサ装置10
0の試験装置1は、実行形式のプログラム11、履歴情
報を編成する実行履歴収集部12、履歴情報を記憶させ
るトレースメモリ13、その記憶内容を被試験装置2に
ダンプさせるデバッグモニタ14から構成した。また、
被試験装置2は、履歴情報を導入するデバッガソフト2
1、履歴情報がファイルされたトレースメモリダンプ結
果ファイル22、プログラム11のソースファイル群2
3、障害解析のための該当箇所を出力するトレース情報
解析プログラム24から構成した。
Description
組み込まれるプログラムシステムを開発するにあたり、
この組み込みシステムの実行状況をモニターしながら、
プログラムに生じた障害を解析するための組み込みシス
テムの障害情報トレーサ装置に関する。
その常駐領域内にオペレーティングシステム(以下、省
略してOSという)がインストールされている。また、
マイクロプロセッサなどを搭載した各種の制御機器にも
それぞれに専用の制御プログラムが組み込まれる。この
ような制御システムを開発する場合には、システムプロ
グラム上のアルゴリズムを実行状態で試験することが重
要である。そのため従来より、制御対象とする装置に組
み込まれたプログラムのデバッグ装置が種々提案されて
いる。
るための「デバッグ処理方法ならびにデバッグ処理装
置」が特開平11−184728号公報に開示されてい
る。この第一従来例のデバッグ処理装置では、デバッグ
操作に関するコマンド群を履歴情報として実行順に格納
しておく。そして、プログラムに障害が発生すると、デ
バッグを行う者がデバッガによりプログラムを初期状態
にリセットさせるとともに、障害が発生したステップよ
り手前までの十分に短い区間に限ってコマンド群を実行
させる。
選択し、部分的なプログラムを繰り返し正常に走行させ
ながら、前述したリセット操作の一つ手前のステップま
でプログラムを進めて障害ステップの番号を特定する。
そして、この番号の直前までデバッガにより各コマンド
を順に実行させる。このため、障害発生時に実行された
コマンドが特定できるとともに、プログラムが正常に走
行していた障害の発生直前の状態を再現することができ
る。
操作を再現させる方法の他にも、プログラムの走行中に
障害が発生すると、その障害ステップに対応する該当位
置をソースファイル上で特定する方法がある。この第二
従来例の方法によれば、ソースファイルの位置に関する
履歴情報を出力できる。このため、プログラムのデバッ
グを行う者が、直接にソースファイル上のプログラムの
実行位置を特定でき、第一従来例よりも分かり易く障害
を追跡することができる。
の従来例を用いて、組み込みシステムを開発する場合に
生じる障害の原因を探索しようとすると、次のような問
題がある。まず、第一従来例による、実行すべきプログ
ラムの走行に伴い、そのデバッグ操作に関するコマンド
群の履歴情報を蓄えておく方法では、障害が発生する直
前までのシステムの動作状態を再現させるにとどまり、
障害発生に至るプログラムの経緯まで特定することがで
きない。
行中に障害が発生すると、これに対応したソースファイ
ルの該当位置に関する履歴情報を出力する方法では、障
害発生時におけるプログラムの実行位置が同じであって
も、システム開発に伴ってソースファイルを改版するた
びに履歴情報が変わってしまう。このため、デバッグを
行う者が履歴情報の変化に惑わされて障害原因の解析に
余計な時間を費やすという問題がある。したがって、こ
れらの問題点を総合的に解決することが重要な技術上の
課題であった。
にあたり、システムプログラムの実行に伴う履歴情報に
基づいて、障害の発生時におけるプログラムの実行状況
を再現できるとともに、デバッグを行う試験者に対して
障害発生の経緯に関する情報を知らせ、かつデバッグの
進展によるプログラムの変更にかかわらず、スムーズに
障害原因の解析が行える組み込みシステムの障害情報ト
レーサ装置を提供することにある。
め、本発明に係る組み込みシステムの障害情報トレーサ
装置は、デバッグの対象となるプログラムが組み込まれ
た試験装置と、この試験装置上でデバッグ対象のプログ
ラムが走行する経過をモニターしながら障害要因が解析
される被試験装置とからなる組み込みシステムの障害情
報トレーサ装置において、試験装置内に、デバッグ対象
のプログラムによる履歴情報が編成される実行履歴収集
部を有するとともに、被試験装置内に、前記実行履歴収
集部から送出された履歴情報に基づいて、デバッグ対象
プログラムのソースファイル群から障害の発生時に解析
情報を取得するトレース情報解析プログラムを有する構
成としてある。
装置では、デバッグ対象のプログラムを試験装置上で走
行させると、その走行経過が実行履歴収集部により履歴
情報に編成される。何らかの障害がプログラムの走行中
に発生すると、このとき編成してあった履歴情報が試験
装置から被試験装置に送出されてトレース情報解析プロ
グラムによりモニターされる。そして、履歴情報のモニ
ター結果から、該当するソースプログラムが特定される
とともに、特定のソースプログラムから該当箇所の解析
情報が取得されてデバッグ対象のプログラムの走行経過
とともに示される。
の障害情報トレーサ装置は、試験装置が、実行履歴収集
部による履歴情報出力用のメモリエリアを有する構成と
してある。これによれば、デバッグ対象のプログラムを
走行させながら、障害発生までの走行経過が履歴情報と
してメモリエリアに保有される。
の障害情報トレーサ装置は、試験装置が、被試験装置に
対する履歴情報の転送のためのデバッグモニタを有する
構成としてある。これによれば、履歴情報が障害の発生
に伴って被試験装置に転送される。
の障害情報トレーサ装置は、被試験装置が、試験装置か
らの履歴情報によるトレースメモリダンプ結果ファイル
を有する構成としてある。これによれば、障害発生時の
履歴情報を保有したままソースファイル群の操作が行わ
れる。
の障害情報トレーサ装置は、被試験装置が、試験装置に
よる履歴情報の取得可能なデバッガソフトを有する構成
としてある。これによれば、障害の解析に必要な履歴情
報が試験装置から取得される。
の障害情報トレーサ装置は、ソースファイルが、実行履
歴収集部の起動処理と、デバッグ対象のプログラムの実
行経緯に関するコメントとを任意のブレークポイントに
有する構成としてある。これによれば、障害の発生に伴
って実行経緯が取得される。
の一例を添付図面に基づいて説明する。図1、2は、本
発明の一実施形態に係る組み込みシステムの障害情報ト
レーサ装置を説明する図であり、図1に、この実施形態
の一構成例が、また、図2に、その障害解析の一処理例
のフローチャートが図示されている。
みシステムの障害情報トレーサ装置100は、デバッグ
の対象となるプログラム(以下、単にプログラムとい
う)11を組み込んで実行させる試験装置1と、この試
験装置1上のプログラム11のソースファイル群23を
収納しておくとともに、プログラム11の実行経過をモ
ニターさせながらプログラム11の障害状況を検出する
被試験装置2とからなっている。
相互間の通信機能を介してプログラム11の実行状況が
通信される。また、被試験装置2には、検出した障害状
況を表示させるための装置としてディスプレィを併設し
てある。これらにより被試験装置2では、ソースファイ
ル群23が試験者によるプログラム11のデバッグに伴
って適切に管理されるとともに、プログラム11の走行
経過から障害原因が解析される。
実装された実行形式のプログラム11、このプログラム
11の走行に伴って履歴情報を編成する実行履歴収集部
12、この実行履歴収集部12による履歴情報を記憶さ
せておくメモリエリアであるトレースメモリ13、被試
験装置2と相互に通信を行いながらトレースメモリ13
の記憶内容を被試験装置2にダンプさせるデバッグモニ
タ14を備えている。
がセーブできる十分な記憶容量のメモリエリアを設定し
たものである。このため、予め障害原因の解析に必要な
履歴情報の情報量を推定しておくことが望ましい。ま
た、サイクリックなメモリアドレスを割り付けておけ
ば、実行履歴収集部12のアドレス指定により効率的な
上書きが可能になる。
14を介して履歴情報を被試験装置2に導入させるデバ
ッガソフト21、このデバッガソフト21による履歴情
報がファイルされたトレースメモリダンプ結果ファイル
22、試験装置1上で実行されるプログラム11のソー
スファイル群23、トレースメモリダンプ結果ファイル
22を参照しながらソースファイル群23から該当箇所
を出力するトレース情報解析プログラム24を備えてい
る。
例をフローチャートに基づいて説明する。前提として、
試験装置1上でプログラム11を実行させるにあたり、
プログラム11の実行状況が確認し易い一つまたは複数
のブレークポイントを特定する。そして、それぞれのブ
レークポイントを実行履歴収集部12に設定するととも
に、各ブレークポイントと逐一に対応させて、障害検出
時の解析処理に対する的確なコメントをそれぞれ一致し
た箇所に記述する。併せて、この解析処理で参照したい
データを指定しておく。
としてのC言語を用いてソースファイル群23を編成し
た場合であれば、このような処理を次の一例のように記
述することができる。また、好ましくは、この処理をデ
バッグに適した複数の要所に記述しておいてもよい。 /* コメント */ Dump(ファイルID, LINE ,収集データ...);
情報の説明その他の実行経緯に関する記述であり、たと
えばプログラム11の走行経路を示した情報が記述され
る。また、「Dump」は、実行履歴収集部12を起動させ
るダンプ関数、「ファイルID」は、ソースファイル群2
3の特定のファイルを指定するための識別番号である。
「 LINE 」は、ANSI規格によって定義されるシンボル名
であり、コンパイルの際にプリプロセッサにより特定の
行番号に変換される。「収集データ」は、履歴情報とし
てトレースメモリ13に記憶させておくデータである。
作系UNIX(登録商標)でのプログラムの移植性の高
さで知られている。しかし、前述した従来例によってプ
ログラム11の障害解析を行う場合には、試験者がソー
スファイル群23の特定の行番号を意識している必要が
ある。これに対して、本実施形態では、「ファイルID」
により特定のソースファイルが自動的に選択され、ま
た、「 LINE 」が特定の行番号に変換されるため、これ
らを試験者が特に意識する必要はなくなる。
ョン環境を設定した試験装置1上でプログラム11を走
行させる。図2を併せて参照すると、プログラム11の
走行に伴って(ステップA1)、前述したブレークポイ
ントでダンプ関数に相当する処理が実行される。そして
実行履歴収集部12がコールされ、そのときの実行状態
に関する履歴情報が出力されてトレースメモリ13上に
セーブされる(ステップA2)。
ースファイル群23を指定するための特定の「ファイル
ID」と、そのソースファイル中の特定の行番号とをトレ
ースメモリ13に出力する。また、そのときに参照した
い任意のデータも併せて出力される。これによってトレ
ースメモリ13の所定のメモリエリア内に、最新のブレ
ークポイントの履歴情報が上書きされ、または複数のブ
レークポイントについて履歴情報が編成される。
歴収集部12が起動するとともに、プログラム11の走
行に伴って、それぞれの実行ステップに障害が発生した
か否かをデバッグモニタ14で判定する(ステップA
3)。その結果、障害の発生が確認できると、その障害
状態を復旧させるために試験装置1に対して走行状態の
初期化などが行われる。また、障害が発生していなけれ
ば、ステップA1に戻ってプログラム11の正常な走行
を続ける。
と、その旨が試験装置1のデバッグモニタ14に報告さ
れる。デバッグモニタ14は、被試験装置2のデバッガ
ソフト21と通信しながらトレースメモリ13が記憶し
ておいた履歴情報を被試験装置2に転送する。そして、
デバッガソフト21により、この履歴情報が被試験装置
2に導入されてトレースメモリダンプ結果ファイル22
として編成される(ステップA4)。
ンプ結果ファイル22をトレース情報解析プログラム2
4に取得させる。そして、その履歴情報の「ファイルI
D」によりファイル群23がアクセスされ、特定のソー
スファイルが選択されて参照され、また、このソースフ
ァイルの該当箇所が履歴情報の行番号によって特定され
る。これにより、実行履歴収集部12に記述されたソー
スファイルのコメントとともに履歴情報の収集データを
ディスプレイ3に出力する(ステップA5)。
れたコメントから、プログラム11のデバッグを行う試
験者が、そのときまでのプログラム11の走行経路を認
識しながら障害発生に至る実行経緯を直ちに把握でき
る。また、収集データなどからプログラム11の該当箇
所と、シミュレーション環境下での走行状態を確認でき
るため、プログラム11の実行状況も併せて確認しなが
ら障害解析を進めることができる。
み込みシステムの障害情報トレーサ装置によれば、プロ
グラムの実行経緯などのコメントが、障害発生時のプロ
グラムの走行状態とともに試験者に示される。このた
め、プログラムの開発者が必要な情報のみを、開発者が
意図した形式でディスプレイなどに表示できるととも
に、障害に至った経緯を容易に把握することができる。
ままトレース情報解析プログラムの入力ファイルとして
用いられる。このため、デバッグまたは機能追加に伴っ
てソースファイルが改版されても、履歴情報の出力形式
までが変化しないとともに試験者が障害発生時に該当箇
所を探しまわることがない。
障害情報トレーサ装置を説明する図であり、この実施形
態の一構成例が図示されている。
の一例が図示されたフローチャートである。
Claims (6)
- 【請求項1】 デバッグの対象となるプログラムが組み
込まれた試験装置と、この試験装置上でデバッグ対象の
プログラムが走行する経過をモニターしながら障害要因
が解析される被試験装置とからなる組み込みシステムの
障害情報トレーサ装置において、 前記試験装置内に、デバッグ対象のプログラムによる履
歴情報が編成される実行履歴収集部を有するとともに、 前記被試験装置内に、前記実行履歴収集部から送出され
た履歴情報に基づいて、デバッグ対象プログラムのソー
スファイルから障害の発生時に解析情報を取得するトレ
ース情報解析プログラムを有していることを特徴とする
組み込みシステムの障害情報トレーサ装置。 - 【請求項2】 前記試験装置が、 実行履歴収集部による履歴情報出力用のメモリエリアを
有することを特徴とする請求項1記載の組み込みシステ
ムの障害情報トレーサ装置。 - 【請求項3】 前記試験装置が、 被試験装置に対する履歴情報の転送のためのデバッグモ
ニタを有することを特徴とする請求項1又は2記載の組
み込みシステムの障害情報トレーサ装置。 - 【請求項4】 前記被試験装置が、 試験装置からの履歴情報によるトレースメモリダンプ結
果ファイルを有することを特徴とする請求項1,2又は
3記載の組み込みシステムの障害情報トレーサ装置。 - 【請求項5】 前記被試験装置が、 試験装置からの履歴情報が取得されるためのデバッガソ
フトを有することを特徴とする請求項1〜4のいずれか
に記載の組み込みシステムの障害情報トレーサ装置。 - 【請求項6】 前記被試験装置内のソースファイルが、 実行履歴収集部の起動処理と、デバッグ対象のプログラ
ムの実行経緯に関するコメントとを任意のブレークポイ
ントに有していることを特徴とする請求項1〜5のいず
れかに記載の組み込みシステムの障害情報トレーサ装
置。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2000151812A JP3459898B2 (ja) | 2000-05-23 | 2000-05-23 | 組み込みシステムの障害情報トレーサ装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2000151812A JP3459898B2 (ja) | 2000-05-23 | 2000-05-23 | 組み込みシステムの障害情報トレーサ装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2001331344A true JP2001331344A (ja) | 2001-11-30 |
JP3459898B2 JP3459898B2 (ja) | 2003-10-27 |
Family
ID=18657308
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2000151812A Expired - Fee Related JP3459898B2 (ja) | 2000-05-23 | 2000-05-23 | 組み込みシステムの障害情報トレーサ装置 |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP3459898B2 (ja) |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2012190219A (ja) * | 2011-03-10 | 2012-10-04 | Fujitsu Ltd | 情報処理装置、およびトレースログ取得方法 |
JP2013214159A (ja) * | 2012-03-30 | 2013-10-17 | Fujitsu Ltd | ログ管理方法、ログ管理システムおよび情報処理装置 |
CN107342880A (zh) * | 2016-04-29 | 2017-11-10 | 中兴通讯股份有限公司 | 异常信息采集方法及系统 |
CN112990729A (zh) * | 2021-03-26 | 2021-06-18 | 重庆烯宇新材料科技有限公司 | 一种扫码追溯拦截作业系统方案 |
-
2000
- 2000-05-23 JP JP2000151812A patent/JP3459898B2/ja not_active Expired - Fee Related
Cited By (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2012190219A (ja) * | 2011-03-10 | 2012-10-04 | Fujitsu Ltd | 情報処理装置、およびトレースログ取得方法 |
JP2013214159A (ja) * | 2012-03-30 | 2013-10-17 | Fujitsu Ltd | ログ管理方法、ログ管理システムおよび情報処理装置 |
CN107342880A (zh) * | 2016-04-29 | 2017-11-10 | 中兴通讯股份有限公司 | 异常信息采集方法及系统 |
CN107342880B (zh) * | 2016-04-29 | 2021-06-08 | 中兴通讯股份有限公司 | 异常信息采集方法及系统 |
CN112990729A (zh) * | 2021-03-26 | 2021-06-18 | 重庆烯宇新材料科技有限公司 | 一种扫码追溯拦截作业系统方案 |
CN112990729B (zh) * | 2021-03-26 | 2024-04-02 | 重庆烯宇新材料科技有限公司 | 一种扫码追溯拦截作业系统 |
Also Published As
Publication number | Publication date |
---|---|
JP3459898B2 (ja) | 2003-10-27 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US7320125B2 (en) | Program execution stack signatures | |
EP1130518B1 (en) | Software analysis system having an apparatus for selectively collecting analysis data from a target system executing software instrumented with tag statements and method for use thereof | |
CN111756575B (zh) | 存储服务器的性能分析方法及装置、电子设备 | |
US8291379B2 (en) | Runtime analysis of a computer program to identify improper memory accesses that cause further problems | |
US20120331449A1 (en) | Device, method and computer program product for evaluating a debugger script | |
US8732681B2 (en) | Stack analysis for post mortem analysis | |
US7237232B2 (en) | Method and system for recording program information in the event of a failure | |
US7401322B1 (en) | Software debugging tool | |
US6738778B1 (en) | Method and apparatus for monitoring the execution of a program | |
CN110955598A (zh) | 一种内核态程序的断点处理方法及装置 | |
US20090100413A1 (en) | Stack Walking Enhancements Using Sensorpoints | |
CN113342431A (zh) | 函数调用栈回溯、程序异常处理方法、装置、设备及介质 | |
JP3459898B2 (ja) | 組み込みシステムの障害情報トレーサ装置 | |
JP4558376B2 (ja) | コントローラ | |
JP2005338987A (ja) | 例外テスト支援プログラム及び例外テスト支援装置 | |
JP2001243089A (ja) | ソフトウェア検証装置及びソフトウェア検証方法 | |
JP2009223714A (ja) | 演算回路及び演算回路の異常解析方法 | |
KR100428712B1 (ko) | 멀티 태스크 프로그램의 논스톱 디버깅을 위한트레이스포인트 설정 방법 | |
JP3394416B2 (ja) | プログラムトレース装置 | |
KR20080052261A (ko) | 내장형 시스템 오류 수정을 위한 비정지 디버깅 장치 및방법 | |
CN113484710B (zh) | 用于流量捕捉和调试工具的图形用户界面 | |
JP3309792B2 (ja) | スタックポインタトレース装置、スタックポインタトレース方法及び記録媒体 | |
JP2658982B2 (ja) | 特定命令実行検出方式 | |
CN116594750A (zh) | 一种函数调用收集方法、装置、设备、存储介质及产品 | |
CN118672811A (zh) | 程序异常分析方法、装置、电子设备及存储介质 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20070808 Year of fee payment: 4 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20080808 Year of fee payment: 5 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20080808 Year of fee payment: 5 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20090808 Year of fee payment: 6 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20090808 Year of fee payment: 6 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20100808 Year of fee payment: 7 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20110808 Year of fee payment: 8 |
|
LAPS | Cancellation because of no payment of annual fees |