(57)【特許請求の範囲】
【請求項１】
入力されたデバッグ情報を以降の処理用の信号にするデバッグ情報入力手段と、
入力された、検索をする際に用いられる検索条件を、以降の処理用の信号にする検索条件入力手段と、
前記デバッグ情報に含まれる、シンボルについてのオフセットアドレスから、そのシンボルについてのアドレスを求め、そのアドレスをそのシンボルと関連付けた情報を含むアドレス情報を生成する前処理手段と、
前記検索条件により、前記アドレス情報について前記検索をし、前記検索により特定された内容に対応する抽出情報の抽出をする検索抽出手段と、
前記抽出情報の出力をする抽出情報出力手段と、
を備え、
前記検索の検索対象がシンボル名であり、
前記シンボル名が変数又はその変数のメンバについてのものであり、
前記変数の型が構造体または共用体である前記変数の前記メンバのオフセットアドレスの前記抽出をし、そのオフセットアドレスにより前記メンバのアドレスを算出する
情報処理装置。
【請求項２】
入力されたデバッグ情報を以降の処理用の信号にするデバッグ情報入力手段と、
入力された、検索をする際に用いられる検索条件を、以降の処理用の信号にする検索条件入力手段と、
前記デバッグ情報に含まれる、シンボルについてのオフセットアドレスから、そのシンボルについてのアドレスを求め、そのアドレスをそのシンボルと関連付けた情報を含むアドレス情報を生成する前処理手段と、
前記検索条件により、前記アドレス情報について前記検索をし、前記検索により特定された内容に対応する抽出情報の抽出をする検索抽出手段と、
前記抽出情報の出力をする抽出情報出力手段と、
を備え、
前記検索の検索対象がシンボル名であり、
前記シンボル名が変数又はその変数のメンバについてのものであり、
前記メンバの型がビットフィールドである前記メンバのオフセットアドレスの前記抽出をし、そのオフセットアドレスにより前記メンバのアドレスを算出する、
情報処理装置。
【請求項３】
前記検索条件における検索対象が正規表現で記述されている請求項１又は請求項２に記載された情報処理装置。
【請求項４】
前記デバッグ情報が、文字列により記述された文字列シンボル名を格納し、
前記検索条件における検索対象が文字列により入力された文字列検索対象であり、
前記検索が、前記文字列検索対象と、前記文字列シンボル名との一致についてのものであり、
前記一致をした前記文字列シンボル名に対応する情報について前記抽出をする
請求項１乃至請求項３のうちのいずれか一に記載された情報処理装置。
【請求項５】
前記変数や前記メンバが配列の場合において、その配列又はその配列の前記メンバについて前記抽出をする請求項１乃至請求項４のうちのいずれか一に記載された情報処理装置。
【請求項６】
入力されたデバッグ情報を以降の処理用の信号にするステップと、
入力された、検索をする際に用いられる検索条件を、以降の処理用の信号にするステップと、
前記デバッグ情報に含まれる、シンボルについてのオフセットアドレスから、そのシンボルについてのアドレスを求め、そのアドレスをそのシンボルと関連付けた情報を含むアドレス情報を生成するステップと、
前記検索条件により、前記アドレス情報について前記検索をし、前記検索により特定された内容に対応する抽出情報の抽出をするステップと、
前記抽出情報の出力をするステップと、
を含み、
前記検索の検索対象がシンボル名であり、
前記シンボル名が変数又はその変数のメンバについてのものであり、
前記変数の型が構造体または共用体である前記変数の前記メンバのオフセットアドレスの前記抽出をし、そのオフセットアドレスにより前記メンバのアドレスを算出する、
情報処理方法。
【請求項７】
入力されたデバッグ情報を以降の処理用の信号にするステップと、
入力された、検索をする際に用いられる検索条件を、以降の処理用の信号にするステップと、
前記デバッグ情報に含まれる、シンボルについてのオフセットアドレスから、そのシンボルについてのアドレスを求め、そのアドレスをそのシンボルと関連付けた情報を含むアドレス情報を生成するステップと、
前記検索条件により、前記アドレス情報について前記検索をし、前記検索により特定された内容に対応する抽出情報の抽出をするステップと、
前記抽出情報の出力をするステップと、
を含み、
前記検索の検索対象がシンボル名であり、
前記シンボル名が変数又はその変数のメンバについてのものであり、
前記メンバの型がビットフィールドである前記メンバのオフセットアドレスの前記抽出をし、そのオフセットアドレスにより前記メンバのアドレスを算出する、
情報処理方法。
【請求項８】
前記検索条件における検索対象が正規表現で記述されている請求項６又は請求項７に記載された情報処理方法。
【請求項９】
入力されたデバッグ情報を以降の処理用の信号にする処理と、
入力された、検索をする際に用いられる検索条件を、以降の処理用の信号にする処理と、
前記デバッグ情報に含まれる、シンボルについてのオフセットアドレスから、そのシンボルについてのアドレスを求め、そのアドレスをそのシンボルと関連付けた情報を含むアドレス情報を生成する処理と、
前記検索条件により、前記アドレス情報について前記検索をし、前記検索により特定された内容に対応する抽出情報の抽出をする処理と、
前記抽出情報の出力をする処理と、
を含む処理をコンピュータに実行させ、
前記検索の検索対象がシンボル名であり、
前記シンボル名が変数又はその変数のメンバについてのものであり、
前記変数の型が構造体または共用体である前記変数の前記メンバのオフセットアドレスの前記抽出をし、そのオフセットアドレスにより前記メンバのアドレスを算出する、
情報処理プログラム。
【請求項１０】
入力されたデバッグ情報を以降の処理用の信号にする処理と、
入力された、検索をする際に用いられる検索条件を、以降の処理用の信号にする処理と、
前記デバッグ情報に含まれる、シンボルについてのオフセットアドレスから、そのシンボルについてのアドレスを求め、そのアドレスをそのシンボルと関連付けた情報を含むアドレス情報を生成する処理と、
前記検索条件により、前記アドレス情報について前記検索をし、前記検索により特定された内容に対応する抽出情報の抽出をする処理と、
前記抽出情報の出力をする処理と、
を含む処理をコンピュータに実行させ、
前記検索の検索対象がシンボル名であり、
前記シンボル名が変数又はその変数のメンバについてのものであり、
前記メンバの型がビットフィールドである前記メンバのオフセットアドレスの前記抽出をし、そのオフセットアドレスにより前記メンバのアドレスを算出する、
情報処理プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、情報を検索及び抽出して出力する情報処理装置、情報処理方法及び情報処理プログラムに関する。
【背景技術】
【０００２】
ソフトウェア開発の際には、そのソフトウェアを動作させ又は組み込むハードウェアの構成要素に関する情報が必要な場合がある。
【０００３】
ハードウェアの構成要素に関する情報として、代表的なものに、ＲＡＭ（ランダムアクセスメモリ）に入力された値（以下、「ＲＡＭ値」という。）がある。ＲＡＭ値を取得する際に、システムやハードウェアの制約により、指定したアドレスのＲＡＭ値のみが取得できる簡易なＲＡＭモニタ（以下、ＲＡＭ値をモニタする装置をいう。）しか利用できないことがしばしばある。この場合、システム上で動作しているソフトウェアの状態をＲＡＭモニタから取得するには、ＲＡＭに配置される変数のアドレスとサイズ等を、正しく設定する必要がある。
【０００４】
また、変数のアドレスとサイズは、プログラムが正しくコンパイルできているか否かの確認にも使用される。例えば、変数サイズが正しいサイズとなっていることの確認や、構造体メンバが指定したアラインに配置（構造体メンバのアドレスを処理系にとって最適な境界に整列）されていることの確認等である。
【０００５】
そのため、変数に関するアドレスやサイズ等の情報を確実に求めることが重要になる。
【０００６】
一般的に、Ｃ言語によるプログラム開発では、静的領域に宣言された変数のアドレスとサイズは、プログラムリンク時にマップファイルを出力することで知ることができる。マップファイルにはプログラムに定義されている変数のアドレスとサイズが記述されており、変数の型がｃｈａｒ、ｉｎｔ、ｌｏｎｇといった単純型の場合は、マップファイルから変数のアドレスとサイズを得ることができる。
【０００７】
一方、特許文献１には、値の四則演算手段をデバッガに持たせることにより、変数が構造を持つ場合でも、変数シンボル名称、タイプシンボル名称、タイプフィールド名称を使い、最終アクセス対象のアドレスを計算式の形で記述できるということが述べられている。
【０００８】
ここで、本発明に関連して、正規表現を用いた文字列のパターンマッチングについて以下に説明する。例えば非特許文献１に記述されているように、正規表現とは、文字列の集合を一つの文字列で表現する方法の一つであり、テキストエディタ、ワードプロセッサをはじめとするアプリケーションソフトでパターンマッチ文字列を表すために使用されている。ほとんどのプログラミング言語では、構文又はライブラリによって正規表現を使うことができるようになっている。構文やライブラリに正規表現を備えたプログラミング言語やユーティリティとして、ｇｒｅｐ、ＡＷＫ、ｓｅｄ、Ｐｅｒｌ、Ｔｃなどがある。また、プログラミング言語の開発などに用いるｌｅｘも正規表現を使う。正規表現を用いた文字列はパターンマッチングにより検索することができる。
【０００９】
また、本明細書中における「シンボル」という語は、情報工学やソフトウェア工学で用いられる用語であり、シンボル名という名前の付けられた、データに含まれる一塊の記号やプログラミングで用いられる内容を表わす。
【先行技術文献】
【特許文献】
【００１０】
【特許文献１】特開平０８−００６８１２号公報
【非特許文献】
【００１１】
【非特許文献１】ウィキペディア  フリー百科事典、“正規表現”、［平成２６年１１月２５日検索］、インターネット（ＵＲＬ：ｈｔｔｐ：／／ｊａ．ｗｉｋｉｐｅｄｉａ．ｏｒｇ／ｗｉｋｉ／％Ｅ６％ＡＤ％Ａ３％Ｅ８％Ａ６％８Ｆ％Ｅ８％Ａ１％Ａ８％Ｅ７％８Ｆ％ＢＥ）
【発明の概要】
【発明が解決しようとする課題】
【００１２】
しかし、前述の、一般的にＣ言語によるプログラム開発において用いられる上記方法では、変数の型が構造体、共用体、ビットフィールド又は配列の場合、マップファイルには変数の先頭アドレスと変数全体のサイズのみが出力される。そのため、変数に含まれている各要素（構造体や共用体のメンバ、並びに配列要素）のアドレスとサイズをマップファイルから知ることはできない。そのため、このような場合は、ソースコードを読み解き、各要素のオフセットアドレス（相対的アドレス）を手計算で算出し、マップファイルに出力される変数の先頭アドレスとオフセットアドレスを加算して求めなければならなかった。
【００１３】
また、特許文献１に記述された方法においては、変数が構造を持つ場合において、最終アクセス対象のアドレスを演算式の形でシンボリックに指定することができるとしても、この作業は技術的にハードルが高い難しい作業である。
【００１４】
本発明は、変数等のシンボルについての情報を、確実に、容易に、しかも短時間に取得することができる情報処理装置、情報処理方法及び情報処理プログラムを提供することにある。
【課題を解決するための手段】
【００１５】
入力されたデバッグ情報を以降の処理用の信号にするデバッグ情報入力手段と、入力された、検索をする際に用いられる検索条件を、以降の処理用の信号にする検索条件入力手段を備える。そして、前記デバッグ情報に含まれる、シンボルについてのオフセットアドレスから、そのシンボルについてのアドレスを求め、そのアドレスをそのシンボルと関連付けた情報を含むアドレス情報を生成する前処理手段を備える。さらに、前記検索条件により、前記デバッグ情報について前記検索をし、前記項目について、前記検索により検索された内容に対応する抽出情報の抽出をする検索抽出手段と、前記抽出情報の出力をする抽出情報出力手段を備える。
【発明の効果】
【００１６】
本実施形態の情報処理装置により、変数等のシンボルについての情報を、確実に、容易に、しかも短時間に取得することができる。
【図面の簡単な説明】
【００１７】
【図１】第一実施形態の情報処理装置の構成と動作を表わす概念図である。
【図２】第二実施形態の情報処理装置の構成を表わす概念図である。
【図３】正規表現を用いた検索条件の入力例である。
【図４】第二実施形態の情報処理装置における情報処理のフローを表わす概念図である。
【図５】第三実施形態の情報処理装置の構成を表わす概念図である。
【図６】第三実施形態の情報処理装置における情報処理のフローを表わす概念図である。
【図７】図６のＳ３０４のステップにおける処理の例を表わす概念図である。
【図８ａ】処理後のデータの状況の例を示す概念図（その１）である。
【図８ｂ】処理後のデータの状況の例を示す概念図（その２）である。
【図８ｃ】処理後のデータの状況の例を示す概念図（その３）である。
【図８ｄ】処理後のデータの状況の例を示す概念図（その４）である。
【図８ｅ】処理後のデータの状況の例を示す概念図（その５）である。
【図８ｆ】処理後のデータの状況の例を示す概念図（その６）である。
【図８ｇ】処理後のデータの状況の例を示す概念図（その７）である。
【図９】第四実施形態の情報処理装置の構成を表わす概念図である。
【図１０】入力されるソースコードの例を示す概念図である。
【図１１】第四実施形態の情報処理装置における情報処理のフローを表わす概念図である。
【発明を実施するための形態】
【００１８】
第一実施形態は、本発明の最小構成の情報処理装置に関する実施形態である。
［構成と動作］
図１は、本実施形態の情報処理装置の構成と動作を表わす概念図である。
【００１９】
本実施形態の情報処理装置１は、抽出情報出力装置９０を備える。
【００２０】
抽出情報出力装置９０は、デバッグ情報入力部１００と、検索条件入力部１１０と、抽出項目指定部１６０と、前処理部１５０と、検索抽出部１２０と、抽出情報出力部１４０とを備える。
【００２１】
デバッグ情報入力部１００は、図示しないコンパイラ／リンカによるコンパイル／リンクにより出力される、図示しないデバッガによるデバッグのために用いる情報（以下、「デバッグ情報」という。）を、以降の処理用の信号にする。デバッグ情報を含む信号は、前処理部１５０に送られる。
【００２２】
検索条件入力部１１０は、入力された検索条件を以降の処理用の信号にする。検索条件を含む信号は、検索抽出部１２０に送られる。
【００２３】
前処理部１５０は、デバッグ情報入力部１００中に含まれる、シンボルのオフセットアドレスを用いて、そのシンボルのアドレスを求め、そのシンボルと関連付ける。そして、そのシンボルと関連付けたアドレスを含むアドレス情報を生成する。アドレス情報を含む信号は、検索抽出部１２０に送られる。
【００２４】
検索抽出部１２０は、検索条件入力部１１０から送られた検索条件により、前処理部１５０から送られたアドレス情報を検索し、検索した内容について、該当する情報を抽出する。抽出された情報を含む信号は、抽出情報出力部１４０に送られる。
【００２５】
抽出情報出力部１４０は、検索抽出部１２０から送られた情報をもとに、抽出された情報を出力する。
［効果］
本実施形態の情報処理装置は、シンボルについての情報を、確実に、容易に、しかも短時間に取得することができる。
＜第二実施形態＞
第二実施形態は、デバッグ情報に含まれる文字列の中から検索条件として入力される正規表現により記述された文字列と一致するものを検索し、その検索された文字列に対応する情報を抽出する情報処理装置に関する実施形態である。
［構成と動作］
図２は、本実施形態の情報処理装置の構成を表わす概念図である。
【００２６】
本実施形態の情報処理装置１は、抽出情報出力装置９０を備える。
【００２７】
抽出情報出力装置９０は、デバッグ情報入力部１００と、検索条件入力部１１０と、抽出項目指定部１６０と、前処理部１５０と、検索抽出部１２０と、処理部１３０と、抽出情報出力部１４０とを備える。
【００２８】
デバッグ情報入力部１００は、入力されたデバッグ情報を以降の処理用の信号にする。その信号は、前処理部１５０に送られる。
【００２９】
検索条件入力部１１０は、入力された検索条件を以降の処理用の信号にする。その信号はは、検索抽出部１２０に送られる。
【００３０】
抽出項目指定部１６０は、検索抽出部１２０において、検索される内容について抽出する、オフセットアドレスを用いて算出したアドレスを含む抽出項目を指定する。指定された抽出項目を含む信号は検索抽出部１２０に送られる。
【００３１】
前処理部１５０は、デバッグ情報入力部１００から送られるデバッグ中に含まれる、シンボルのオフセットアドレスを用いて、そのシンボルのアドレスを求め、そのシンボルと関連付ける。また、デバッグ情報中に含まれるオフセットアドレス以外の情報の一部について、シンボルと関連付ける。これらの、シンボルと関連付けられた情報を含む信号は、検索抽出部１２０に送られる。
【００３２】
検索抽出部１２０は、検索条件入力部１１０から送られる検索条件により、前処理部１５０から送られたアドレス情報について検索する。そして、抽出項目指定部１６０において指定された抽出項目について、検索された内容に対応する情報を抽出する。抽出された情報は処理部１３０に送られる。
【００３３】
処理部１３０は、検索抽出部１２０から送られた情報を処理する。処理後の信号は、抽出情報出力部１４０に送られる。
【００３４】
抽出情報出力部１４０は、処理部１３０から送られた情報をもとに、抽出された情報を出力する。
【００３５】
デバッグ情報入力部１００から入力されるデバッグ情報は、図示しないデバッガや、やはり図示しないデバッガ情報を記録した記録装置等から入力される。
【００３６】
そのデバッグ情報は、使用するデバッガの種類により異なる。デバッグ情報は、シンボル名を利用してデバッグを行うシンボリックデバッガでデバッグを行う場合には、典型的には、シンボル情報、型情報及びソースコードと行番号情報である。シンボル情報は、シンボルの、シンボル名、アドレス、サイズ、種類及びスコープなどである。型情報は、型の、名前、種類、サイズ、リンクされている他の型、子供型、オフセット、関数の呼び出し規約等である。
【００３７】
デバッグ情報は、基本的にバイナリ形式で記述されているが、シンボル名はデバッグ情報に文字列として格納されている。
【００３８】
検索条件入力部１１０から入力される検索条件は、コンピュータ等のキーボードにより作業者の操作により入力されても、検索条件を記録させておいた図示しない外部記録装置からの信号により入力されても構わない。
【００３９】
その検索条件における検索対象は文字列により記述される。検索対象は、出力させたいシンボルの名前（変数名、メンバ名、配列要素等）をＣ言語表記で正規表現により記述したものを用いる。図３は正規表現を用いた検索対象の入力例である。同図には、ｖａｒ１から始まる変数を正規表現により指定する場合の入力例を示してある。
【００４０】
検索抽出部１２０における検索及び抽出は、デバッグ情報入力部１００から送られるデバッグ情報、検索条件入力部１１０から送られる検索条件及び抽出項目指定部１６０から送られる抽出項目のすべてがそろってから行う。これらの情報は、典型的には、図示しない記録部に記録させておき、その記録させておいた情報を読み込むことにより行う。
【００４１】
検索抽出部１２０における検索は、検索対象を表わす文字列と、デバッグ情報に格納された文字列との一致を判定することにより行う。一致する場合に、その一致した文字列に対応する情報を抽出する。検索対象を表わす文字列を正規表現により記述することにより、ソフトウェア開発において共通化され広く一般的に用いられる、文字列の一致による検索プログラムを用いることができる。これにより、単なる情報の羅列に見えるデバッグ情報の中から、検索条件の文字列を容易に検索し、その文字列に対応する情報を抽出することができる。
【００４２】
抽出項目についての抽出情報の抽出及び出力は、例えば、以下のように行うことができる。
【００４３】
変数の型が単純型の場合は、検索対象として入力された変数を表わす文字列のシンボル名と文字列が一致したシンボル名についてのアドレス等を抽出し、出力する。
【００４４】
変数の型が構造体、共用体、ビットフィールドの場合には、これらについて抽出した情報よりこれらが持つメンバのオフセットアドレス（相対的アドレス）を取得し、メンバのアドレスを自動算出し出力する。構造体が構造体で構成され入れ子となっている場合には、さらにその子となる構造体のメンバとオフセットを取得しアドレスを自動算出し出力する。
【００４５】
また、変数やそのメンバが配列の場合には、配列要素毎にアドレスを出力する。
【００４６】
メンバ名や配列の要素名（シンボル名）はＣ言語表記で出力し、各要素に対して詳細アドレス情報（アドレスとサイズ、ビットフィールドの場合にはビット位置とビット幅）を出力し、開発者にとって直観的に理解できる形式とする。また抽出情報は膨大な量となることもある。このような場合は、シンボル名による検索、絞りこみ機能を持たせる方がより好ましい。この際の検索条件は正規表現で記述することがでる。絞りこみ機能により、必要な変数情報のみを絞り込んで出力することができる。構造体情報が幾重にも入れ子となっている場合でも、末端のメンバ名を検索条件として与えることで、そのメンバを含む変数の情報を取得することができる。
【００４７】
抽出情報はバイナリ形式で記述されているので、文字列に変換されて出力される。この際の変換には、一般に広く用いられている変換ソフトウェアを用いる。
【００４８】
抽出項目指定部１６０において指定される抽出項目は、入力により指定しても、予め設定された値を用いてもよい。この際の入力は、コンピュータ等のキーボードにより作業者により行われても、予め抽出項目を記録させておいた、図示しない記録装置からの信号により行われても構わない。
［処理フロー］
図４は本実施形態の情報処理装置における情報処理のフローを表わす概念図である。
【００４９】
まず、デバッグ情報入力部１００は、入力されたデバッグ情報を以降の処理用の信号Ｖａにする（Ｓ２０１）。信号Ｖａは、前処理部１５０に送られる。
【００５０】
次に、検索条件入力部１１０は、入力された検索条件を以降の処理用の信号Ｖｂにする（Ｓ２０２）。信号Ｖｂは検索抽出部１２０に送られる。
【００５１】
そして、抽出項目指定部１６０において、検索抽出部１２０における検索対象について抽出される抽出項目が指定される（Ｓ２０３）。指定された抽出項目を含む信号Ｖｃは、検索抽出部１２０に送られる。
【００５２】
前処理部１５０は、デバッグ情報入力部１００から送られるデバッグ中に含まれる、シンボルのオフセットアドレスを用いて、そのシンボルのアドレスを求め（Ｓ２０４）、そのシンボルと関連付ける。また、デバッグ情報中に含まれる、オフセットアドレス以外の情報の一部について、シンボルと関連付ける。そして、シンボルと関連付けたアドレスを含むアドレス情報を生成する。アドレス情報を含む信号Ｖｄは、検索抽出部１２０に送られる。
【００５３】
検索抽出部１２０は、検索条件入力部１１０から送られた検索条件をもとに、前処理部１５０から送られたアドレス情報について検索し、検索条件に合致する内容を求める。合致する内容がある場合には、抽出項目指定部１６０より送られた抽出項目について、その合致した内容に対応する情報を抽出する。（Ｓ２０５）。抽出した情報を含む信号Ｖｅは、処理部１３０に送られる。
【００５４】
処理部１３０は、検索抽出部１２０から送られた情報を出力させるための信号Ｖｆに処理する（Ｓ２０６）。信号Ｖｆは抽出情報出力部１４０に送られる。
【００５５】
抽出情報出力部１４０は、処理部１３０から送られた上記信号をもとに、抽出された情報を出力する（Ｓ２０７）。
【００５６】
同図において、Ｓ２０１乃至Ｓ２０３のステップは順番を入れ替えることもできる。
［効果］
本実施形態の情報処理装置は、まず、第一実施形態の情報処理装置と同様に、変数等のシンボルについての情報を、確実に、容易に、しかも短時間に取得することができる。
【００５７】
本実施形態の情報処理装置は、手作業を必要とせず、また特許文献１に記載された方法のような作業の困難性もないので、これらの効果のうち、シンボルについての情報を容易に、短時間に取得することができる点については特に補足しない。以下には、これらの効果のうち、シンボルについての情報を確実に取得できる点について補足説明する。
【００５８】
まず、本実施形態の情報処理装置は、シンボルである変数及びその要素が構造体である場合にも、そのアドレスを、確実に知ることができる。たとえば、構造体メンバのオフセットアドレスはコンパイル時のオプションに依存したアドレス境界へアライメントされることがある。この結果、メンバ間に予期せぬパディングが発生することがあるが、ソースコードを読むだけではパディングの発生を予見することは難しい。本実施形態の情報処理装置で用いるデバッグ情報における構造体情報には、アライメント後のオフセットアドレスが記録されているため、確実なメンバアドレスを取得することができる。そのため、本実施形態の情報処理装置により取得されたアドレスは、従来の手作業より取得されたアドレスよりも、格段に高い信頼性を有する。
【００５９】
それに加えて、本実施形態の情報処理装置は、文字列の一致により検索するので、構造体の情報がさらに構造体の情報を含み、幾重にも入れ子となっている場合でも、末端のメンバ名を検索条件とすることで、そのメンバを含む変数のアドレスを取得できる。
【００６０】
この効果を、特許文献１に記述された方法及び一般的なシンボリックデバッガを用いた場合と比較して具体的に説明すると下記のようになる。
【００６１】
一般的なシンボリックデバッガば、例えば、シンボルを表わす情報としてｖａｒ１．ｍ＿ｕｎｉｏｎ．ｍ＿ｂｉｔｆ．ｍ＿ｂｉｔｆ１を入力すれば、そのシンボルのアドレス等情報を取得できる。また、ｖａｒ１が分かっていればそこから“ｖａｒ１”から“ｖａｒ１．ｍ＿ｕｎｉｏｎ”を導き出し、それから“ｖａｒ１．ｍ＿ｕｎｉｏｎ．ｍ＿ｂｉｔｆ”を導き出し、さらにそれから“ｖａｒ１．ｍ＿ｕｎｉｏｎ．ｍ＿ｂｉｔｆ．ｍ＿ｂｉｔｆ１”を導き出すことも可能である。しかし、“ｍ＿ｂｉｔｆ１”のみが分かっている状況で、“ｖａｒ１．ｍ＿ｕｎｉｏｎ．ｍ＿ｂｉｔｆ．ｍ＿ｂｉｔｆ１”を導き出すことはできない。そのため、該当するシンボルのアドレス等情報を求めることはできない。
【００６２】
また、特許文献１に記述された方法では、例えばシンボルを表わす情報として“ｖａｒ１．ｍ＿ｕｎｉｏｎ．ｍ＿ｂｉｔｆ．ｍ＿ｂｉｔｆ１”を指定すれば望みのアドレス０ｘ０８０００１０が取得できるとされている。しかしながら、この“ｖａｒ１．ｍ＿ｕｎｉｏｎ．ｍ＿ｂｉｔｆ．ｍ＿ｂｉｔｆ１”を導き出すにはソースコードを読み解く必要があり、構造が複雑であればあるほどその作業が困難となる。
【００６３】
本実施形態の情報処理装置は、文字列の一致によりシンボルを検索し、そのシンボルに対応する情報を抽出する。そのため、シンボルを表わす情報として“ｍ＿ｂｉｔｆ１”を指定するだけで容易に“ｖａｒ１．ｍ＿ｕｎｉｏｎ．ｍ＿ｂｉｔｆ．ｍ＿ｂｉｔｆ１”を導き出し、それに対応する目的の情報の取得を確実に行うことができる。この効果は、上記の、一般的なシンボリックデバッガによる方法や特許文献１に記載された方法では得られない。
＜第三実施形態＞
第三実施形態は、シンボルのアドレス及びサイズを含む情報の詳細マップを生成する情報処理装置に関する実施形態である。
［構成と動作］
図５は、本実施形態の情報処理装置の構成を表わす概念図である。
【００６４】
本実施形態の情報処理装置１は、抽出情報出力装置９０を備える。
【００６５】
抽出情報出力装置９０は、デバッグ情報入力部１００と、前処理部１５０と、検索条件入力部１１０と、抽出項目指定部１６０と、検索抽出部１２０と、処理部１３０と、抽出情報出力部１４０とを備える。
【００６６】
デバッグ情報入力部１００は、入力されたデバッグ情報を以降の処理用の信号にする。その信号は、前処理部１５０に送られる。
【００６７】
前処理部１５０は、デバッグ情報入力部１００から送られたデバッグ情報を、検索抽出部１２０における検索に適した情報に変換する。前処理部１５０は、例えば、プログラムに含まれる全変数のアドレスとサイズの情報を作成する。変数の型が構造体、共用体、ビットフィールド、配列の場合には、要素毎に詳細アドレス情報（アドレスとサイズ、ビットフィールドの場合はビット位置とビット幅）を作成する。作成された情報を含む信号は、検索抽出部１２０に送られる。
【００６８】
検索条件入力部１１０からは、後に例示する詳細マップファイルに出力させたいシンボルのシンボル名（変数名、メンバ名、配列要素）がＣ言語表記で記述され、入力される。このとき検索対象は正規表現により記述される。検索条件入力部１１０は、入力された検索条件を、以降の処理用の信号にする。その信号は、検索抽出部１２０に送られる。
【００６９】
抽出項目指定部１６０は、検索抽出部１２０において抽出する抽出項目を指定する。指定された抽出項目は検索抽出部１２０に送られる。
【００７０】
抽出項目指定部１６０は、検索抽出部１２０において抽出する抽出項目を指定する。指定された抽出項目は検索抽出部１２０に送られる。
【００７１】
検索抽出部１２０は、検索条件入力部１１０から送られた検索条件により、前処理部１５０から送られた情報を検索する。検索条件として設定されたシンボル名が検索された場合に、そのシンボル名について、抽出項目に該当する情報を抽出する。抽出項目を含む信号は処理部１３０に送られる。
【００７２】
処理部１３０は、検索抽出部１２０から送られた情報を処理し、後に例を示す詳細マップを出力するための信号にする。その信号は、抽出情報出力部１４０に送られる。
【００７３】
抽出情報出力部１４０は、処理部１３０から送られた情報をもとに、詳細マップを出力する。
【００７４】
デバッグ情報、検索及び抽出、抽出情報の出力、検索条件及び抽出項目についての本実施形態における説明以外の説明は、第二実施形態の情報処理装置の説明と同様である。従い、その説明を省略する。
［処理フロー］
図６は、本実施形態の情報処理装置における情報処理のフローを表わす概念図である。
【００７５】
まず、デバッグ情報入力部１００は入力されたデバッグ情報を以降の処理用の信号Ｖａにする（Ｓ３０１）。信号Ｖａは、検索抽出部１２０に送られる。
【００７６】
次に、検索条件入力部１１０は、入力された検索条件を以降の処理用の信号Ｖｂにする（Ｓ３０２）。信号Ｖｂは検索抽出部１２０に送られる。
【００７７】
そして、抽出項目指定部１６０において、検索抽出部１２０における検索対象について抽出される抽出項目が指定される（Ｓ３０３）。指定された抽出項目を含む信号Ｖｃは、検索抽出部１２０に送られる。
【００７８】
次に、前処理部１５０は、デバッグ情報入力部１００から送られたデバッグ情報を、検索抽出部１２０における検索に適した情報に変換する（Ｓ３０４）。本処理については後述する。変換された情報を含む信号Ｖｄは、検索抽出部１２０に送られる。
【００７９】
検索抽出部１２０は、検索条件入力部１１０から送られた検索条件をもとに、前処理部１２０から送られた情報について検索し、検索条件に合致する内容を求める。合致する内容がある場合には、抽出項目指定部１６０より送られた抽出項目について、その合致した内容に対応する情報を抽出する。（Ｓ３０５）。抽出した情報を含む信号Ｖｅは、処理部１３０に送られる。
【００８０】
処理部１３０は、検索抽出部１２０から送られた情報を出力させるための信号Ｖｅに処理する（Ｓ３０６）。信号Ｖｆは抽出情報出力部１４０に送られる。
【００８１】
抽出情報出力部１４０は、処理部１３０から送られた上記信号をもとに、抽出された情報を出力する（Ｓ３０７）。
【００８２】
同図において、Ｓ３０１乃至Ｓ３０４のステップは、Ｓ３０２がＳ３０１の後になるという条件のもとに、それらの順番を入れ替えることもできる。
【００８３】
図７は、図６のＳ３０４のステップにおける処理の例を表わす概念図である。ここでは、シンボルのすべてのメンバについて、アドレス、サイズ、ビット位置及びビット幅について表示する詳細情報一覧データを求める場合を示す。この場合の詳細情報一覧が、上述の、前処理部１５０が変換する、検索抽出部１２０における検索に適した情報である。
【００８４】
まず、シンボルの基本アドレス（シンボルのメンバではなく最上位のシンボルのアドレスをいう。）を、デバッグ情報を検索し、抽出する（Ｓ３２１）。
【００８５】
次に、シンボルについて、１階層下のメンバがあるかを判定する（Ｓ３２２）。
【００８６】
１階層下のメンバがある場合には、そのうちの一を特定する（Ｓ３２３）。１階層下のメンバがない場合には終了する。
【００８７】
そして、特定したメンバについて、オフセットアドレスとメンバの型を、デバッグ情報を検索し抽出する（Ｓ３２４）。
【００８８】
次に、そのメンバについて、基本アドレスにオフセットアドレスを足し合わせて、アドレスを求める（Ｓ３２５）。アドレスは、そのメンバのシンボル名と関連付けて記録される。
【００８９】
さらに、Ｓ３２２において求めたメンバの型が、ビットフィールドかを判定する（Ｓ３２６）。
【００９０】
メンバの型がビットフィールドであると判定した場合は、アドレス、サイズ、ビット位置及びビット幅を、そのメンバのシンボル名と関連づけて記録する（Ｓ３２７）。その後、Ｓ３３０に進む。
【００９１】
メンバの型がビットフィールドではないと判定した場合には、そのメンバの型が構造型かを判定する（Ｓ３２８）。
【００９２】
そのメンバの型が構造型でない場合には、アドレス及びサイズを、そのメンバのシンボル名と関連付けて記録する（Ｓ３２９）。その後３３０に進む。
【００９３】
そのメンバの型が構造型の場合には、Ｓ３２３に進む。。
【００９４】
次に、同じ階層のメンバについて、アドレスが未記録のメンバがあるか判定する（Ｓ３３０）。
【００９５】
同じ階層のメンバについて、アドレスが未記録のメンバがあると判定された場合には、その未記録のメンバのうちの一を特定し、その特定したメンバについて以降の処理を行うことを決める（Ｓ３３１）。そして、Ｓ３２４に進む。
【００９６】
同じ階層のメンバについて、アドレスが未記録のメンバがないと判定された場合には、一つ上の階層のメンバについて、アドレスが未記録のメンバがあるかを判定する（３３２）。
【００９７】
一つ上の階層のメンバについて、アドレスが未記録のメンバがある場合には、そのメンバのうちの一を特定し、その特定されたメンバについて以降の処理を行うことを決める（Ｓ３３３）。そして、Ｓ３２３に進む。
【００９８】
一つ上の階層のメンバについて、アドレスが未記録のメンバがない場合には、さらに上の階層のメンバについて、アドレスが未記録のメンバがあるかを判定する（Ｓ３３４）。
【００９９】
さらに上の階層のメンバについて、アドレスが未記録のメンバがあると判定された場合には、その未記録のメンバのうちの一を特定し、その特定したメンバについて以降の処理を行うことを決める（Ｓ３３５）。そして、Ｓ３２３に進む。
【０１００】
さらに上の階層のメンバについて、アドレスが未記録のメンバがないと判定された場合には、終了する。
【０１０１】
こうして、シンボルについてのすべてのメンバについて、アドレス及びサイズ、並びに型がビットフィールドの場合におけるビット位置及びビット幅が、シンボル名と関連づけて記録される。
【０１０２】
図８ａ乃至図８ｇは、図７に記載したいくつかの処理について、処理後のデータの状況の例を示す概念図である。このデータは出力されず前処理部１５０の図示しない記録部に記録されるだけのものでもよいが、ここでは理解容易のため、そのデータが出力された場合を示してある。
【０１０３】
また、同図では、シンボルが以下の内容の場合について例示してある。
【０１０４】
・シンボル名ｖａｒ１のすべてのメンバについて、アドレス、サイズ、ビット位置及びビット幅について表示する詳細情報一覧を表示する。この詳細情報一覧が上述の「検索抽出部１２０における検索に適した情報」である。
【０１０５】
・ｖａｒ１は、ｍ＿ｓｔｒｕｃｔとｍ＿ｕｎｉｏｎの２つのメンバをもつ。
【０１０６】
・ｍ＿ｓｔｒｕｃｔはｍ＿ｓｔｒｕｃｔ［０］とｍ＿ｓｔｒｕｃｔ［１］の２つの配列を持つ。
【０１０７】
・ｍ＿ｓｔｒｕｃｔ［０］は、ｍ＿ｓｔｒ１、ｍ＿ｓｔｒ２及びｍ＿ｓｔｒ３の３つのサブメンバをもつ。
【０１０８】
・ｍ＿ｓｔｒｕｃｔ［１］は、ｍ＿ｓｔｒ１、ｍ＿ｓｔｒ２及びｍ＿ｓｔｒ３の３つのサブメンバをもつ。
【０１０９】
・ｍ＿ｕｎｉｏｎは、ｍ＿ｂｉｔｆとｍ＿ａｒｒａｙの２つのサブメンバをもつ。
【０１１０】
・ｍ＿ｂｉｔｆは、ｍ＿ｂｉｔｆ１、ｍ＿ｂｉｔｆ２及びｍ＿ｂｉｔｆ３の３個のビットフィールドで表されたサブメンバをもつ。
【０１１１】
・ｍ＿ａｒｒａｙは、ｍ＿ａｒｒａｙ［０］、ｍ＿ａｒｒａｙ［１］、ｍ＿ａｒｒａｙ［２］及びｍ＿ａｒｒａｙ［３］の４つの配列をもつ。
【０１１２】
・ｖａｒ１．ｍ＿ｕｎｉｏｎ．ｍ＿ｂｉｔｆ．ｍ＿ｂｉｔｆ３とｖａｒ１．ｍ＿ｕｎｉｏｎ．ｍ＿ａｒｒａｙ．ｍ＿ａｒｒａｙ［０］は共用体を構成する。
【０１１３】
図８ａは、Ｓ３２１の処理後のデータの状況を表わす概念図である。シンボル名ｖａｒ１について基本アドレスが抽出されている。
【０１１４】
図８ｂは、１回目のＳ３２４の処理後のデータの状況を表わす概念図である。シンボル名がｖａｒ１．ｍ＿ｓｔｒｕｃｔ［０］のメンバについて、オフセットアドレスと型が表示されている。
【０１１５】
図８ｃは、１回目のＳ３２５の処理後のデータの状況を表わす概念図である。シンボル名がｖａｒ１．ｍ＿ｓｔｒｕｃｔ［０］のメンバについて、アドレスと型が表示されている。
【０１１６】
図８ｄは、同図に示した時点でのデータの状況を表わす概念図である。ｖａｒ１．ｍ＿ｓｔｒｕｃｔ［０］．ｍ＿ｓｔｒ１、ｖａｒ１．ｍ＿ｓｔｒｕｃｔ［０］．ｍ＿ｓｔｒ２及びｖａｒ１．ｍ＿ｓｔｒｕｃｔ［０］．ｍ＿ｓｔｒ３のシンボル名をもつ３つのメンバについて、アドレスとサイズが表示されている。
【０１１７】
図８ｅは、同図に示した時点でのデータの状況を表わす概念図である。さらに、ｖａｒ１．ｍ＿ｓｔｒｕｃｔ［１］．ｍ＿ｓｔｒ１、ｖａｒ１．ｍ＿ｓｔｒｕｃｔ［１］．ｍ＿ｓｔｒ２及びｖａｒ１．ｍ＿ｓｔｒｕｃｔ［１］．ｍ＿ｓｔｒ３のシンボル名をもつ３つのメンバについて、アドレスとサイズが表示されている。
【０１１８】
図８ｆは、同図に示した時点でのデータの状況を表わす概念図である。３つのビットフィールドで表されたメンバについて、アドレス、サイズ、ビット位置及びビット幅が表示されている。
【０１１９】
こうして、図７に概念図を表わした処理を順次行うことにより、最終的には、図８ｇに概念図を表わした内容のデータが記録され、処理が終了する。
【０１２０】
なお、図８ｇに表わしたデータにおいて、ｖａｒ１．ｍ＿ｕｎｉｏｎ．ｍ＿ｂｉｔｆ．ｍ＿ｂｉｔｆ３とｖａｒ１．ｍ＿ｕｎｉｏｎ．ｍ＿ａｒｒａｙ．ｍ＿ａｒｒａｙ［０］とのアドレスが同じなのは、この２つのシンボルが同じ共用型のためである。
【０１２１】
抽出情報出力部１４０において出力される詳細マップの内容は、次の場合には、同図（ｄ）に記載した内容と同じになる。
・検索条件入力部１１０において、シンボル名ｖａｒ１のすべてのメンバについて検索を行うという条件を入力する。
・さらに、抽出項目指定部１６０において、シンボル名、アドレス、サイズ、ビット位置及びビット幅について抽出することを指定する。
【０１２２】
もちろん、検索条件入力部１１０において入力される検索条件や、抽出項目指定部１６０において指定される抽出項目を絞って、限られた範囲の情報を出力することもできる。
［効果］
本実施形態の情報処理装置は、まず、第二実施形態の情報処理装置と同様の効果を奏する。
【０１２３】
加えて、本実施形態の情報処理装置は、シンボルである変数に含まれる全要素のアドレスとサイズの抽出を、従来の手作業で行った場合と比較して、格段に容易かつ短時間に実施することができる。そのため、例えば、組み込みソフトウェア開発時の検査／デバッグ作業や、そのために必要なＲＡＭモニタへの設定作業を大幅に短縮できる。
【０１２４】
さらに、本実施形態の情報処理装置は、構造体が幾重にも入れ子となっているような変数であっても、候補となる全変数の一覧を確実に取得することができる。構造体が幾重にも入れ子となっているような変数の場合、末端のメンバ名から、その親となる変数名をソースコードから調査するのは大変な労力となり、作業ミスも生じやすい。しかし、本実施形態の情報処理装置において、メンバ名を検索条件として与えることにより、候補となる全変数の一覧を取得することができる。そのため、ソースコード内容を熟知することなく、検査対象となる変数のアドレス情報を取得することができ、作業員の技術的なハードルを飛躍的に下げることができる。
＜第四実施形態＞
本実施形態は、コンパイラ／リンカをさらに備える情報処理装置に関する実施形態である。
［構成と動作］
図９は、本実施形態の情報処理装置の構成を表わす概念図である。
【０１２５】
本実施形態の情報処理装置１は、コンパイラ／リンカ１０と、抽出情報出力装置９０を備える。
【０１２６】
コンパイラ／リンカ１０は、ソースコード入力部２０と、コンパイル／リンク処理部３０と、オブジェクトコード出力部４０と、デバッグ情報出力部８０とを備える。
【０１２７】
抽出情報出力装置９０は、デバッグ情報入力部１００と、前処理部１５０と、検索条件入力部１１０と、抽出項目指定部１６０と、検索抽出部１２０と、処理部１３０と、抽出情報出力部１４０とを備える。
【０１２８】
コンパイラ／リンカ１０のソースコード入力部２０は、入力された処理対象となるソースコードを以降の処理用の信号にする。その信号はコンパイル／リンク処理部３０に送られる。
【０１２９】
コンパイル／リンク処理部３０は、ソースコード入力部２０から送られたソースコードに対し、コンパイル／リンク処理を行い、オブジェクトコード及びデバッグ情報を生成する。生成されたオブジェクトコードは、オブジェクトコード出力部４０に送られる。また、生成されたデバッグ情報はデバッグ情報出力部８０に送られる。
【０１３０】
オブジェクトコード出力部４０は、コンパイル／リンク処理部３０から送られたオブジェクトコードを出力する。
【０１３１】
デバッグ情報出力部８０は、コンパイル／リンク処理部３０から送られたデバッグ情報を、抽出情報出力装置９０のデバッグ情報入力部１００に出力する。
【０１３２】
図１０は、ソースコード入力部２０から入力されるソースコードの例を示す概念図である。ソースコードは、シンボルである変数の定義に関する部分を示してある。
【０１３３】
抽出情報出力装置９０についての説明は、第三実施形態における説明と同様であるので、ここではその説明を省略する。
［処理フロー］
図１１は、本実施形態の情報処理装置の情報処理のフローを表わす概念図である。
【０１３４】
まず、コンパイラ／リンカ１０のソースコード入力部２０に、処理対象となるソースコードが入力される（Ｓ４０１）。ソースコードを含む信号Ｖｇはコンパイル／リンク処理部３０に送られる。
【０１３５】
コンパイル／リンク処理部３０は、ソースコード入力部２０から送られたソースコードに対し、コンパイル／リンク処理を行い、オブジェクトコード及びデバッグ情報を生成する（Ｓ４０２）。生成されたオブジェクトコードを含む信号Ｖｈは、オブジェクトコード出力部４０に送られる。また、生成されたデバッグ情報はデバッグ情報出力部８０に送られる。
【０１３６】
オブジェクトコード出力部４０は、コンパイル／リンク処理部３０から送られたオブジェクトコードを出力する（Ｓ４０３）。
【０１３７】
デバッグ情報出力部８０は、コンパイル／リンク処理部３０から送られたデバッグ情報を含む信号Ｖｉを、抽出情報出力装置９０のデバッグ情報入力部１００に出力する（Ｓ４０４）。
【０１３８】
Ｓ４０５以降のステップについての説明は第三実施形態における図６についての説明と同様なので、ここではその説明を省略する。
［効果］
本実施形態の情報処理装置は、まず第三実施形態の情報処理装置と同じ効果を奏する。
【０１３９】
加えて、本実施形態の情報処理装置は、対象となるソースコードのコンパイル／リンク処理を行う作業とともに、詳細マップを作成することができる。
【０１４０】
以上好ましい実施形態をあげて本発明を説明したが、本発明は必ずしも上記実施形態に限定されるものではなく、その技術的思想の範囲内において様々に変形し実施することが出来る。
【０１４１】
また、上記の実施形態の一部又は全部は、以下の付記のようにも記述され得るが、以下には限られない。
（付記１）
入力されたデバッグ情報を以降の処理用の信号にするデバッグ情報入力手段と、
入力された、検索をする際に用いられる検索条件を、以降の処理用の信号にする検索条件入力手段と、
前記デバッグ情報に含まれる、シンボルについてのオフセットアドレスから、そのシンボルについてのアドレスを求め、そのアドレスをそのシンボルと関連付けた情報を含むアドレス情報を生成する前処理手段と、
前記検索条件により、前記アドレス情報について前記検索をし、前記検索により検索された内容に対応する抽出情報の抽出をする検索抽出手段と、
前記抽出情報の出力をする抽出情報出力手段と、
を備える情報処理装置。
（付記２）
前記検索条件における検索対象が正規表現で記述されている付記１に記載された情報処理装置。
（付記３）
前記検索の検索対象がシンボル名である付記１又は２に記載された情報処理装置。
（付記４）
前記デバッグ情報が、文字列により記述された文字列シンボル名を格納し、
前記検索条件における検索対象が文字列により入力された文字列検索対象であり、
前記検索が、前記文字列検索対象と、前記文字列シンボル名との一致についての検索であり、
前記一致をした前記文字列シンボル名に対応する情報について前記抽出をする
付記３に記載された情報処理装置。
（付記５）
前記シンボル名が変数又はその変数のメンバについてのシンボル名である付記３又は４に記載された情報処理装置。
（付記６）
前記変数の型が構造体または共用体である前記変数の前記メンバのオフセットアドレスの前記抽出をし、そのオフセットアドレスにより前記メンバのアドレスを算出する
付記５に記載された情報処理装置。
（付記７）
前記変数のすべての前記メンバのオフセットアドレスの前記抽出をし、そのオフセットアドレスによりすべての前記メンバのアドレスを算出する
付記６に記載された情報処理装置。
（付記８）
前記メンバの型がビットフィールドである前記メンバのオフセットアドレスの前記抽出をし、そのオフセットアドレスにより前記メンバのアドレスを算出する
付記５に記載された情報処理装置。
（付記９）
すべての前記メンバの前記オフセットアドレスの前記抽出をし、そのオフセットアドレスによりすべての前記メンバのアドレスを算出する
付記８に記載された情報処理装置。
（付記１０）
前記変数やその変数のメンバが配列の場合において、その配列又はその配列のメンバについて前記抽出をする付記５乃至９に記載された情報処理装置。
（付記１１）
前記抽出情報が、前記検索対象の、アドレス及びサイズを含む、付記１乃至１０のうちのいずれか一に記載された情報処理装置。
（付記１２）
前記抽出情報が、前記検索対象の、ビット位置及びビット幅をさらに含む付記１１に記載された情報処理装置。
（付記１３）
前記デバッグ情報を出力するコンパイラをさらに備える、付記１乃至１２に記載された情報処理装置。
（付記１４）
入力されたデバッグ情報を以降の処理用の信号にするステップと、
入力された、検索をする際に用いられる検索条件を、以降の処理用の信号にをするステップと、
前記デバッグ情報に含まれる、シンボルについてのオフセットアドレスから、そのシンボルについてのアドレスを求め、そのアドレスをそのシンボルと関連付けた情報を含むアドレス情報を生成するステップと、
前記検索条件により、前記アドレス情報について前記検索をし、前記検索により検索された内容に対応する抽出情報の抽出をするステップと、
前記抽出情報の出力をするステップと、
を含む情報処理方法。
（付記１５）
入力されたデバッグ情報を以降の処理用の信号にする処理と、
入力された、検索をする際に用いられる検索条件を、以降の処理用の信号にする処理と、
前記デバッグ情報に含まれる、シンボルについてのオフセットアドレスから、そのシンボルについてのアドレスを求め、そのアドレスをそのシンボルと関連付けた情報を含むアドレス情報を生成するステップと、
前記検索条件により、前記アドレス情報について前記検索をし、前記検索により検索された内容に対応する抽出情報の抽出をする処理と、
前記抽出情報の出力をする処理と、
を含む処理をコンピュータに実行させる情報処理プログラム。
【符号の説明】
【０１４２】
１    情報処理装置
１０    コンパイラ／リンカ
２０    ソースコード入力部
３０    コンパイル／リンク処理部
４０    オブジェクトコード出力部
８０    デバッグ情報出力部
９０    抽出情報出力装置
１００    デバッグ情報入力部
１１０    検索条件入力部
１２０    検索抽出部
１３０    処理部
１４０    抽出情報出力部
１５０    前処理部
１６０    抽出項目指定部
【図１】
0006534814.tif 000002
【図２】
0006534814.tif 000003
【図３】
0006534814.tif 000004
【図４】
0006534814.tif 000005
【図５】
0006534814.tif 000006
【図６】
0006534814.tif 000007
【図７】
0006534814.tif 000008
【図８ａ】
0006534814.tif 000009
【図８ｂ】
0006534814.tif 000010
【図８ｃ】
0006534814.tif 000011
【図８ｄ】
0006534814.tif 000012
【図８ｅ】
0006534814.tif 000013
【図８ｆ】
0006534814.tif 000014
【図８ｇ】
0006534814.tif 000015
【図９】
0006534814.tif 000016
【図１０】
0006534814.tif 000017
【図１１】
0006534814.tif 000018