JP2006268298A - デバッグ方法及びデバッグ装置 - Google Patents

デバッグ方法及びデバッグ装置 Download PDF

Info

Publication number
JP2006268298A
JP2006268298A JP2005083929A JP2005083929A JP2006268298A JP 2006268298 A JP2006268298 A JP 2006268298A JP 2005083929 A JP2005083929 A JP 2005083929A JP 2005083929 A JP2005083929 A JP 2005083929A JP 2006268298 A JP2006268298 A JP 2006268298A
Authority
JP
Japan
Prior art keywords
exception
address
trap
entry
instruction
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.)
Pending
Application number
JP2005083929A
Other languages
English (en)
Inventor
Osamu Togawa
修 戸川
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 Corp
Original Assignee
NEC Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by NEC Corp filed Critical NEC Corp
Priority to JP2005083929A priority Critical patent/JP2006268298A/ja
Publication of JP2006268298A publication Critical patent/JP2006268298A/ja
Pending legal-status Critical Current

Links

Images

Landscapes

  • Debugging And Monitoring (AREA)

Abstract

【課題】 プログラムの同一の場所で例外が発生した場合であっても、プロセス毎に例外処理を変えることができることを可能とする。
【解決手段】 プロセスの実行中に、所定のアドレスに在る原命令がトラップ命令に書き換えられたプログラム中の所定のアドレスに在るトラップ命令が実行されることによりトラップ例外が発生したならば、テーブルにアドレスが格納されているエントリがあるかを判断し、その判断結果が肯定的ならば、エントリでアドレスに対応付けられているプロセス識別情報が実行中のプロセスの識別情報と一致するかを判断し、その判断結果が肯定的でならば、エントリでアドレスに対応付けられている例外情報に対応した例外処理ルーチンを起動する。2つめの判断結果が否定的である場合に、エントリでアドレスに対応付けられている原命令を実行し、プログラム中のトラップ命令に続く命令に制御を戻す。
【選択図】 図1

Description

