JP6534814B2 - INFORMATION PROCESSING APPARATUS, INFORMATION PROCESSING METHOD, AND INFORMATION PROCESSING PROGRAM - Google Patents

INFORMATION PROCESSING APPARATUS, INFORMATION PROCESSING METHOD, AND INFORMATION PROCESSING PROGRAM Download PDF

Info

Publication number
JP6534814B2
JP6534814B2 JP2015003081A JP2015003081A JP6534814B2 JP 6534814 B2 JP6534814 B2 JP 6534814B2 JP 2015003081 A JP2015003081 A JP 2015003081A JP 2015003081 A JP2015003081 A JP 2015003081A JP 6534814 B2 JP6534814 B2 JP 6534814B2
Authority
JP
Japan
Prior art keywords
information
search
address
symbol
extraction
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.)
Active
Application number
JP2015003081A
Other languages
Japanese (ja)
Other versions
JP2016128961A (en
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.)
NEC Communication Systems Ltd
Original Assignee
NEC Communication Systems 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 NEC Communication Systems Ltd filed Critical NEC Communication Systems Ltd
Priority to JP2015003081A priority Critical patent/JP6534814B2/en
Publication of JP2016128961A publication Critical patent/JP2016128961A/en
Application granted granted Critical
Publication of JP6534814B2 publication Critical patent/JP6534814B2/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Debugging And Monitoring (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Description

本発明は、情報を検索及び抽出して出力する情報処理装置、情報処理方法及び情報処理プログラムに関する。   The present invention relates to an information processing apparatus, an information processing method, and an information processing program which search, extract and output information.

ソフトウェア開発の際には、そのソフトウェアを動作させ又は組み込むハードウェアの構成要素に関する情報が必要な場合がある。   In software development, information on hardware components that operate or incorporate the software may be required.

ハードウェアの構成要素に関する情報として、代表的なものに、RAM(ランダムアクセスメモリ)に入力された値(以下、「RAM値」という。)がある。RAM値を取得する際に、システムやハードウェアの制約により、指定したアドレスのRAM値のみが取得できる簡易なRAMモニタ(以下、RAM値をモニタする装置をいう。)しか利用できないことがしばしばある。この場合、システム上で動作しているソフトウェアの状態をRAMモニタから取得するには、RAMに配置される変数のアドレスとサイズ等を、正しく設定する必要がある。   As representative information on hardware components, there is a value (hereinafter referred to as a "RAM value") input to a RAM (random access memory). When acquiring a RAM value, due to system or hardware restrictions, often only a simple RAM monitor (hereinafter referred to as a device for monitoring a RAM value) that can acquire only a RAM value at a specified address can be used. . In this case, in order to obtain the state of software operating on the system from the RAM monitor, it is necessary to correctly set the address, size, etc. of the variable arranged in the RAM.

また、変数のアドレスとサイズは、プログラムが正しくコンパイルできているか否かの確認にも使用される。例えば、変数サイズが正しいサイズとなっていることの確認や、構造体メンバが指定したアラインに配置(構造体メンバのアドレスを処理系にとって最適な境界に整列)されていることの確認等である。   Also, the address and size of the variable are also used to check if the program compiles correctly. For example, confirmation that the variable size is the correct size, confirmation that the structure member is arranged at the specified alignment (arrangement of the structure member address to the optimum boundary for the processing system), etc. .

そのため、変数に関するアドレスやサイズ等の情報を確実に求めることが重要になる。   Therefore, it is important to reliably obtain information such as the address and size of a variable.

一般的に、C言語によるプログラム開発では、静的領域に宣言された変数のアドレスとサイズは、プログラムリンク時にマップファイルを出力することで知ることができる。マップファイルにはプログラムに定義されている変数のアドレスとサイズが記述されており、変数の型がchar、int、longといった単純型の場合は、マップファイルから変数のアドレスとサイズを得ることができる。   Generally, in C program development, the address and size of a variable declared in a static area can be known by outputting a map file at program link time. The map file describes the addresses and sizes of the variables defined in the program, and when the variable type is a simple type such as char, int or long, the address and size of the variable can be obtained from the map file .

一方、特許文献1には、値の四則演算手段をデバッガに持たせることにより、変数が構造を持つ場合でも、変数シンボル名称、タイプシンボル名称、タイプフィールド名称を使い、最終アクセス対象のアドレスを計算式の形で記述できるということが述べられている。   On the other hand, according to Patent Document 1, even if the variable has a structure, the address of the final access target is calculated using the variable symbol name, the type symbol name, and the type field name by providing the arithmetic operation means of values to the debugger. It is stated that it can be described in the form of a formula.

ここで、本発明に関連して、正規表現を用いた文字列のパターンマッチングについて以下に説明する。例えば非特許文献1に記述されているように、正規表現とは、文字列の集合を一つの文字列で表現する方法の一つであり、テキストエディタ、ワードプロセッサをはじめとするアプリケーションソフトでパターンマッチ文字列を表すために使用されている。ほとんどのプログラミング言語では、構文又はライブラリによって正規表現を使うことができるようになっている。構文やライブラリに正規表現を備えたプログラミング言語やユーティリティとして、grep、AWK、sed、Perl、Tcなどがある。また、プログラミング言語の開発などに用いるlexも正規表現を使う。正規表現を用いた文字列はパターンマッチングにより検索することができる。   Here, in the context of the present invention, pattern matching of character strings using regular expressions will be described below. For example, as described in Non-Patent Document 1, regular expression is one of the methods of expressing a set of character strings by one character string, and pattern matching is performed by application software such as a text editor and word processor. Used to represent strings. In most programming languages, syntax or libraries allow you to use regular expressions. Programming languages and utilities that provide regular expressions in syntax and libraries include grep, AWK, sed, Perl, and Tc. Also, lex used for programming language development etc. also uses regular expressions. Character strings using regular expressions can be searched by pattern matching.

また、本明細書中における「シンボル」という語は、情報工学やソフトウェア工学で用いられる用語であり、シンボル名という名前の付けられた、データに含まれる一塊の記号やプログラミングで用いられる内容を表わす。   In addition, the term "symbol" in the present specification is a term used in information engineering and software engineering, and represents a block of symbols included in data or content used in programming, named as a symbol name. .

特開平08−006812号公報Japanese Patent Application Publication No. 08-006812

ウィキペディア フリー百科事典、“正規表現”、[平成26年11月25日検索]、インターネット(URL:http://ja.wikipedia.org/wiki/%E6%AD%A3%E8%A6%8F%E8%A1%A8%E7%8F%BE)Wikipedia Free encyclopedia, "regular expression", [search November 25, 2014], Internet (URL: http://en.wikipedia.org/wiki/%E6%AD%A3%E8%A6%8F% E8% A1% A8% E7% 8F% BE)

しかし、前述の、一般的にC言語によるプログラム開発において用いられる上記方法では、変数の型が構造体、共用体、ビットフィールド又は配列の場合、マップファイルには変数の先頭アドレスと変数全体のサイズのみが出力される。そのため、変数に含まれている各要素(構造体や共用体のメンバ、並びに配列要素)のアドレスとサイズをマップファイルから知ることはできない。そのため、このような場合は、ソースコードを読み解き、各要素のオフセットアドレス(相対的アドレス)を手計算で算出し、マップファイルに出力される変数の先頭アドレスとオフセットアドレスを加算して求めなければならなかった。   However, in the above-described method generally used in C program development described above, when the type of the variable is a structure, union, bit field or array, the map file contains the start address of the variable and the size of the entire variable. Is output. Therefore, the address and size of each element (members of structures and unions, and array elements) contained in variables can not be known from the map file. Therefore, in such a case, it is necessary to read the source code, manually calculate the offset address (relative address) of each element, and add the start address of the variable to be output to the map file and the offset address. did not become.

また、特許文献1に記述された方法においては、変数が構造を持つ場合において、最終アクセス対象のアドレスを演算式の形でシンボリックに指定することができるとしても、この作業は技術的にハードルが高い難しい作業である。   Further, in the method described in Patent Document 1, even if the address of the final access target can be specified symbolically in the form of an arithmetic expression when the variable has a structure, this work is technically difficult. It is a high and difficult task.

本発明は、変数等のシンボルについての情報を、確実に、容易に、しかも短時間に取得することができる情報処理装置、情報処理方法及び情報処理プログラムを提供することにある。   An object of the present invention is to provide an information processing apparatus, an information processing method, and an information processing program capable of acquiring information about symbols such as variables reliably, easily, and in a short time.

入力されたデバッグ情報を以降の処理用の信号にするデバッグ情報入力手段と、入力された、検索をする際に用いられる検索条件を、以降の処理用の信号にする検索条件入力手段を備える。そして、前記デバッグ情報に含まれる、シンボルについてのオフセットアドレスから、そのシンボルについてのアドレスを求め、そのアドレスをそのシンボルと関連付けた情報を含むアドレス情報を生成する前処理手段を備える。さらに、前記検索条件により、前記デバッグ情報について前記検索をし、前記項目について、前記検索により検索された内容に対応する抽出情報の抽出をする検索抽出手段と、前記抽出情報の出力をする抽出情報出力手段を備える。   The apparatus comprises debug information input means for converting the input debug information into a signal for subsequent processing, and search condition input means for converting the input search condition used when performing a search into a signal for subsequent processing. Then, from the offset address for the symbol contained in the debug information, an address for the symbol is obtained, and preprocessing is provided to generate address information including information in which the address is associated with the symbol. Furthermore, search extraction means for performing the search for the debug information according to the search condition and for extracting the extraction information corresponding to the contents searched for by the search for the item; and extraction information for outputting the extraction information It has an output means.

本実施形態の情報処理装置により、変数等のシンボルについての情報を、確実に、容易に、しかも短時間に取得することができる。   The information processing apparatus according to the present embodiment can reliably and easily obtain information on symbols such as variables in a short time.

第一実施形態の情報処理装置の構成と動作を表わす概念図である。It is a conceptual diagram showing the structure and operation | movement of the information processing apparatus of 1st embodiment. 第二実施形態の情報処理装置の構成を表わす概念図である。It is a conceptual diagram showing the structure of the information processing apparatus of 2nd embodiment. 正規表現を用いた検索条件の入力例である。It is an example of input of search conditions using a regular expression. 第二実施形態の情報処理装置における情報処理のフローを表わす概念図である。It is a conceptual diagram showing the flow of the information processing in the information processing apparatus of 2nd embodiment. 第三実施形態の情報処理装置の構成を表わす概念図である。It is a conceptual diagram showing the composition of the information processor of a third embodiment. 第三実施形態の情報処理装置における情報処理のフローを表わす概念図である。It is a conceptual diagram showing the flow of the information processing in the information processing apparatus of 3rd embodiment. 図6のS304のステップにおける処理の例を表わす概念図である。It is a conceptual diagram showing the example of the process in the step of S304 of FIG. 処理後のデータの状況の例を示す概念図(その1)である。It is a conceptual diagram (the 1) which shows the example of the condition of the data after a process. 処理後のデータの状況の例を示す概念図(その2)である。It is a conceptual diagram (the 2) which shows the example of the condition of the data after a process. 処理後のデータの状況の例を示す概念図(その3)である。It is a conceptual diagram (the 3) which shows the example of the condition of the data after a process. 処理後のデータの状況の例を示す概念図(その4)である。It is a conceptual diagram (the 4) which shows the example of the condition of the data after a process. 処理後のデータの状況の例を示す概念図(その5)である。It is a conceptual diagram (the 5) which shows the example of the condition of the data after a process. 処理後のデータの状況の例を示す概念図(その6)である。It is a conceptual diagram (the 6) which shows the example of the condition of the data after a process. 処理後のデータの状況の例を示す概念図(その7)である。It is a conceptual diagram (the 7) which shows the example of the condition of the data after a process. 第四実施形態の情報処理装置の構成を表わす概念図である。It is a conceptual diagram showing the structure of the information processing apparatus of 4th embodiment. 入力されるソースコードの例を示す概念図である。It is a conceptual diagram which shows the example of the source code input. 第四実施形態の情報処理装置における情報処理のフローを表わす概念図である。It is a conceptual diagram showing the flow of the information processing in the information processing apparatus of 4th embodiment.

第一実施形態は、本発明の最小構成の情報処理装置に関する実施形態である。
[構成と動作]
図1は、本実施形態の情報処理装置の構成と動作を表わす概念図である。
The first embodiment is an embodiment related to the information processing apparatus with the minimum configuration of the present invention.
[Configuration and operation]
FIG. 1 is a conceptual diagram showing the configuration and operation of the information processing apparatus of this embodiment.

本実施形態の情報処理装置1は、抽出情報出力装置90を備える。   The information processing device 1 of the present embodiment includes an extraction information output device 90.

抽出情報出力装置90は、デバッグ情報入力部100と、検索条件入力部110と、抽出項目指定部160と、前処理部150と、検索抽出部120と、抽出情報出力部140とを備える。   The extraction information output device 90 includes a debug information input unit 100, a search condition input unit 110, an extraction item designation unit 160, a preprocessing unit 150, a search extraction unit 120, and an extraction information output unit 140.

デバッグ情報入力部100は、図示しないコンパイラ/リンカによるコンパイル/リンクにより出力される、図示しないデバッガによるデバッグのために用いる情報(以下、「デバッグ情報」という。)を、以降の処理用の信号にする。デバッグ情報を含む信号は、前処理部150に送られる。   The debug information input unit 100 outputs information used for debugging by a debugger (not shown) (hereinafter referred to as “debug information”) output by compiling / linking by a compiler / linker (not shown) as a signal for subsequent processing. Do. A signal including debug information is sent to the preprocessing unit 150.

検索条件入力部110は、入力された検索条件を以降の処理用の信号にする。検索条件を含む信号は、検索抽出部120に送られる。   The search condition input unit 110 sets the input search condition as a signal for subsequent processing. The signal including the search condition is sent to the search extraction unit 120.

前処理部150は、デバッグ情報入力部100中に含まれる、シンボルのオフセットアドレスを用いて、そのシンボルのアドレスを求め、そのシンボルと関連付ける。そして、そのシンボルと関連付けたアドレスを含むアドレス情報を生成する。アドレス情報を含む信号は、検索抽出部120に送られる。   The preprocessing unit 150 obtains the address of the symbol using the offset address of the symbol included in the debug information input unit 100, and associates the address with the symbol. Then, address information including an address associated with the symbol is generated. The signal including the address information is sent to the search extraction unit 120.

検索抽出部120は、検索条件入力部110から送られた検索条件により、前処理部150から送られたアドレス情報を検索し、検索した内容について、該当する情報を抽出する。抽出された情報を含む信号は、抽出情報出力部140に送られる。   The search extraction unit 120 searches the address information sent from the pre-processing unit 150 according to the search condition sent from the search condition input unit 110, and extracts the corresponding information from the searched contents. The signal including the extracted information is sent to the extraction information output unit 140.

抽出情報出力部140は、検索抽出部120から送られた情報をもとに、抽出された情報を出力する。
[効果]
本実施形態の情報処理装置は、シンボルについての情報を、確実に、容易に、しかも短時間に取得することができる。
<第二実施形態>
第二実施形態は、デバッグ情報に含まれる文字列の中から検索条件として入力される正規表現により記述された文字列と一致するものを検索し、その検索された文字列に対応する情報を抽出する情報処理装置に関する実施形態である。
[構成と動作]
図2は、本実施形態の情報処理装置の構成を表わす概念図である。
The extraction information output unit 140 outputs the extracted information based on the information sent from the search extraction unit 120.
[effect]
The information processing apparatus according to the present embodiment can acquire information on symbols reliably, easily, and in a short time.
Second Embodiment
In the second embodiment, the character string included in the debug information is searched for one that matches the character string described by the regular expression input as the search condition, and the information corresponding to the searched character string is extracted This embodiment relates to an information processing apparatus.
[Configuration and operation]
FIG. 2 is a conceptual diagram showing the configuration of the information processing apparatus of the present embodiment.

本実施形態の情報処理装置1は、抽出情報出力装置90を備える。   The information processing device 1 of the present embodiment includes an extraction information output device 90.

抽出情報出力装置90は、デバッグ情報入力部100と、検索条件入力部110と、抽出項目指定部160と、前処理部150と、検索抽出部120と、処理部130と、抽出情報出力部140とを備える。   The extraction information output unit 90 includes a debug information input unit 100, a search condition input unit 110, an extraction item designation unit 160, a preprocessing unit 150, a search extraction unit 120, a processing unit 130, and an extraction information output unit 140. And

デバッグ情報入力部100は、入力されたデバッグ情報を以降の処理用の信号にする。その信号は、前処理部150に送られる。   The debug information input unit 100 uses the input debug information as a signal for subsequent processing. The signal is sent to the pre-processing unit 150.

検索条件入力部110は、入力された検索条件を以降の処理用の信号にする。その信号はは、検索抽出部120に送られる。   The search condition input unit 110 sets the input search condition as a signal for subsequent processing. The signal is sent to the search extraction unit 120.

抽出項目指定部160は、検索抽出部120において、検索される内容について抽出する、オフセットアドレスを用いて算出したアドレスを含む抽出項目を指定する。指定された抽出項目を含む信号は検索抽出部120に送られる。   The extraction item designation unit 160 designates the extraction item including the address calculated using the offset address, which is extracted for the content to be searched in the search and extraction unit 120. The signal including the designated extraction item is sent to the search extraction unit 120.

前処理部150は、デバッグ情報入力部100から送られるデバッグ中に含まれる、シンボルのオフセットアドレスを用いて、そのシンボルのアドレスを求め、そのシンボルと関連付ける。また、デバッグ情報中に含まれるオフセットアドレス以外の情報の一部について、シンボルと関連付ける。これらの、シンボルと関連付けられた情報を含む信号は、検索抽出部120に送られる。   The preprocessing unit 150 obtains the address of the symbol using the offset address of the symbol included in the debugging sent from the debug information input unit 100, and associates the address with the symbol. In addition, a part of the information other than the offset address included in the debug information is associated with the symbol. A signal including information associated with these symbols is sent to the search extraction unit 120.

検索抽出部120は、検索条件入力部110から送られる検索条件により、前処理部150から送られたアドレス情報について検索する。そして、抽出項目指定部160において指定された抽出項目について、検索された内容に対応する情報を抽出する。抽出された情報は処理部130に送られる。   The search extraction unit 120 searches for the address information sent from the preprocessing unit 150 according to the search condition sent from the search condition input unit 110. Then, for the extraction item designated in the extraction item designation unit 160, information corresponding to the searched content is extracted. The extracted information is sent to the processing unit 130.

処理部130は、検索抽出部120から送られた情報を処理する。処理後の信号は、抽出情報出力部140に送られる。   The processing unit 130 processes the information sent from the search extraction unit 120. The processed signal is sent to the extraction information output unit 140.

抽出情報出力部140は、処理部130から送られた情報をもとに、抽出された情報を出力する。   The extraction information output unit 140 outputs the extracted information based on the information sent from the processing unit 130.

デバッグ情報入力部100から入力されるデバッグ情報は、図示しないデバッガや、やはり図示しないデバッガ情報を記録した記録装置等から入力される。   The debug information input from the debug information input unit 100 is input from a debugger (not shown), a recording device (not shown) that records debugger information, etc.

そのデバッグ情報は、使用するデバッガの種類により異なる。デバッグ情報は、シンボル名を利用してデバッグを行うシンボリックデバッガでデバッグを行う場合には、典型的には、シンボル情報、型情報及びソースコードと行番号情報である。シンボル情報は、シンボルの、シンボル名、アドレス、サイズ、種類及びスコープなどである。型情報は、型の、名前、種類、サイズ、リンクされている他の型、子供型、オフセット、関数の呼び出し規約等である。   The debugging information varies depending on the type of debugger used. The debugging information is typically symbol information, type information, source code, and line number information when debugging is performed using a symbolic debugger that performs debugging using symbol names. The symbol information includes the symbol name, address, size, type, and scope of the symbol. Type information includes type name, type, size, other linked types, child types, offsets, function calling conventions, and so on.

デバッグ情報は、基本的にバイナリ形式で記述されているが、シンボル名はデバッグ情報に文字列として格納されている。   The debugging information is basically described in binary format, but the symbol name is stored as a string in the debugging information.

検索条件入力部110から入力される検索条件は、コンピュータ等のキーボードにより作業者の操作により入力されても、検索条件を記録させておいた図示しない外部記録装置からの信号により入力されても構わない。   The search conditions input from the search condition input unit 110 may be input by a signal from an external recording device (not shown) in which the search conditions are recorded, even if the search conditions are input by the operation of the operator using a keyboard such as a computer. Absent.

その検索条件における検索対象は文字列により記述される。検索対象は、出力させたいシンボルの名前(変数名、メンバ名、配列要素等)をC言語表記で正規表現により記述したものを用いる。図3は正規表現を用いた検索対象の入力例である。同図には、var1から始まる変数を正規表現により指定する場合の入力例を示してある。   The search target in the search condition is described by a character string. The search target uses the name (variable name, member name, array element, etc.) of the symbol to be output described by a regular expression in C language notation. FIG. 3 shows an example of search target input using a regular expression. The figure shows an example of input when a variable beginning with var1 is specified by a regular expression.

検索抽出部120における検索及び抽出は、デバッグ情報入力部100から送られるデバッグ情報、検索条件入力部110から送られる検索条件及び抽出項目指定部160から送られる抽出項目のすべてがそろってから行う。これらの情報は、典型的には、図示しない記録部に記録させておき、その記録させておいた情報を読み込むことにより行う。   The search and extraction in the search and extraction unit 120 are performed after all the debug information sent from the debug information input unit 100, the search condition sent from the search condition input unit 110, and the extraction item sent from the extraction item designation unit 160 are complete. These pieces of information are typically recorded in a recording unit (not shown) and read by reading the recorded information.

検索抽出部120における検索は、検索対象を表わす文字列と、デバッグ情報に格納された文字列との一致を判定することにより行う。一致する場合に、その一致した文字列に対応する情報を抽出する。検索対象を表わす文字列を正規表現により記述することにより、ソフトウェア開発において共通化され広く一般的に用いられる、文字列の一致による検索プログラムを用いることができる。これにより、単なる情報の羅列に見えるデバッグ情報の中から、検索条件の文字列を容易に検索し、その文字列に対応する情報を抽出することができる。   The search in the search extraction unit 120 is performed by determining whether the character string representing the search target matches the character string stored in the debug information. If they match, the information corresponding to the matched character string is extracted. By describing a character string representing a search target by using a regular expression, it is possible to use a character string matching search program commonly used widely in software development and generally used. As a result, it is possible to easily search the character string of the search condition from the debug information which looks like a list of information, and to extract the information corresponding to the character string.

抽出項目についての抽出情報の抽出及び出力は、例えば、以下のように行うことができる。   Extraction and output of extraction information for an extraction item can be performed, for example, as follows.

変数の型が単純型の場合は、検索対象として入力された変数を表わす文字列のシンボル名と文字列が一致したシンボル名についてのアドレス等を抽出し、出力する。   If the type of the variable is a simple type, an address etc. is extracted and output for a symbol name whose character string matches the symbol name of the character string representing the variable input as the search target.

変数の型が構造体、共用体、ビットフィールドの場合には、これらについて抽出した情報よりこれらが持つメンバのオフセットアドレス(相対的アドレス)を取得し、メンバのアドレスを自動算出し出力する。構造体が構造体で構成され入れ子となっている場合には、さらにその子となる構造体のメンバとオフセットを取得しアドレスを自動算出し出力する。   If the type of the variable is a structure, union or bit field, the offset address (relative address) of the member they possess is obtained from the information extracted about them, and the address of the member is automatically calculated and output. If the structure is composed of structures and is nested, then the members and offsets of the child structures are obtained, and the address is automatically calculated and output.

また、変数やそのメンバが配列の場合には、配列要素毎にアドレスを出力する。   If the variable or its member is an array, an address is output for each array element.

メンバ名や配列の要素名(シンボル名)はC言語表記で出力し、各要素に対して詳細アドレス情報(アドレスとサイズ、ビットフィールドの場合にはビット位置とビット幅)を出力し、開発者にとって直観的に理解できる形式とする。また抽出情報は膨大な量となることもある。このような場合は、シンボル名による検索、絞りこみ機能を持たせる方がより好ましい。この際の検索条件は正規表現で記述することがでる。絞りこみ機能により、必要な変数情報のみを絞り込んで出力することができる。構造体情報が幾重にも入れ子となっている場合でも、末端のメンバ名を検索条件として与えることで、そのメンバを含む変数の情報を取得することができる。   The member name and element name (symbol name) of the array are output in C language notation, detailed address information (address and size, bit position and bit width in the case of bit field) are output for each element, and the developer Form that can be intuitively understood. Also, the extraction information may be enormous. In such a case, it is more preferable to have a search by symbol name and a narrowing function. The search condition at this time can be described by a regular expression. The narrowing function can narrow down and output only necessary variable information. Even when the structure information is nested in multiple layers, information on variables including the members can be acquired by giving the member name at the end as a search condition.

抽出情報はバイナリ形式で記述されているので、文字列に変換されて出力される。この際の変換には、一般に広く用いられている変換ソフトウェアを用いる。   Since the extraction information is described in binary format, it is converted to a character string and output. For conversion at this time, generally used conversion software is used.

抽出項目指定部160において指定される抽出項目は、入力により指定しても、予め設定された値を用いてもよい。この際の入力は、コンピュータ等のキーボードにより作業者により行われても、予め抽出項目を記録させておいた、図示しない記録装置からの信号により行われても構わない。
[処理フロー]
図4は本実施形態の情報処理装置における情報処理のフローを表わす概念図である。
The extraction item designated in the extraction item designation unit 160 may be designated by input or may use a preset value. The input at this time may be performed by the operator using a keyboard such as a computer, or may be performed by a signal from a recording device (not shown) in which extraction items are recorded in advance.
Processing flow
FIG. 4 is a conceptual diagram showing the flow of information processing in the information processing apparatus of the present embodiment.

まず、デバッグ情報入力部100は、入力されたデバッグ情報を以降の処理用の信号Vaにする(S201)。信号Vaは、前処理部150に送られる。   First, the debug information input unit 100 sets the input debug information as a signal Va for subsequent processing (S201). The signal Va is sent to the pre-processing unit 150.

次に、検索条件入力部110は、入力された検索条件を以降の処理用の信号Vbにする(S202)。信号Vbは検索抽出部120に送られる。   Next, the search condition input unit 110 sets the input search condition as a signal Vb for subsequent processing (S202). The signal Vb is sent to the search extraction unit 120.

そして、抽出項目指定部160において、検索抽出部120における検索対象について抽出される抽出項目が指定される(S203)。指定された抽出項目を含む信号Vcは、検索抽出部120に送られる。   Then, the extraction item designation unit 160 designates an extraction item to be extracted for the search object in the search and extraction unit 120 (S203). The signal Vc including the designated extraction item is sent to the search extraction unit 120.

前処理部150は、デバッグ情報入力部100から送られるデバッグ中に含まれる、シンボルのオフセットアドレスを用いて、そのシンボルのアドレスを求め(S204)、そのシンボルと関連付ける。また、デバッグ情報中に含まれる、オフセットアドレス以外の情報の一部について、シンボルと関連付ける。そして、シンボルと関連付けたアドレスを含むアドレス情報を生成する。アドレス情報を含む信号Vdは、検索抽出部120に送られる。   The preprocessing unit 150 uses the offset address of the symbol included in the debugging sent from the debug information input unit 100, obtains the address of the symbol (S204), and associates the address with the symbol. In addition, a part of information other than the offset address included in debug information is associated with the symbol. Then, address information including an address associated with the symbol is generated. The signal Vd including the address information is sent to the search extraction unit 120.

検索抽出部120は、検索条件入力部110から送られた検索条件をもとに、前処理部150から送られたアドレス情報について検索し、検索条件に合致する内容を求める。合致する内容がある場合には、抽出項目指定部160より送られた抽出項目について、その合致した内容に対応する情報を抽出する。(S205)。抽出した情報を含む信号Veは、処理部130に送られる。   The search extraction unit 120 searches the address information sent from the pre-processing unit 150 based on the search condition sent from the search condition input unit 110, and finds the content that matches the search condition. If there is a content that matches, for the extraction item sent from the extraction item designation unit 160, information corresponding to the content that matches is extracted. (S205). The signal Ve including the extracted information is sent to the processing unit 130.

処理部130は、検索抽出部120から送られた情報を出力させるための信号Vfに処理する(S206)。信号Vfは抽出情報出力部140に送られる。   The processing unit 130 processes the information sent from the search and extraction unit 120 into a signal Vf for output (S206). The signal Vf is sent to the extraction information output unit 140.

抽出情報出力部140は、処理部130から送られた上記信号をもとに、抽出された情報を出力する(S207)。   The extraction information output unit 140 outputs the extracted information based on the signal sent from the processing unit 130 (S207).

同図において、S201乃至S203のステップは順番を入れ替えることもできる。
[効果]
本実施形態の情報処理装置は、まず、第一実施形態の情報処理装置と同様に、変数等のシンボルについての情報を、確実に、容易に、しかも短時間に取得することができる。
In the figure, the steps of S201 to S203 can be switched in order.
[effect]
The information processing apparatus according to the present embodiment can acquire information on symbols such as variables reliably and easily in a short time, as in the information processing apparatus according to the first embodiment.

本実施形態の情報処理装置は、手作業を必要とせず、また特許文献1に記載された方法のような作業の困難性もないので、これらの効果のうち、シンボルについての情報を容易に、短時間に取得することができる点については特に補足しない。以下には、これらの効果のうち、シンボルについての情報を確実に取得できる点について補足説明する。   The information processing apparatus according to the present embodiment does not require a manual operation and does not have the difficulty of operation as in the method described in Patent Document 1. Therefore, among these effects, information about symbols can be easily It does not supplement in particular about the point which can be acquired in a short time. In the following, among these effects, the point that information on symbols can be reliably acquired will be supplementarily described.

まず、本実施形態の情報処理装置は、シンボルである変数及びその要素が構造体である場合にも、そのアドレスを、確実に知ることができる。たとえば、構造体メンバのオフセットアドレスはコンパイル時のオプションに依存したアドレス境界へアライメントされることがある。この結果、メンバ間に予期せぬパディングが発生することがあるが、ソースコードを読むだけではパディングの発生を予見することは難しい。本実施形態の情報処理装置で用いるデバッグ情報における構造体情報には、アライメント後のオフセットアドレスが記録されているため、確実なメンバアドレスを取得することができる。そのため、本実施形態の情報処理装置により取得されたアドレスは、従来の手作業より取得されたアドレスよりも、格段に高い信頼性を有する。   First, the information processing apparatus according to the present embodiment can reliably know the address of a variable that is a symbol and its address even when the element is a structure. For example, the offset addresses of structure members may be aligned to address boundaries depending on compile time options. As a result, unexpected padding may occur between members, but it is difficult to predict the occurrence of padding only by reading the source code. Since offset addresses after alignment are recorded in the structure information in the debug information used in the information processing apparatus of the present embodiment, a reliable member address can be acquired. Therefore, the address acquired by the information processing apparatus of the present embodiment has much higher reliability than the address acquired by the conventional manual operation.

それに加えて、本実施形態の情報処理装置は、文字列の一致により検索するので、構造体の情報がさらに構造体の情報を含み、幾重にも入れ子となっている場合でも、末端のメンバ名を検索条件とすることで、そのメンバを含む変数のアドレスを取得できる。   In addition to that, since the information processing apparatus according to the present embodiment performs a search based on a character string match, even when the structure information further includes structure information and is nested in multiple layers, the end member name By using as the search condition, it is possible to obtain the address of the variable including the member.

この効果を、特許文献1に記述された方法及び一般的なシンボリックデバッガを用いた場合と比較して具体的に説明すると下記のようになる。   The effects will be specifically described below in comparison with the method described in Patent Document 1 and the case of using a general symbolic debugger.

一般的なシンボリックデバッガば、例えば、シンボルを表わす情報としてvar1.m_union.m_bitf.m_bitf1を入力すれば、そのシンボルのアドレス等情報を取得できる。また、var1が分かっていればそこから“var1”から“var1.m_union”を導き出し、それから“var1.m_union.m_bitf”を導き出し、さらにそれから“var1.m_union.m_bitf.m_bitf1”を導き出すことも可能である。しかし、“m_bitf1”のみが分かっている状況で、“var1.m_union.m_bitf.m_bitf1”を導き出すことはできない。そのため、該当するシンボルのアドレス等情報を求めることはできない。   In a general symbolic debugger, for example, var1. m_union. m_bitf. If m_bitf1 is input, the address etc. of the symbol can be acquired. Also, if var1 is known, it is possible to derive "var1.m_union" from "var1", derive "var1.m_union.m_bitf" from it, and further derive "var1.m_union.m_bitf.m_bitf1" from it. is there. However, in a situation where only "m_bitf1" is known, "var1.m_union.m_bitf.m_bitf1" can not be derived. Therefore, information such as the address of the corresponding symbol can not be obtained.

また、特許文献1に記述された方法では、例えばシンボルを表わす情報として“var1.m_union.m_bitf.m_bitf1”を指定すれば望みのアドレス0x0800010が取得できるとされている。しかしながら、この“var1.m_union.m_bitf.m_bitf1”を導き出すにはソースコードを読み解く必要があり、構造が複雑であればあるほどその作業が困難となる。   In the method described in Patent Document 1, for example, it is supposed that the desired address 0x0800010 can be acquired by specifying “var1.m_union.m_bitf.m_bitf1” as information representing a symbol. However, in order to derive "var1.m_union.m_bitf.m_bitf1", it is necessary to read and understand the source code, and the more complicated the structure becomes, the more difficult the work becomes.

本実施形態の情報処理装置は、文字列の一致によりシンボルを検索し、そのシンボルに対応する情報を抽出する。そのため、シンボルを表わす情報として“m_bitf1”を指定するだけで容易に“var1.m_union.m_bitf.m_bitf1”を導き出し、それに対応する目的の情報の取得を確実に行うことができる。この効果は、上記の、一般的なシンボリックデバッガによる方法や特許文献1に記載された方法では得られない。
<第三実施形態>
第三実施形態は、シンボルのアドレス及びサイズを含む情報の詳細マップを生成する情報処理装置に関する実施形態である。
[構成と動作]
図5は、本実施形態の情報処理装置の構成を表わす概念図である。
The information processing apparatus according to the present embodiment searches for a symbol based on a character string match and extracts information corresponding to the symbol. Therefore, "var1.m_union.m_bitf.m_bitf1" can be easily derived simply by specifying "m_bitf1" as information representing a symbol, and acquisition of target information corresponding thereto can be reliably performed. This effect can not be obtained by the above-mentioned general symbolic debugger method or the method described in Patent Document 1.
Third Embodiment
The third embodiment is an embodiment relating to an information processing apparatus that generates a detailed map of information including the address and size of a symbol.
[Configuration and operation]
FIG. 5 is a conceptual diagram showing the configuration of the information processing apparatus of the present embodiment.

本実施形態の情報処理装置1は、抽出情報出力装置90を備える。   The information processing device 1 of the present embodiment includes an extraction information output device 90.

抽出情報出力装置90は、デバッグ情報入力部100と、前処理部150と、検索条件入力部110と、抽出項目指定部160と、検索抽出部120と、処理部130と、抽出情報出力部140とを備える。   The extraction information output unit 90 includes a debug information input unit 100, a preprocessing unit 150, a search condition input unit 110, an extraction item designation unit 160, a search extraction unit 120, a processing unit 130, and an extraction information output unit 140. And

デバッグ情報入力部100は、入力されたデバッグ情報を以降の処理用の信号にする。その信号は、前処理部150に送られる。   The debug information input unit 100 uses the input debug information as a signal for subsequent processing. The signal is sent to the pre-processing unit 150.

前処理部150は、デバッグ情報入力部100から送られたデバッグ情報を、検索抽出部120における検索に適した情報に変換する。前処理部150は、例えば、プログラムに含まれる全変数のアドレスとサイズの情報を作成する。変数の型が構造体、共用体、ビットフィールド、配列の場合には、要素毎に詳細アドレス情報(アドレスとサイズ、ビットフィールドの場合はビット位置とビット幅)を作成する。作成された情報を含む信号は、検索抽出部120に送られる。   The preprocessing unit 150 converts the debug information sent from the debug information input unit 100 into information suitable for search in the search extraction unit 120. The preprocessing unit 150 creates, for example, information on the addresses and sizes of all the variables included in the program. If the type of the variable is a structure, union, bit field or array, detailed address information (address and size, bit position and bit width for bit field) is created for each element. The signal including the created information is sent to the search extraction unit 120.

検索条件入力部110からは、後に例示する詳細マップファイルに出力させたいシンボルのシンボル名(変数名、メンバ名、配列要素)がC言語表記で記述され、入力される。このとき検索対象は正規表現により記述される。検索条件入力部110は、入力された検索条件を、以降の処理用の信号にする。その信号は、検索抽出部120に送られる。   From the search condition input unit 110, symbol names (variable names, member names, array elements) of symbols desired to be output to a detailed map file exemplified later are described and input in C language notation. At this time, the search target is described by a regular expression. The search condition input unit 110 sets the input search condition as a signal for subsequent processing. The signal is sent to the search extraction unit 120.

抽出項目指定部160は、検索抽出部120において抽出する抽出項目を指定する。指定された抽出項目は検索抽出部120に送られる。   The extraction item designation unit 160 designates an extraction item to be extracted in the search and extraction unit 120. The specified extraction item is sent to the search extraction unit 120.

抽出項目指定部160は、検索抽出部120において抽出する抽出項目を指定する。指定された抽出項目は検索抽出部120に送られる。   The extraction item designation unit 160 designates an extraction item to be extracted in the search and extraction unit 120. The specified extraction item is sent to the search extraction unit 120.

検索抽出部120は、検索条件入力部110から送られた検索条件により、前処理部150から送られた情報を検索する。検索条件として設定されたシンボル名が検索された場合に、そのシンボル名について、抽出項目に該当する情報を抽出する。抽出項目を含む信号は処理部130に送られる。   The search extraction unit 120 searches the information sent from the preprocessing unit 150 according to the search condition sent from the search condition input unit 110. When the symbol name set as the search condition is searched, information corresponding to the extraction item is extracted for the symbol name. The signal including the extraction item is sent to the processing unit 130.

処理部130は、検索抽出部120から送られた情報を処理し、後に例を示す詳細マップを出力するための信号にする。その信号は、抽出情報出力部140に送られる。   The processing unit 130 processes the information sent from the search extraction unit 120, and makes a signal for outputting a detailed map showing an example later. The signal is sent to the extraction information output unit 140.

抽出情報出力部140は、処理部130から送られた情報をもとに、詳細マップを出力する。   The extraction information output unit 140 outputs a detailed map based on the information sent from the processing unit 130.

デバッグ情報、検索及び抽出、抽出情報の出力、検索条件及び抽出項目についての本実施形態における説明以外の説明は、第二実施形態の情報処理装置の説明と同様である。従い、その説明を省略する。
[処理フロー]
図6は、本実施形態の情報処理装置における情報処理のフローを表わす概念図である。
The explanation of the debug information, the search and extraction, the output of the extraction information, the search condition and the extraction item other than the explanation in the present embodiment is the same as the description of the information processing apparatus of the second embodiment. Therefore, I omit the explanation.
Processing flow
FIG. 6 is a conceptual diagram showing a flow of information processing in the information processing apparatus of the present embodiment.

まず、デバッグ情報入力部100は入力されたデバッグ情報を以降の処理用の信号Vaにする(S301)。信号Vaは、検索抽出部120に送られる。   First, the debug information input unit 100 sets the input debug information as a signal Va for subsequent processing (S301). The signal Va is sent to the search extraction unit 120.

次に、検索条件入力部110は、入力された検索条件を以降の処理用の信号Vbにする(S302)。信号Vbは検索抽出部120に送られる。   Next, the search condition input unit 110 sets the input search condition as a signal Vb for subsequent processing (S302). The signal Vb is sent to the search extraction unit 120.

そして、抽出項目指定部160において、検索抽出部120における検索対象について抽出される抽出項目が指定される(S303)。指定された抽出項目を含む信号Vcは、検索抽出部120に送られる。   Then, the extraction item designation unit 160 designates an extraction item to be extracted for the search object in the search extraction unit 120 (S303). The signal Vc including the designated extraction item is sent to the search extraction unit 120.

次に、前処理部150は、デバッグ情報入力部100から送られたデバッグ情報を、検索抽出部120における検索に適した情報に変換する(S304)。本処理については後述する。変換された情報を含む信号Vdは、検索抽出部120に送られる。   Next, the preprocessing unit 150 converts the debug information sent from the debug information input unit 100 into information suitable for search in the search extraction unit 120 (S304). This process will be described later. The signal Vd including the converted information is sent to the search extraction unit 120.

検索抽出部120は、検索条件入力部110から送られた検索条件をもとに、前処理部120から送られた情報について検索し、検索条件に合致する内容を求める。合致する内容がある場合には、抽出項目指定部160より送られた抽出項目について、その合致した内容に対応する情報を抽出する。(S305)。抽出した情報を含む信号Veは、処理部130に送られる。   Based on the search condition sent from the search condition input unit 110, the search extraction unit 120 searches for the information sent from the pre-processing unit 120, and finds content that matches the search condition. If there is a content that matches, for the extraction item sent from the extraction item designation unit 160, information corresponding to the content that matches is extracted. (S305). The signal Ve including the extracted information is sent to the processing unit 130.

処理部130は、検索抽出部120から送られた情報を出力させるための信号Veに処理する(S306)。信号Vfは抽出情報出力部140に送られる。   The processing unit 130 processes the information sent from the search and extraction unit 120 into a signal Ve for outputting (S306). The signal Vf is sent to the extraction information output unit 140.

抽出情報出力部140は、処理部130から送られた上記信号をもとに、抽出された情報を出力する(S307)。   The extraction information output unit 140 outputs the extracted information based on the signal sent from the processing unit 130 (S307).

同図において、S301乃至S304のステップは、S302がS301の後になるという条件のもとに、それらの順番を入れ替えることもできる。   In the same figure, in the steps of S301 to S304, their order can be switched under the condition that S302 is after S301.

図7は、図6のS304のステップにおける処理の例を表わす概念図である。ここでは、シンボルのすべてのメンバについて、アドレス、サイズ、ビット位置及びビット幅について表示する詳細情報一覧データを求める場合を示す。この場合の詳細情報一覧が、上述の、前処理部150が変換する、検索抽出部120における検索に適した情報である。   FIG. 7 is a conceptual diagram showing an example of processing in step S304 of FIG. Here, a case is shown where detailed information list data to be displayed for address, size, bit position and bit width is obtained for all members of a symbol. The detailed information list in this case is information suitable for the search in the search extraction unit 120, which is converted by the pre-processing unit 150 described above.

まず、シンボルの基本アドレス(シンボルのメンバではなく最上位のシンボルのアドレスをいう。)を、デバッグ情報を検索し、抽出する(S321)。   First, debug information is searched for and extracted (S321). The basic address of the symbol (the address of the highest symbol rather than the members of the symbol) is searched (S321).

次に、シンボルについて、1階層下のメンバがあるかを判定する(S322)。   Next, it is determined whether there is a member one level lower than the symbol (S322).

1階層下のメンバがある場合には、そのうちの一を特定する(S323)。1階層下のメンバがない場合には終了する。   If there is a member one level lower, one of them is identified (S323). If there is no member one level lower, the process ends.

そして、特定したメンバについて、オフセットアドレスとメンバの型を、デバッグ情報を検索し抽出する(S324)。   Then, with respect to the identified member, the offset address and the type of the member are searched and extracted for debugging information (S324).

次に、そのメンバについて、基本アドレスにオフセットアドレスを足し合わせて、アドレスを求める(S325)。アドレスは、そのメンバのシンボル名と関連付けて記録される。   Next, for the member, an offset address is added to the basic address to obtain an address (S325). The address is recorded in association with the symbol name of the member.

さらに、S322において求めたメンバの型が、ビットフィールドかを判定する(S326)。   Furthermore, it is determined whether the type of the member obtained in S322 is a bit field (S326).

メンバの型がビットフィールドであると判定した場合は、アドレス、サイズ、ビット位置及びビット幅を、そのメンバのシンボル名と関連づけて記録する(S327)。その後、S330に進む。   If it is determined that the type of the member is a bit field, the address, size, bit position and bit width are recorded in association with the symbol name of the member (S327). Then, it progresses to S330.

メンバの型がビットフィールドではないと判定した場合には、そのメンバの型が構造型かを判定する(S328)。   If it is determined that the type of the member is not a bit field, it is determined whether the type of the member is a structured type (S328).

そのメンバの型が構造型でない場合には、アドレス及びサイズを、そのメンバのシンボル名と関連付けて記録する(S329)。その後330に進む。   If the type of the member is not a structural type, the address and size are recorded in association with the symbol name of the member (S329). Then go to 330.

そのメンバの型が構造型の場合には、S323に進む。。   If the type of the member is a structural type, the process advances to step S323. .

次に、同じ階層のメンバについて、アドレスが未記録のメンバがあるか判定する(S330)。   Next, with respect to members of the same hierarchy, it is determined whether there is a member whose address is unrecorded (S330).

同じ階層のメンバについて、アドレスが未記録のメンバがあると判定された場合には、その未記録のメンバのうちの一を特定し、その特定したメンバについて以降の処理を行うことを決める(S331)。そして、S324に進む。   If it is determined that there is an unrecorded member in the address for a member of the same hierarchy, one of the unrecorded members is identified, and it is decided to perform the subsequent processing for the identified member (S331) ). Then, the process proceeds to S324.

同じ階層のメンバについて、アドレスが未記録のメンバがないと判定された場合には、一つ上の階層のメンバについて、アドレスが未記録のメンバがあるかを判定する(332)。   If it is determined that there is no unrecorded member for the address for the members of the same hierarchy, then it is determined whether there is an unrecorded member for the address for the next higher layer member (332).

一つ上の階層のメンバについて、アドレスが未記録のメンバがある場合には、そのメンバのうちの一を特定し、その特定されたメンバについて以降の処理を行うことを決める(S333)。そして、S323に進む。   If there is a member whose address is unrecorded for a member of the next higher hierarchy, one of the members is identified, and it is decided to carry out the subsequent processing for the identified member (S333). Then, the process proceeds to step S323.

一つ上の階層のメンバについて、アドレスが未記録のメンバがない場合には、さらに上の階層のメンバについて、アドレスが未記録のメンバがあるかを判定する(S334)。   If there is no member whose address is unrecorded for the member of the next higher hierarchy, it is determined whether or not there is a member whose address is not yet recorded for the members of the further higher hierarchy (S334).

さらに上の階層のメンバについて、アドレスが未記録のメンバがあると判定された場合には、その未記録のメンバのうちの一を特定し、その特定したメンバについて以降の処理を行うことを決める(S335)。そして、S323に進む。   Further, if it is determined that there is an unrecorded member in the address for the member of the upper hierarchy, one of the unrecorded members is identified, and it is decided to perform the subsequent processing for the identified member. (S335). Then, the process proceeds to step S323.

さらに上の階層のメンバについて、アドレスが未記録のメンバがないと判定された場合には、終了する。   If it is determined that there is no member whose address is not yet recorded for the member of the upper hierarchy, the processing is ended.

こうして、シンボルについてのすべてのメンバについて、アドレス及びサイズ、並びに型がビットフィールドの場合におけるビット位置及びビット幅が、シンボル名と関連づけて記録される。   Thus, for all members of the symbol, the address and size, and bit position and bit width in the case of type bit field, are recorded in association with the symbol name.

図8a乃至図8gは、図7に記載したいくつかの処理について、処理後のデータの状況の例を示す概念図である。このデータは出力されず前処理部150の図示しない記録部に記録されるだけのものでもよいが、ここでは理解容易のため、そのデータが出力された場合を示してある。   8a to 8g are conceptual diagrams showing an example of the status of data after processing for some of the processing described in FIG. This data may not be output but may only be recorded in a recording unit (not shown) of the pre-processing unit 150, but here, for ease of understanding, the case where the data is output is shown.

また、同図では、シンボルが以下の内容の場合について例示してある。   Also, in the figure, symbols are illustrated for the following contents.

・シンボル名var1のすべてのメンバについて、アドレス、サイズ、ビット位置及びビット幅について表示する詳細情報一覧を表示する。この詳細情報一覧が上述の「検索抽出部120における検索に適した情報」である。   Display a list of detailed information to be displayed for address, size, bit position and bit width for all members of the symbol name var1. This detailed information list is the above-mentioned "information suitable for search in the search extraction unit 120".

・var1は、m_structとm_unionの2つのメンバをもつ。   Var1 has two members, m_struct and m_union.

・m_structはm_struct[0]とm_struct[1]の2つの配列を持つ。   M_struct has two arrays of m_struct [0] and m_struct [1].

・m_struct[0]は、m_str1、m_str2及びm_str3の3つのサブメンバをもつ。   M_struct [0] has three submembers m_str1, m_str2 and m_str3.

・m_struct[1]は、m_str1、m_str2及びm_str3の3つのサブメンバをもつ。   M_struct [1] has three submembers m_str1, m_str2 and m_str3.

・m_unionは、m_bitfとm_arrayの2つのサブメンバをもつ。   M_union has two submembers of m_bitf and m_array.

・m_bitfは、m_bitf1、m_bitf2及びm_bitf3の3個のビットフィールドで表されたサブメンバをもつ。   M_bitf has a sub-member represented by three bit fields of m_bit f1, m_bit f2 and m_bit f3.

・m_arrayは、m_array[0]、m_array[1]、m_array[2]及びm_array[3]の4つの配列をもつ。   M_array has four arrays of m_array [0], m_array [1], m_array [2] and m_array [3].

・var1.m_union.m_bitf.m_bitf3とvar1.m_union.m_array.m_array[0]は共用体を構成する。   ・ Var1. m_union. m_bitf. m_bitf3 and var1. m_union. m_array. m_array [0] constitutes a union.

図8aは、S321の処理後のデータの状況を表わす概念図である。シンボル名var1について基本アドレスが抽出されている。   FIG. 8a is a conceptual diagram showing the state of data after the process of S321. A basic address has been extracted for the symbol name var1.

図8bは、1回目のS324の処理後のデータの状況を表わす概念図である。シンボル名がvar1.m_struct[0]のメンバについて、オフセットアドレスと型が表示されている。   FIG. 8b is a conceptual diagram showing the state of data after the first processing of S324. The symbol name is var1. The offset address and type are displayed for the members of m_struct [0].

図8cは、1回目のS325の処理後のデータの状況を表わす概念図である。シンボル名がvar1.m_struct[0]のメンバについて、アドレスと型が表示されている。   FIG. 8 c is a conceptual diagram showing the state of data after the first processing of S 325. The symbol name is var1. The address and type are displayed for the members of m_struct [0].

図8dは、同図に示した時点でのデータの状況を表わす概念図である。var1.m_struct[0].m_str1、var1.m_struct[0].m_str2及びvar1.m_struct[0].m_str3のシンボル名をもつ3つのメンバについて、アドレスとサイズが表示されている。   FIG. 8 d is a conceptual diagram showing the state of data at the time shown in the figure. var1. m_struct [0]. m_str1, var1. m_struct [0]. m_str2 and var1. m_struct [0]. Addresses and sizes are displayed for three members with symbol names of m_str3.

図8eは、同図に示した時点でのデータの状況を表わす概念図である。さらに、var1.m_struct[1].m_str1、var1.m_struct[1].m_str2及びvar1.m_struct[1].m_str3のシンボル名をもつ3つのメンバについて、アドレスとサイズが表示されている。   FIG. 8 e is a conceptual diagram showing the state of data at the time shown in the figure. Furthermore, var1. m_struct [1]. m_str1, var1. m_struct [1]. m_str2 and var1. m_struct [1]. Addresses and sizes are displayed for three members with symbol names of m_str3.

図8fは、同図に示した時点でのデータの状況を表わす概念図である。3つのビットフィールドで表されたメンバについて、アドレス、サイズ、ビット位置及びビット幅が表示されている。   FIG. 8 f is a conceptual diagram showing the state of data at the point shown in the figure. The address, size, bit position and bit width are displayed for the members represented by the three bit fields.

こうして、図7に概念図を表わした処理を順次行うことにより、最終的には、図8gに概念図を表わした内容のデータが記録され、処理が終了する。   Thus, by sequentially performing the processing shown in the conceptual diagram in FIG. 7, finally, the data of the content representing the conceptual diagram in FIG. 8g is recorded, and the processing is completed.

なお、図8gに表わしたデータにおいて、var1.m_union.m_bitf.m_bitf3とvar1.m_union.m_array.m_array[0]とのアドレスが同じなのは、この2つのシンボルが同じ共用型のためである。   In the data shown in FIG. m_union. m_bitf. m_bitf3 and var1. m_union. m_array. The same address with m_array [0] is because these two symbols have the same shared type.

抽出情報出力部140において出力される詳細マップの内容は、次の場合には、同図(d)に記載した内容と同じになる。
・検索条件入力部110において、シンボル名var1のすべてのメンバについて検索を行うという条件を入力する。
・さらに、抽出項目指定部160において、シンボル名、アドレス、サイズ、ビット位置及びビット幅について抽出することを指定する。
The contents of the detailed map output by the extraction information output unit 140 are the same as the contents described in FIG.
In the search condition input unit 110, a condition to search for all members of the symbol name var1 is input.
Further, the extraction item designation unit 160 designates to extract the symbol name, the address, the size, the bit position, and the bit width.

もちろん、検索条件入力部110において入力される検索条件や、抽出項目指定部160において指定される抽出項目を絞って、限られた範囲の情報を出力することもできる。
[効果]
本実施形態の情報処理装置は、まず、第二実施形態の情報処理装置と同様の効果を奏する。
It is of course possible to narrow down the search condition input in the search condition input unit 110 and the extraction item specified in the extraction item specification unit 160 to output information in a limited range.
[effect]
The information processing apparatus of the present embodiment exhibits the same effects as the information processing apparatus of the second embodiment.

加えて、本実施形態の情報処理装置は、シンボルである変数に含まれる全要素のアドレスとサイズの抽出を、従来の手作業で行った場合と比較して、格段に容易かつ短時間に実施することができる。そのため、例えば、組み込みソフトウェア開発時の検査/デバッグ作業や、そのために必要なRAMモニタへの設定作業を大幅に短縮できる。   In addition, the information processing apparatus according to the present embodiment performs extraction of addresses and sizes of all elements included in variables that are symbols much more easily and in a short time as compared with the case where the conventional manual processing is performed. can do. Therefore, for example, inspection / debug work at the time of embedded software development and setting work for the RAM monitor necessary for that can be significantly shortened.

さらに、本実施形態の情報処理装置は、構造体が幾重にも入れ子となっているような変数であっても、候補となる全変数の一覧を確実に取得することができる。構造体が幾重にも入れ子となっているような変数の場合、末端のメンバ名から、その親となる変数名をソースコードから調査するのは大変な労力となり、作業ミスも生じやすい。しかし、本実施形態の情報処理装置において、メンバ名を検索条件として与えることにより、候補となる全変数の一覧を取得することができる。そのため、ソースコード内容を熟知することなく、検査対象となる変数のアドレス情報を取得することができ、作業員の技術的なハードルを飛躍的に下げることができる。
<第四実施形態>
本実施形態は、コンパイラ/リンカをさらに備える情報処理装置に関する実施形態である。
[構成と動作]
図9は、本実施形態の情報処理装置の構成を表わす概念図である。
Furthermore, the information processing apparatus according to the present embodiment can reliably acquire a list of all candidate variables, even for variables in which structures are nested in multiple layers. In the case of a variable in which structures are nested in multiple layers, it is very laborious to find the parent variable name from the source code from the end member name, and it is easy to make a work mistake. However, in the information processing apparatus according to the present embodiment, by giving the member name as the search condition, it is possible to obtain a list of all the candidate variables. Therefore, the address information of the variable to be inspected can be acquired without well knowing the source code contents, and the technical hurdles of the workers can be dramatically reduced.
Fourth Embodiment
The present embodiment is an embodiment related to an information processing apparatus further comprising a compiler / linker.
[Configuration and operation]
FIG. 9 is a conceptual diagram showing the configuration of the information processing apparatus of the present embodiment.

本実施形態の情報処理装置1は、コンパイラ/リンカ10と、抽出情報出力装置90を備える。   The information processing device 1 of the present embodiment includes a compiler / linker 10 and an extraction information output device 90.

コンパイラ/リンカ10は、ソースコード入力部20と、コンパイル/リンク処理部30と、オブジェクトコード出力部40と、デバッグ情報出力部80とを備える。   The compiler / linker 10 includes a source code input unit 20, a compile / link processing unit 30, an object code output unit 40, and a debug information output unit 80.

抽出情報出力装置90は、デバッグ情報入力部100と、前処理部150と、検索条件入力部110と、抽出項目指定部160と、検索抽出部120と、処理部130と、抽出情報出力部140とを備える。   The extraction information output unit 90 includes a debug information input unit 100, a preprocessing unit 150, a search condition input unit 110, an extraction item designation unit 160, a search extraction unit 120, a processing unit 130, and an extraction information output unit 140. And

コンパイラ/リンカ10のソースコード入力部20は、入力された処理対象となるソースコードを以降の処理用の信号にする。その信号はコンパイル/リンク処理部30に送られる。   The source code input unit 20 of the compiler / linker 10 uses the input source code to be processed as a signal for subsequent processing. The signal is sent to the compile / link processor 30.

コンパイル/リンク処理部30は、ソースコード入力部20から送られたソースコードに対し、コンパイル/リンク処理を行い、オブジェクトコード及びデバッグ情報を生成する。生成されたオブジェクトコードは、オブジェクトコード出力部40に送られる。また、生成されたデバッグ情報はデバッグ情報出力部80に送られる。   The compile / link processing unit 30 compiles / links the source code sent from the source code input unit 20 to generate an object code and debug information. The generated object code is sent to the object code output unit 40. The generated debug information is sent to the debug information output unit 80.

オブジェクトコード出力部40は、コンパイル/リンク処理部30から送られたオブジェクトコードを出力する。   The object code output unit 40 outputs the object code sent from the compilation / link processing unit 30.

デバッグ情報出力部80は、コンパイル/リンク処理部30から送られたデバッグ情報を、抽出情報出力装置90のデバッグ情報入力部100に出力する。   The debug information output unit 80 outputs the debug information sent from the compilation / link processing unit 30 to the debug information input unit 100 of the extraction information output device 90.

図10は、ソースコード入力部20から入力されるソースコードの例を示す概念図である。ソースコードは、シンボルである変数の定義に関する部分を示してある。   FIG. 10 is a conceptual diagram showing an example of source code input from the source code input unit 20. As shown in FIG. The source code shows the part about the definition of the variable which is a symbol.

抽出情報出力装置90についての説明は、第三実施形態における説明と同様であるので、ここではその説明を省略する。
[処理フロー]
図11は、本実施形態の情報処理装置の情報処理のフローを表わす概念図である。
The description of the extraction information output device 90 is the same as that of the third embodiment, and thus the description thereof is omitted here.
Processing flow
FIG. 11 is a conceptual diagram showing the flow of information processing of the information processing apparatus of this embodiment.

まず、コンパイラ/リンカ10のソースコード入力部20に、処理対象となるソースコードが入力される(S401)。ソースコードを含む信号Vgはコンパイル/リンク処理部30に送られる。   First, source code to be processed is input to the source code input unit 20 of the compiler / linker 10 (S401). The signal Vg including the source code is sent to the compile / link processor 30.

コンパイル/リンク処理部30は、ソースコード入力部20から送られたソースコードに対し、コンパイル/リンク処理を行い、オブジェクトコード及びデバッグ情報を生成する(S402)。生成されたオブジェクトコードを含む信号Vhは、オブジェクトコード出力部40に送られる。また、生成されたデバッグ情報はデバッグ情報出力部80に送られる。   The compile / link processing unit 30 compiles / links the source code sent from the source code input unit 20, and generates an object code and debug information (S402). The signal Vh including the generated object code is sent to the object code output unit 40. The generated debug information is sent to the debug information output unit 80.

オブジェクトコード出力部40は、コンパイル/リンク処理部30から送られたオブジェクトコードを出力する(S403)。   The object code output unit 40 outputs the object code sent from the compilation / link processing unit 30 (S403).

デバッグ情報出力部80は、コンパイル/リンク処理部30から送られたデバッグ情報を含む信号Viを、抽出情報出力装置90のデバッグ情報入力部100に出力する(S404)。   The debug information output unit 80 outputs the signal Vi including the debug information sent from the compile / link processing unit 30 to the debug information input unit 100 of the extraction information output device 90 (S404).

S405以降のステップについての説明は第三実施形態における図6についての説明と同様なので、ここではその説明を省略する。
[効果]
本実施形態の情報処理装置は、まず第三実施形態の情報処理装置と同じ効果を奏する。
The description of the steps after S405 is the same as the description of FIG. 6 in the third embodiment, and thus the description thereof is omitted here.
[effect]
The information processing apparatus of the present embodiment exhibits the same effects as the information processing apparatus of the third embodiment.

加えて、本実施形態の情報処理装置は、対象となるソースコードのコンパイル/リンク処理を行う作業とともに、詳細マップを作成することができる。   In addition, the information processing apparatus according to the present embodiment can create a detailed map as well as the task of compiling / linking the target source code.

以上好ましい実施形態をあげて本発明を説明したが、本発明は必ずしも上記実施形態に限定されるものではなく、その技術的思想の範囲内において様々に変形し実施することが出来る。   Although the present invention has been described above with reference to the preferred embodiments, the present invention is not necessarily limited to the above embodiments, and can be variously modified and implemented within the scope of the technical idea thereof.

また、上記の実施形態の一部又は全部は、以下の付記のようにも記述され得るが、以下には限られない。
(付記1)
入力されたデバッグ情報を以降の処理用の信号にするデバッグ情報入力手段と、
入力された、検索をする際に用いられる検索条件を、以降の処理用の信号にする検索条件入力手段と、
前記デバッグ情報に含まれる、シンボルについてのオフセットアドレスから、そのシンボルについてのアドレスを求め、そのアドレスをそのシンボルと関連付けた情報を含むアドレス情報を生成する前処理手段と、
前記検索条件により、前記アドレス情報について前記検索をし、前記検索により検索された内容に対応する抽出情報の抽出をする検索抽出手段と、
前記抽出情報の出力をする抽出情報出力手段と、
を備える情報処理装置。
(付記2)
前記検索条件における検索対象が正規表現で記述されている付記1に記載された情報処理装置。
(付記3)
前記検索の検索対象がシンボル名である付記1又は2に記載された情報処理装置。
(付記4)
前記デバッグ情報が、文字列により記述された文字列シンボル名を格納し、
前記検索条件における検索対象が文字列により入力された文字列検索対象であり、
前記検索が、前記文字列検索対象と、前記文字列シンボル名との一致についての検索であり、
前記一致をした前記文字列シンボル名に対応する情報について前記抽出をする
付記3に記載された情報処理装置。
(付記5)
前記シンボル名が変数又はその変数のメンバについてのシンボル名である付記3又は4に記載された情報処理装置。
(付記6)
前記変数の型が構造体または共用体である前記変数の前記メンバのオフセットアドレスの前記抽出をし、そのオフセットアドレスにより前記メンバのアドレスを算出する
付記5に記載された情報処理装置。
(付記7)
前記変数のすべての前記メンバのオフセットアドレスの前記抽出をし、そのオフセットアドレスによりすべての前記メンバのアドレスを算出する
付記6に記載された情報処理装置。
(付記8)
前記メンバの型がビットフィールドである前記メンバのオフセットアドレスの前記抽出をし、そのオフセットアドレスにより前記メンバのアドレスを算出する
付記5に記載された情報処理装置。
(付記9)
すべての前記メンバの前記オフセットアドレスの前記抽出をし、そのオフセットアドレスによりすべての前記メンバのアドレスを算出する
付記8に記載された情報処理装置。
(付記10)
前記変数やその変数のメンバが配列の場合において、その配列又はその配列のメンバについて前記抽出をする付記5乃至9に記載された情報処理装置。
(付記11)
前記抽出情報が、前記検索対象の、アドレス及びサイズを含む、付記1乃至10のうちのいずれか一に記載された情報処理装置。
(付記12)
前記抽出情報が、前記検索対象の、ビット位置及びビット幅をさらに含む付記11に記載された情報処理装置。
(付記13)
前記デバッグ情報を出力するコンパイラをさらに備える、付記1乃至12に記載された情報処理装置。
(付記14)
入力されたデバッグ情報を以降の処理用の信号にするステップと、
入力された、検索をする際に用いられる検索条件を、以降の処理用の信号にをするステップと、
前記デバッグ情報に含まれる、シンボルについてのオフセットアドレスから、そのシンボルについてのアドレスを求め、そのアドレスをそのシンボルと関連付けた情報を含むアドレス情報を生成するステップと、
前記検索条件により、前記アドレス情報について前記検索をし、前記検索により検索された内容に対応する抽出情報の抽出をするステップと、
前記抽出情報の出力をするステップと、
を含む情報処理方法。
(付記15)
入力されたデバッグ情報を以降の処理用の信号にする処理と、
入力された、検索をする際に用いられる検索条件を、以降の処理用の信号にする処理と、
前記デバッグ情報に含まれる、シンボルについてのオフセットアドレスから、そのシンボルについてのアドレスを求め、そのアドレスをそのシンボルと関連付けた情報を含むアドレス情報を生成するステップと、
前記検索条件により、前記アドレス情報について前記検索をし、前記検索により検索された内容に対応する抽出情報の抽出をする処理と、
前記抽出情報の出力をする処理と、
を含む処理をコンピュータに実行させる情報処理プログラム。
In addition, part or all of the above-described embodiment may be described as in the following appendices, but is not limited to the following.
(Supplementary Note 1)
Debug information input means for converting the input debug information into a signal for subsequent processing;
Search condition input means for converting the input search conditions used in the search into signals for subsequent processing;
Pre-processing means for obtaining an address for the symbol from an offset address for the symbol included in the debug information, and generating address information including information in which the address is associated with the symbol;
Search extraction means for performing the search for the address information according to the search condition and for extracting extraction information corresponding to the contents searched for by the search;
Extraction information output means for outputting the extraction information;
An information processing apparatus comprising:
(Supplementary Note 2)
The information processing apparatus according to appendix 1, wherein a search target in the search condition is described as a regular expression.
(Supplementary Note 3)
The information processing apparatus according to claim 1 or 2, wherein a search target of the search is a symbol name.
(Supplementary Note 4)
The debug information stores a string symbol name described by a string,
The search target in the search condition is a character string search target input by a character string,
The search is a search for a match between the character string search target and the character string symbol name,
The information processing apparatus according to appendix 3, wherein the information corresponding to the matched character string symbol name is extracted.
(Supplementary Note 5)
The information processing apparatus according to appendix 3 or 4, wherein the symbol name is a symbol name for a variable or a member of the variable.
(Supplementary Note 6)
The information processing apparatus according to appendix 5, wherein the extraction of the offset address of the member of the variable whose type is a structure or a union is performed, and the address of the member is calculated by the offset address.
(Appendix 7)
The information processing apparatus according to appendix 6, wherein the extraction of the offset addresses of all the members of the variable is performed, and the addresses of all the members are calculated by the offset addresses.
(Supplementary Note 8)
The information processing apparatus according to appendix 5, wherein the extraction of the offset address of the member whose type is the bit field is performed, and the address of the member is calculated by the offset address.
(Appendix 9)
The information processing apparatus according to appendix 8, wherein the extraction of the offset addresses of all the members is performed, and the addresses of all the members are calculated by the offset addresses.
(Supplementary Note 10)
The information processing apparatus according to any one of appendices 5 to 9, wherein, when the variable or the member of the variable is an array, the array or the member of the array is extracted.
(Supplementary Note 11)
The information processing apparatus according to any one of appendices 1 to 10, wherein the extraction information includes an address and a size of the search target.
(Supplementary Note 12)
11. The information processing apparatus according to appendix 11, wherein the extraction information further includes a bit position and a bit width of the search target.
(Supplementary Note 13)
The information processing apparatus according to any one of appendices 1 to 12, further comprising a compiler that outputs the debug information.
(Supplementary Note 14)
Converting the input debug information into a signal for subsequent processing;
Converting the input search conditions used for the search into a signal for subsequent processing;
Obtaining an address for the symbol from an offset address for the symbol included in the debug information, and generating address information including information in which the address is associated with the symbol;
Performing the search for the address information according to the search condition, and extracting extraction information corresponding to the content searched for by the search;
Outputting the extraction information;
Information processing method including:
(Supplementary Note 15)
Processing to make input debug information a signal for subsequent processing;
A process of converting the input search conditions used for the search into a signal for subsequent processing;
Obtaining an address for the symbol from an offset address for the symbol included in the debug information, and generating address information including information in which the address is associated with the symbol;
A process of performing the search on the address information according to the search condition, and extracting extraction information corresponding to the content searched by the search;
A process of outputting the extraction information;
An information processing program that causes a computer to execute processing including

1 情報処理装置
10 コンパイラ/リンカ
20 ソースコード入力部
30 コンパイル/リンク処理部
40 オブジェクトコード出力部
80 デバッグ情報出力部
90 抽出情報出力装置
100 デバッグ情報入力部
110 検索条件入力部
120 検索抽出部
130 処理部
140 抽出情報出力部
150 前処理部
160 抽出項目指定部
DESCRIPTION OF SYMBOLS 1 information processing apparatus 10 compiler / linker 20 source code input part 30 compile / link processing part 40 object code output part 80 debug information output part 90 extraction information output device 100 debug information input part 110 search condition input part 120 search extraction part 130 processing Part 140 Extraction information output part 150 Pre-processing part 160 Extraction item specification part

Claims (10)

入力されたデバッグ情報を以降の処理用の信号にするデバッグ情報入力手段と、
入力された、検索をする際に用いられる検索条件を、以降の処理用の信号にする検索条件入力手段と、
前記デバッグ情報に含まれる、シンボルについてのオフセットアドレスから、そのシンボルについてのアドレスを求め、そのアドレスをそのシンボルと関連付けた情報を含むアドレス情報を生成する前処理手段と、
前記検索条件により、前記アドレス情報について前記検索をし、前記検索により特定された内容に対応する抽出情報の抽出をする検索抽出手段と、
前記抽出情報の出力をする抽出情報出力手段と、
を備え
前記検索の検索対象がシンボル名であり、
前記シンボル名が変数又はその変数のメンバについてのものであり、
前記変数の型が構造体または共用体である前記変数の前記メンバのオフセットアドレスの前記抽出をし、そのオフセットアドレスにより前記メンバのアドレスを算出する
情報処理装置。
Debug information input means for converting the input debug information into a signal for subsequent processing;
Search condition input means for converting the input search conditions used in the search into signals for subsequent processing;
Pre-processing means for obtaining an address for the symbol from an offset address for the symbol included in the debug information, and generating address information including information in which the address is associated with the symbol;
Search extraction means for performing the search for the address information according to the search condition and for extracting extraction information corresponding to the content specified by the search;
Extraction information output means for outputting the extraction information;
Equipped with
The search target of the search is a symbol name,
The symbol name is for a variable or a member of that variable,
An information processing apparatus for extracting the offset address of the member of the variable whose type is a structure or a union, and calculating the address of the member by the offset address .
入力されたデバッグ情報を以降の処理用の信号にするデバッグ情報入力手段と、  Debug information input means for converting the input debug information into a signal for subsequent processing;
入力された、検索をする際に用いられる検索条件を、以降の処理用の信号にする検索条件入力手段と、  Search condition input means for converting the input search conditions used in the search into signals for subsequent processing;
前記デバッグ情報に含まれる、シンボルについてのオフセットアドレスから、そのシンボルについてのアドレスを求め、そのアドレスをそのシンボルと関連付けた情報を含むアドレス情報を生成する前処理手段と、  Pre-processing means for obtaining an address for the symbol from an offset address for the symbol included in the debug information, and generating address information including information in which the address is associated with the symbol;
前記検索条件により、前記アドレス情報について前記検索をし、前記検索により特定された内容に対応する抽出情報の抽出をする検索抽出手段と、  Search extraction means for performing the search for the address information according to the search condition and for extracting extraction information corresponding to the content specified by the search;
前記抽出情報の出力をする抽出情報出力手段と、  Extraction information output means for outputting the extraction information;
を備え、  Equipped with
前記検索の検索対象がシンボル名であり、  The search target of the search is a symbol name,
前記シンボル名が変数又はその変数のメンバについてのものであり、  The symbol name is for a variable or a member of that variable,
前記メンバの型がビットフィールドである前記メンバのオフセットアドレスの前記抽出をし、そのオフセットアドレスにより前記メンバのアドレスを算出する、  The extraction of the offset address of the member whose type is the bit field is performed, and the address of the member is calculated by the offset address.
情報処理装置。  Information processing device.
前記検索条件における検索対象が正規表現で記述されている請求項1又は請求項2に記載された情報処理装置。 The information processing apparatus according to claim 1, wherein a search target in the search condition is described by a regular expression. 前記デバッグ情報が、文字列により記述された文字列シンボル名を格納し、
前記検索条件における検索対象が文字列により入力された文字列検索対象であり、
前記検索が、前記文字列検索対象と、前記文字列シンボル名との一致についてのものであり、
前記一致をした前記文字列シンボル名に対応する情報について前記抽出をする
請求項1乃至請求項3のうちのいずれか一に記載された情報処理装置。
The debug information stores a string symbol name described by a string,
The search target in the search condition is a character string search target input by a character string,
The search, and the character string search target, is for the match with the character string symbol name,
Extracting the information corresponding to the matched character string symbol name
An information processing apparatus according to any one of claims 1 to 3 .
前記変数や前記メンバが配列の場合において、その配列又はその配列の前記メンバについて前記抽出をする請求項1乃至請求項4のうちのいずれか一に記載された情報処理装置。 In the case where the variable and the members of the array, and an information processing apparatus according to any one of claims 1 to 4, the extracted for the members of the sequence or sequence. 入力されたデバッグ情報を以降の処理用の信号にするステップと、
入力された、検索をする際に用いられる検索条件を、以降の処理用の信号にするステップと、
前記デバッグ情報に含まれる、シンボルについてのオフセットアドレスから、そのシンボルについてのアドレスを求め、そのアドレスをそのシンボルと関連付けた情報を含むアドレス情報を生成するステップと、
前記検索条件により、前記アドレス情報について前記検索をし、前記検索により特定された内容に対応する抽出情報の抽出をするステップと、
前記抽出情報の出力をするステップと、
を含み、
前記検索の検索対象がシンボル名であり、
前記シンボル名が変数又はその変数のメンバについてのものであり、
前記変数の型が構造体または共用体である前記変数の前記メンバのオフセットアドレスの前記抽出をし、そのオフセットアドレスにより前記メンバのアドレスを算出する、
情報処理方法。
Converting the input debug information into a signal for subsequent processing;
Using the input search conditions to be used for the search as a signal for subsequent processing;
Obtaining an address for the symbol from an offset address for the symbol included in the debug information, and generating address information including information in which the address is associated with the symbol;
Performing the search for the address information according to the search condition, and extracting extraction information corresponding to the content specified by the search;
Outputting the extraction information;
Only including,
The search target of the search is a symbol name,
The symbol name is for a variable or a member of that variable,
The extraction of the offset address of the member of the variable whose type is the structure or union is performed, and the address of the member is calculated by the offset address.
Information processing method.
入力されたデバッグ情報を以降の処理用の信号にするステップと、  Converting the input debug information into a signal for subsequent processing;
入力された、検索をする際に用いられる検索条件を、以降の処理用の信号にするステップと、  Using the input search conditions to be used for the search as a signal for subsequent processing;
前記デバッグ情報に含まれる、シンボルについてのオフセットアドレスから、そのシンボルについてのアドレスを求め、そのアドレスをそのシンボルと関連付けた情報を含むアドレス情報を生成するステップと、  Obtaining an address for the symbol from an offset address for the symbol included in the debug information, and generating address information including information in which the address is associated with the symbol;
前記検索条件により、前記アドレス情報について前記検索をし、前記検索により特定された内容に対応する抽出情報の抽出をするステップと、  Performing the search for the address information according to the search condition, and extracting extraction information corresponding to the content specified by the search;
前記抽出情報の出力をするステップと、  Outputting the extraction information;
を含み、Including
前記検索の検索対象がシンボル名であり、  The search target of the search is a symbol name,
前記シンボル名が変数又はその変数のメンバについてのものであり、  The symbol name is for a variable or a member of that variable,
前記メンバの型がビットフィールドである前記メンバのオフセットアドレスの前記抽出をし、そのオフセットアドレスにより前記メンバのアドレスを算出する、  The extraction of the offset address of the member whose type is the bit field is performed, and the address of the member is calculated by the offset address.
情報処理方法。  Information processing method.
前記検索条件における検索対象が正規表現で記述されている請求項6又は請求項7に記載された情報処理方法。  8. The information processing method according to claim 6, wherein a search target in the search condition is described by a regular expression. 入力されたデバッグ情報を以降の処理用の信号にする処理と、
入力された、検索をする際に用いられる検索条件を、以降の処理用の信号にする処理と、
前記デバッグ情報に含まれる、シンボルについてのオフセットアドレスから、そのシンボルについてのアドレスを求め、そのアドレスをそのシンボルと関連付けた情報を含むアドレス情報を生成する処理と、
前記検索条件により、前記アドレス情報について前記検索をし、前記検索により特定された内容に対応する抽出情報の抽出をする処理と、
前記抽出情報の出力をする処理と、
を含む処理をコンピュータに実行させ
前記検索の検索対象がシンボル名であり、
前記シンボル名が変数又はその変数のメンバについてのものであり、
前記変数の型が構造体または共用体である前記変数の前記メンバのオフセットアドレスの前記抽出をし、そのオフセットアドレスにより前記メンバのアドレスを算出する、
情報処理プログラム。
Processing to make input debug information a signal for subsequent processing;
A process of converting the input search conditions used for the search into a signal for subsequent processing;
A process of obtaining an address of the symbol from an offset address of the symbol included in the debug information, and generating address information including information in which the address is associated with the symbol;
A process of performing the search for the address information according to the search condition, and extracting extraction information corresponding to the content specified by the search;
A process of outputting the extraction information;
Let the computer execute the process including
The search target of the search is a symbol name,
The symbol name is for a variable or a member of that variable,
The extraction of the offset address of the member of the variable whose type is the structure or union is performed, and the address of the member is calculated by the offset address.
Information processing program.
入力されたデバッグ情報を以降の処理用の信号にする処理と、
入力された、検索をする際に用いられる検索条件を、以降の処理用の信号にする処理と、
前記デバッグ情報に含まれる、シンボルについてのオフセットアドレスから、そのシンボルについてのアドレスを求め、そのアドレスをそのシンボルと関連付けた情報を含むアドレス情報を生成する処理と、
前記検索条件により、前記アドレス情報について前記検索をし、前記検索により特定された内容に対応する抽出情報の抽出をする処理と、
前記抽出情報の出力をする処理と、
を含む処理をコンピュータに実行させ
前記検索の検索対象がシンボル名であり、
前記シンボル名が変数又はその変数のメンバについてのものであり、
前記メンバの型がビットフィールドである前記メンバのオフセットアドレスの前記抽出をし、そのオフセットアドレスにより前記メンバのアドレスを算出する、
情報処理プログラム。
Processing to make input debug information a signal for subsequent processing;
A process of converting the input search conditions used for the search into a signal for subsequent processing;
A process of obtaining an address of the symbol from an offset address of the symbol included in the debug information, and generating address information including information in which the address is associated with the symbol;
A process of performing the search for the address information according to the search condition, and extracting extraction information corresponding to the content specified by the search;
A process of outputting the extraction information;
Let the computer execute the process including
The search target of the search is a symbol name,
The symbol name is for a variable or a member of that variable,
The extraction of the offset address of the member whose type is the bit field is performed, and the address of the member is calculated by the offset address.
Information processing program.
JP2015003081A 2015-01-09 2015-01-09 INFORMATION PROCESSING APPARATUS, INFORMATION PROCESSING METHOD, AND INFORMATION PROCESSING PROGRAM Active JP6534814B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2015003081A JP6534814B2 (en) 2015-01-09 2015-01-09 INFORMATION PROCESSING APPARATUS, INFORMATION PROCESSING METHOD, AND INFORMATION PROCESSING PROGRAM

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2015003081A JP6534814B2 (en) 2015-01-09 2015-01-09 INFORMATION PROCESSING APPARATUS, INFORMATION PROCESSING METHOD, AND INFORMATION PROCESSING PROGRAM

Publications (2)

Publication Number Publication Date
JP2016128961A JP2016128961A (en) 2016-07-14
JP6534814B2 true JP6534814B2 (en) 2019-06-26

Family

ID=56384346

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2015003081A Active JP6534814B2 (en) 2015-01-09 2015-01-09 INFORMATION PROCESSING APPARATUS, INFORMATION PROCESSING METHOD, AND INFORMATION PROCESSING PROGRAM

Country Status (1)

Country Link
JP (1) JP6534814B2 (en)

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH06231001A (en) * 1993-02-01 1994-08-19 Nec Corp Symbol name input device
JPH07230393A (en) * 1994-02-17 1995-08-29 Canon Inc Information processing system and program debugging method therefor

Also Published As

Publication number Publication date
JP2016128961A (en) 2016-07-14

Similar Documents

Publication Publication Date Title
US9389849B2 (en) Test case pattern matching
JP4148527B2 (en) Functional test script generator
US9141350B2 (en) Embedded system performance
US9582396B2 (en) Techniques for generating an executable debugger script
US5862382A (en) Program analysis system and program analysis method
JP2012190219A (en) Information processing device and trace log acquisition method
Sargsyan et al. Grammar-based fuzzing
US20150331783A1 (en) Debugging data format conversion
JP5303795B2 (en) Application analysis method, analysis system, and analysis program
Guana et al. Chaintracker, a model-transformation trace analysis tool for code-generation environments
JP2017027375A5 (en)
JP6486574B2 (en) Program code generating apparatus, program code generating method, and program code generating program
CN102141959A (en) Test case generation method restrained by context-free grammar
Yu et al. From sub-patterns to patterns: an approach to the detection of structural design pattern instances by subgraph mining and merging
Fauzi et al. Reverse engineering of source code to sequence diagram using abstract syntax tree
JP2018073054A (en) Object analyzing device, object analyzing method, and program
JP6534814B2 (en) INFORMATION PROCESSING APPARATUS, INFORMATION PROCESSING METHOD, AND INFORMATION PROCESSING PROGRAM
JP6955162B2 (en) Analytical equipment, analysis method and analysis program
JP7380851B2 (en) Test script generation device, test script generation method and program
Szalay et al. Towards better symbol resolution for C/C++ programs: A cluster-based solution
JP2010055293A (en) Verification assisting program, verification assisting apparatus, and verification assisting method
Frick et al. Diffviz: A diff algorithm independent visualization tool for edit scripts
JP2016051367A (en) Data analysis device, data analysis method, and program
US20170103011A1 (en) Information processing apparatus and system
Farah et al. Analysis of intercrossed open-source software repositories data in GitHub

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20171215

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20180820

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20180918

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20181102

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20190530

R150 Certificate of patent or registration of utility model

Ref document number: 6534814

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150