14.7 高度な OS 認識拡張機能

多くのパラメータを定義して、OS 認識機能を拡張できます。

OS 認識拡張によって、実行時に OS に関する必要なすべての情報を特定できない場合があります。OS のセクションの機能を根本的に変更する機能の割合を制御するコンパイルオプションが存在する場合がありますが、これは実行時に検出されない場合があります。ハードまたはソフトによる浮動小数点のサポートによって OS がコンパイルされるかどうかが、その例です。

多くの場合、このような機能は、実行時に検出されます。ただし、まれに、検出されない場合もあります。このような事例に対処するため、OS 認識拡張のパラメータを定義します。これらは実行時に指定できます。例えば、OS 認識拡張でコンパイルフラグの状態を通知できます。これらのパラメータは、OS 認識 Python スクリプト内から照会可能なオペレーティングシステムの設定としてデバッガに示されます。

注:

この API 機能は、API バージョン 5.23 以降でのみ利用できます。互換性のないバージョンでの実行を防止するには、os 要素の version 属性を変更する必要があります。

extension.xml ファイルは、「14.2 OS認識拡張機能の作成」に記載されているとおり、OS 認識拡張を宣言します。追加のパラメータを定義するには、この例が示す構文を使用して、extension.xmlos 要素に追加します。

<parameter name="my-setting" description="myos.param.my_setting.desc" type="enum" default="enabled" help="myos.param.my_setting.help">
    <value name="enabled"  description="myos.param.my_setting.enabled"/>
    <value name="disabled" description="myos.param.my_setting.disabled"/>
</parameter>

この例では、message.properties に以下も追加する必要があります。

myos.param.my_setting.desc=My setting
myos.param.my_setting.help=This is my setting
myos.param.my_setting.enabled=Enabled
myos.param.my_setting.disabled=Disabled

各パラメータの内容は以下のとおりです。

タイプ
サポートされている型は enum のみです。
name

デバッガ内のパラメータを識別するために使用される文字列。文字列には、a-zA-Z、および 0-9 の英数字を含めることができます。また、文字列には - and _ も含めることができますが、空白や他の特殊文字は含めることができません。文字列は、他のパラメータに対して一意である必要があります。

description

GUI に表示されるローカライズ可能な文字列。

help

パラメータのツールチップに表示されるローカライズ可能な文字列。

デフォルト

パラメータのデフォルト値に対応する name 文字列。

各値の内容は以下のとおりです。

name

デバッガ内の文字列を識別するために使用される文字列。文字列には、a-zA-Z、および 0-9 の英数字を含めることができます。また、文字列には - and _ も含めることができますが、空白や他の特殊文字は含めることができません。文字列は、他のパラメータに対して一意である必要があります。

description

GUI に表示されるローカライズ可能な文字列。

DS-5 でのパラメータ値の設定方法

OS 認識拡張でこれらのパラメータ設定を定義する場合、GUI またはコマンドラインを使用して、オペレーティングシステム設定としてパラメータを設定できます。これらのパラメータは、set os my-setting enabled などのように、それぞれ set os および show os コマンドを使用して変更または表示できます。

DS-5 デバッガは、[デバッグコンフィギュレーション] ダイアログボックスの [OS Awareness] タブにこれらの設定を表示します。

図 14-10 OS 認識およびパラメータ
OS 認識およびパラメータ


注:

コマンドラインデバッガを使用する場合、パラメータは最初はそのデフォルト値に設定されます。ターゲットに接続した後は、手動で変更することができます。

パラメータは、debugger.getConnectionSetting("os my-setting") などのように、getConnectionSetting メソッドを使用して OS 認識 API から読み出すことができます。このとき、選択した値の name 文字列が返されるか、パラメータが存在しない場合は、DebugSessionException がスローされます。

非機密扱いPDF file icon PDF 版ARM DUI0446ZJ
Copyright © 2010–2016 ARM.All rights reserved.