本発明は、プログラムをデバッグするためのデバッグ方法及びデバッグ装置に関し、特に、プログラムの例外処理に関するデバッグを行うためのデバッグ方法及びデバッグ装置に関する。
例外処理プログラムは、ハードウェアや他のソフトウェアから発生される例外によって呼び出される。これらの例外が発生されるタイミングは、動作状況によって多様に変化する。
そのため、例外処理プログラムは、例外の発生する状況を想定して、様々な条件で呼び出して評価しなければならない。しかし、実際の使用方法では稀なタイミングでしか起きない条件もあり、そのような条件下での例外処理プログラムを評価するには、人為的に同じような動作状況を再現する必要がある。
特許文献1乃至3に開示されている発明は、任意のアドレスを実行したときに、指定した内容で擬似的に例外(割り込み)を発生させる方法である。以降、擬似的に発生させる例外や割り込みを総称して「擬似例外」と呼ぶ。
これら従来の方法は使用すれば、通常は発生しないようなタイミングでの例外処理プログラムの評価が可能になる。
特開2003−140924号公報 特開2002−014844号公報 特開平05−061718号公報
しかし、従来の手法には、マルチプロセスへの対応が十分でないために、マルチプロセスを行うマルチプロセスOSの内部を評価するのには適していないという問題がある。
従来の方法で、マルチプロセスOS内の複数のプロセスから実行されるコードに擬似例外を設定すると、一般に、同時に動いている複数のプロセス内のどのプロセスで擬似例外が発生するかが不明となる。
そのため、マルチプロセスOSの内部で、従来の方法が適用できるのは、特定のプロセスでしか実行しないコードや、どのプロセスで例外が発生しても支障が無い機能などに限定される。
そこで、本発明は、プログラムの同一の場所で例外が発生した場合であっても、プロセス毎に例外処理を変えることができることを可能とするデバッグ方法及びデバッグ装置を提供することを目的とする。
擬似例外の対象でなければ、元の命令を代理で実行し(ステップB5)、発生アドレスの次の命令に制御を返す(ステップB6)。
本発明によれば、プロセスの実行中に、所定のアドレスに在る原命令がトラップ命令に書き換えられたプログラム中の前記所定のアドレスに在るトラップ命令が実行されることによりトラップ例外が発生したならば、予め用意したテーブルに前記アドレスが格納されているエントリがあるか否かを判断するエントリ検索ステップと、前記エントリ検索ステップの判断結果が肯定的である場合に、前記エントリで前記アドレスに対応付けられているプロセス識別情報が、実行中の前記プロセスの識別情報と一致するか否かを判断するプロセス識別情報一致判断ステップと、前記プロセス識別情報一致判断ステップの判断結果が肯定的である場合に、前記エントリで前記アドレスに対応付けられている例外情報に対応した例外処理ルーチンを起動する例外処理ルーチン起動ステップと、を備えることを特徴とするデバッグ方法が提供される。
上記のデバッグ方法において、前記プロセス識別情報一致判断ステップの判断結果が否定的である場合に、前記エントリで前記アドレスに対応付けられている原命令を実行する原命令実行ステップと、前記プログラム中のトラップ命令に続く命令に制御を戻す継続ステップと、を更に備えるようにしてもよい。
上記のデバッグ方法において、前記エントリ検索ステップの判断結果が否定的である場合に、既存のトラップ例外処理に制御を移すトラップ例外処理起動ステップを更に備えるようにしてもよい。
上記のデバッグ方法において、前記エントリ検索ステップの前に、前記プログラムの前記所定のアドレスにある前記原命令を前記トラップ命令に書き換える書換えステップを更に備えるようにしてもよい。
以下に述べる例外設定手段とトラップ例外処理手段により、任意の指定プロセスが、OS内のコードを含む任意の指定アドレスを実行したときに、任意の擬似的な例外(擬似例外)を発生する。
入力パラメータとして擬似例外の発生プロセスと発生アドレスと例外情報を与えて、例外設定手段を呼び出し、擬似例外を発生する際に必要な情報をテーブルに保存し(ステップA1)、対象アドレスの原命令をトラップ命令に書き換える(ステップA2)。
トラップ命令の実行によりトラップ例外が発生したとき、トラップ例外処理手段が呼び出され、発生アドレスと発生プロセスから疑似例外の対象であるか判断し(ステップB1,B2)、対象であれば、例外情報をトラップ例外のものから擬似例外のものに置換し(ステップB3)、擬似例外に対応する例外処理に制御を移す(ステップB4)。
OS内のコードを対象とする場合でも、評価者が例外が発生するプロセスを制御することができるので、OSの例外処理の評価をより詳細で効率良く行えるようになる。
以下、図面を参照して本発明を実施するための最良の形態について詳細に説明する。
任意の指定プロセスが、OS内のコードを含む任意の指定アドレスを実行したときに、任意の擬似的な例外(擬似例外)を発生する。
次に、第1の実施形態の構成について詳細に説明する。
本実施形態のアーキテクチャでは、例外が発生すると、例外の種類や発生アドレスなどの情報を含む例外情報が生成され、例外の種類と発生アドレスに応じた例外処理ルーチンが呼び出される。また、トラップ命令を実行すると固有の例外であるトラップ例外が発生する。
本実施形態では、トラップ命令は擬似例外の発生のためにだけに使用し、トラップ例外が発生するのは擬似例外の対象アドレスが実行された場合に限られる。
図1を参照すると、本実施形態は例外設定手段とトラップ例外処理手段を含む。
例外設定手段は、入力パラメータに擬似例外の発生プロセスと発生アドレスと例外情報を取り、情報の保存と発生アドレスのトラップ命令への書き換えを行う。その際、図2に示す情報保存手段を利用する。
トラップ例外処理手段は、トラップ例外が発生すると呼び出される例外処理ルーチンであり、トラップ例外の発生プロセスと発生アドレスの組み合わせが、擬似例外の対象であるか調べ、その結果に応じて擬似例外の発生処理か元のアドレスへの復帰処理のいずれかを行う。その際、図3に示す判別手段と図4に示す擬似例外発生手段を用いる。
図5に示す管理テーブルは、各手段から共通に参照/更新される情報を格納する。
管理テーブルには複数のエントリが存在し、各エントリには擬似例外の発生プロセスと発生アドレスと例外情報とトラップ命令に書き換える前の発生アドレスの命令が格納される。
次に、第1の実施形態の動作について詳細に説明する。
説明のために想定する状況を、以下に述べる。
図6に示すようにプロセスAとプロセスBがあり、プロセスAがアドレスXを実行したときに例外情報Yの擬似例外を発生させたいとする。
プロセスAはプログラムAを実行するプロセスであり、処理中に例外が発生しなければプログラムAは「通常処理A1→OS処理A→通常処理A2」の順番で処理を行う。
ただし、OS処理Aを処理中に例外情報Yの例外が発生したときは、例外処理ルーチンとして例外処理Aが呼び出される。
プロセスBはプログラムBを実行するプロセスであり、処理中に例外が発生しなければプログラムBは「通常処理B1→OS処理B→通常処理B2」の順番で処理を行う。
OS処理AとOS処理Bは、各々の一部または全部で、同じアドレス上の命令コード列を実行する。アドレスXは、この共通の命令コード列中のある命令Zを指している。
本実施形態の動作は以下の3つに分けられる。
第1の動作は、擬似例外の発生を設定する際の動作である。
第2の動作は、トラップ例外が発生し擬似例外を発生させる場合の動作である。
第3の動作は、トラップ例外が発生し擬似例外を発生させない場合の動作である。
ここで想定している状況にこの3つの動作に当てはめると、
第1の動作は、プロセスAがアドレスXを実行したとき発生する擬似例外の設定に、
第2の動作は、プロセスAがアドレスXを実行して例外処理Aが呼び出される動作に、
第3の動作は、プロセスBがアドレスXを実行しても通常の処理が継続される動作に、
なる。
まず、第1の動作を説明する。
擬似例外の発生を設定するには、例外設定手段を呼び出す。
その際の入力パラメータに、
擬似例外の発生プロセスはプロセスAを、
擬似例外の発生アドレスはアドレスXを、
擬似例外の例外情報は例外情報Yを与える。
例外設定手段はステップA1で、情報保存手段を呼び出す。
情報保存手段は、管理テーブルにエントリを確保し(ステップC1)、図7に示すように例外設定手段の入力パラメータと擬似例外を発生させるアドレスの命令を該エントリに格納する(ステップC2〜C5)。
ステップA2で、擬似例外を発生させるアドレス(アドレスX)の命令(命令Z)をトラップ命令に書き換えて、例外設定手段は終了する。
以上で、第1の動作を説明を終える。
次に、第2の動作を説明する。
擬似例外の発生を設定した後に、プロセスAがプログラムAを実行すると、まず、通常処理A1を処理する。次に、OS処理Aを処理しようとすると、アドレスXでトラップ命令を実行して、トラップ例外が発生する。トラップ例外が発生すると、対応する例外処理ルーチンであるトラップ例外処理手段が呼び出される。
トラップ例外処理手段はステップB1で、判別手段を呼び出す。
判別手段は、トラップ例外が発生したのと同じアドレスを格納しているエントリを管理テーブルから検索し(ステップD1)、トラップ例外の発生プロセスの識別情報と該エントリのプロセス識別情報が一致するか調べる(ステップD2)。プロセス識別情報が一致するときは擬似例外を発生させる対象であると判断し(ステップD3)、一致しないときは対象ではないと判断する(ステップD4)。
プロセスAがアドレスXのトラップ命令を実行してトラップ例外が発生した場合は、該当するエントリは図7のエントリであり、プロセス識別情報が一致するので、擬似例外を発生させることになる(ステップB2)。
ステップB3で、例外エミュレーション手段を呼び出す。
例外エミュレーション手段は、管理テーブルの該エントリから元の命令(命令Z)を読み出して(ステップE1)、トラップ例外の発生アドレス(アドレスX)の命令を元に戻し(ステップE2)、該エントリから擬似例外の例外情報(例外情報Y)を読み出して(ステップE3)、トラップ例外の例外情報を擬似例外の例外情報(例外情報Y)で置換し(ステップE4)、該エントリを解放する(ステップE5)。
ステップB4で、擬似例外の例外情報(例外情報Y)と発生アドレスに対応する例外処理ルーチン(例外処理A)を検索して制御を移し、ステップ例外処理手段は終了する。
一連の流れをプログラムAの処理に焦点を当てて整理すると、図8に示すように「通常処理A1→OS処理Aの一部(アドレスXの手前まで)→例外処理A」の順番で処理を行っており、アドレスXで例外情報Yの例外が発生したときと同じ処理になる。
以上で、第2の動作を説明を終える。
次に、第3の動作を説明する。
擬似例外の発生を設定した後に、プロセスAで擬似例外を発生させるよりも先に、プロセスBがプログラムBを実行すると、まず、通常処理B1を処理する。次に、OS処理Bを処理しようとすると、アドレスXでトラップ命令を実行して、トラップ例外が発生する。トラップ例外が発生すると、対応する例外処理ルーチンであるトラップ例外処理手段が呼び出される。
(ここまでは、第2の動作の説明のプロセスAの場合と同様)
プロセスBの場合は、判別手段のステップD2でプロセス識別情報が一致しないため、擬似例外を発生させる対象ではないと判断し、トラップ例外処理手段はステップB5に進む。
ステップB5で、管理テーブルの該エントリから元の命令(命令Z)を読み出して代理で実行する。
ステップB6で、トラップ例外の発生したアドレス(アドレスX)の次の命令に制御を返し、ステップ例外処理手段は終了する。
一連の流れをプログラムBの処理に焦点を当てて整理すると、図9に示すように「通常処理B2→OS処理B→例外処理B2」の順番で処理を行っており、アドレスXで例外が発生しないときと同じ処理になる。
以上で、第3の動作を説明を終える。
第1の実施形態では、簡単のために、トラップ命令(及び、トラップ例外)の用途を擬似例外の発生のためだけに限定した。
第2の実施形態は、トラップ例外を利用する既存機能があるときの本発明の適用例である。判別手段を第1の実施形態から図10のように変更して、ステップD1’とステップD5を追加する。この実施形態では、トラップ例外の発生アドレスと一致するエントリが管理テーブルに存在しない場合は、擬似例外の処理を中断して既存のトラップ例外の処理に制御を移す。
上述したデバッグ方法は、ハードウェアによって実現することも可能であるが、コンピュータにこのようなデバッグ方法を行わせるためのプログラムをコンピュータが記録媒体から読み出して実行することによっても実現することができる。
プログラムの例外処理の評価。特に、OSの例外処理の評価に有用である。
本発明の実施形態による例外設定手段及びトラップ例外処理手段の動作を示すフローチャートである。 本発明の実施形態による情報保存手段の動作を示すフローチャートである。 本発明の実施形態による判別手段の動作を示すフローチャートである。 本発明の実施形態による擬似例外発生手段の動作を示すフローチャートである。 本発明の実施形態による管理テーブルの構成を示す図である。 本発明の実施形態によるプロセスA及びプロセスBからOS処理が呼び出され、アドレスXを通る様子を示す図である。擬似例外発生の一例を示す図である。 本発明の実施形態による管理テーブルのデータの一例を示す図である。 本発明の実施形態によるプロセスAからOS処理が呼び出されアドレスXから例外処理Aに移る様子を示す図である。 本発明の実施形態によるプロセスBからOS処理が呼び出されアドレスXを通過してOS処理が継続される様子を示す図である。 本発明の実施形態による判別手段の動作を示すフローチャートである。

Claims (10)

  1. プロセスの実行中に、所定のアドレスに在る原命令がトラップ命令に書き換えられたプログラム中の前記所定のアドレスに在るトラップ命令が実行されることによりトラップ例外が発生したならば、予め用意したテーブルに前記アドレスが格納されているエントリがあるか否かを判断するエントリ検索ステップと、
    前記エントリ検索ステップの判断結果が肯定的である場合に、前記エントリで前記アドレスに対応付けられているプロセス識別情報が、実行中の前記プロセスの識別情報と一致するか否かを判断するプロセス識別情報一致判断ステップと、
    前記プロセス識別情報一致判断ステップの判断結果が肯定的である場合に、前記エントリで前記アドレスに対応付けられている例外情報に対応した例外処理ルーチンを起動する例外処理ルーチン起動ステップと、
    を備えることを特徴とするデバッグ方法。
  2. 請求項1に記載のデバッグ方法において、
    前記プロセス識別情報一致判断ステップの判断結果が否定的である場合に、前記エントリで前記アドレスに対応付けられている原命令を実行する原命令実行ステップと、
    前記プログラム中のトラップ命令に続く命令に制御を戻す継続ステップと、
    を更に備えることを特徴とするデバッグ方法。
  3. 請求項1に記載のデバッグ方法において、
    前記エントリ検索ステップの判断結果が否定的である場合に、既存のトラップ例外処理に制御を移すトラップ例外処理起動ステップを更に備えることを特徴とするデバッグ方法。
  4. 請求項1に記載のデバッグ方法において、
    前記エントリ検索ステップの前に、前記プログラムの前記所定のアドレスにある前記原命令を前記トラップ命令に書き換える書換えステップを更に備えることを特徴とするデバッグ方法。
  5. プロセスの実行中に、所定のアドレスに在る原命令がトラップ命令に書き換えられたプログラム中の前記所定のアドレスに在るトラップ命令が実行されることによりトラップ例外が発生したならば、予め用意したテーブルに前記アドレスが格納されているエントリがあるか否かを判断するエントリ検索手段と、
    前記エントリ検索手段の判断結果が肯定的である場合に、前記エントリで前記アドレスに対応付けられているプロセス識別情報が、実行中のプロセスの識別情報と一致するか否かを判断するプロセス識別情報一致判断手段と、
    前記プロセス識別情報一致判断手段の判断結果が肯定的である場合に、前記エントリで前記アドレスに対応付けられている例外情報に対応した例外処理ルーチンを起動する例外処理ルーチン起動手段と、
    を備えることを特徴とするデバッグ装置。
  6. 請求項5に記載のデバッグ装置において、
    前記プロセス識別情報一致判断手段の判断結果が否定的である場合に、前記エントリで前記アドレスに対応付けられている原命令を実行する原命令実行手段と、
    前記プログラム中のトラップ命令に続く命令に制御を戻す継続手段と、
    を更に備えることを特徴とするデバッグ装置。
  7. 請求項5に記載のデバッグ装置において、
    前記エントリ検索手段の判断結果が否定的である場合に、既存のトラップ例外処理に制御を移すトラップ例外処理起動手段を更に備えることを特徴とするデバッグ装置。
  8. 請求項5に記載のデバッグ装置において、
    前記エントリ検索ステップの前に、前記プログラムの前記所定のアドレスにある前記原命令を前記トラップ命令に書き換える書換えステップを更に備えることを特徴とするデバッグ装置。
  9. コンピュータに請求項1乃至4の何れか1項に記載のデバッグ方法を行わせるためのプログラム。
  10. 請求項9に記載のプログラムを記録した、コンピュータ読取り可能な記録媒体。
JP2005083929A 2005-03-23 2005-03-23 デバッグ方法及びデバッグ装置 Pending JP2006268298A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2005083929A JP2006268298A (ja) 2005-03-23 2005-03-23 デバッグ方法及びデバッグ装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2005083929A JP2006268298A (ja) 2005-03-23 2005-03-23 デバッグ方法及びデバッグ装置

Publications (1)

Publication Number Publication Date
JP2006268298A true JP2006268298A (ja) 2006-10-05

Family

ID=37204233

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2005083929A Pending JP2006268298A (ja) 2005-03-23 2005-03-23 デバッグ方法及びデバッグ装置

Country Status (1)

Country Link
JP (1) JP2006268298A (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9612837B2 (en) 2013-09-30 2017-04-04 Fujitsu Limited Trace method and information processing apparatus

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH03266142A (ja) * 1990-03-16 1991-11-27 Nec Corp ソフトウエアシミュレータ
JPH0773045A (ja) * 1993-09-03 1995-03-17 Nec Ic Microcomput Syst Ltd Mpuエミュレータ装置
JPH09259002A (ja) * 1996-03-22 1997-10-03 Hitachi Ltd デバッグ支援装置
JP2001325122A (ja) * 2000-05-17 2001-11-22 Mitsubishi Electric Corp デバッグ方式及びデバッグ方法
JP2002014844A (ja) * 2000-06-30 2002-01-18 Toshiba Corp デバッグ方法及び記録媒体

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH03266142A (ja) * 1990-03-16 1991-11-27 Nec Corp ソフトウエアシミュレータ
JPH0773045A (ja) * 1993-09-03 1995-03-17 Nec Ic Microcomput Syst Ltd Mpuエミュレータ装置
JPH09259002A (ja) * 1996-03-22 1997-10-03 Hitachi Ltd デバッグ支援装置
JP2001325122A (ja) * 2000-05-17 2001-11-22 Mitsubishi Electric Corp デバッグ方式及びデバッグ方法
JP2002014844A (ja) * 2000-06-30 2002-01-18 Toshiba Corp デバッグ方法及び記録媒体

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9612837B2 (en) 2013-09-30 2017-04-04 Fujitsu Limited Trace method and information processing apparatus

Similar Documents

Publication Publication Date Title
US20100095286A1 (en) Register reduction and liveness analysis techniques for program code
JP2010039536A (ja) プログラム変換装置、プログラム変換方法およびプログラム変換プログラム
JP2001147819A (ja) 最適化装置および記録媒体
US11416256B2 (en) Selectively performing ahead branch prediction based on types of branch instructions
JP2008009721A (ja) 評価システム及びその評価方法
JP2021527248A (ja) 予測ミス回復の待ち時間を短縮するための偶発的な分岐予測の格納
JPH10507016A (ja) ソフトウェア・コンパイル・ユニットを条件付きでコンパイルするシステム、方法およびコンパイラ・プリプロセッサ
JP2010102454A (ja) 情報処理装置、情報処理プログラム
JP2006268298A (ja) デバッグ方法及びデバッグ装置
JP6597356B2 (ja) 制御プログラム、制御装置、及び制御方法
JPH07141192A (ja) 翻訳処理方法
JP2017033342A (ja) コンパイル装置、コンパイル方法およびコンパイルプログラム
JP2021103354A (ja) プログラムの試験方法
JP2004185345A (ja) デバッグ方法およびシステム
JP3795055B1 (ja) 値予測装置、マルチプロセッサシステムおよび値予測方法
JP5067705B2 (ja) 異常系テスト支援装置、異常系テスト支援方法、及びプログラム
JP2009064125A (ja) サーバ装置、そのプログラム
JP2000076095A (ja) プログラムトレース装置およびプログラムトレース方法およびそのプログラムを記憶した記憶媒体
JP2015069220A (ja) 性能評価プログラム生成装置、方法、及びプログラム
JP5109808B2 (ja) 追加実行可能情報生成装置、情報処理装置、及びプログラム
JPH04127387A (ja) データ駆動型データ処理装置
CN114942801A (zh) 基于fsm的应用发布任务处理方法、装置及电子设备
JP2005332333A (ja) グループ化プログラムおよびソースコード生成装置
JP2021005294A (ja) 情報処理装置及びデバッグプログラム
JP2004139369A (ja) 定数アドレス領域を指示するポインタ解析方法

Legal Events

Date Code Title Description
RD04 Notification of resignation of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7424

Effective date: 20080516

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20081111

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20090515

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20090710

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20091124

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20100324