日本-日本語
≫  お問い合わせ

製品とサービス >  ソフトウェアとOS >  OpenVMS >  マニュアル

OpenVMS マニュアル


≫ 

OpenVMS V8.3
ライブラリ

タイトルページ
目次
まえがき
第 1 章:インストールに関する注意事項
第 2 章:関連製品に関する注意事項
第 3 章:一般ユーザ向けの注意事項
第 4 章:システム管理に関する注意事項
第 5 章:プログラミングに関する注意事項
第 6 章:ハードウェアに関する注意事項
付録 A:リタイア製品情報
付録 B:インターロックされたメモリ命令の使用
索引
PDF
OpenVMS ホーム

HP OpenVMS
V8.3 リリース・ノート【翻訳版】


目次 索引



ここでは,システム・パラメータに関する注意事項について説明します。

4.19.1 新しいシステム・パラメータ

V8.3

新しいシステム・パラメータについては,『HP OpenVMS V8.3 新機能説明書』を参照してください。

4.19.2 廃止されたシステム・パラメータ

V8.3

以下のシステム・パラメータは, OpenVMS Version 8.3 で「廃止」扱いになりました。

  • SMP_CPUS

  • SMP_CPUSH

  • IO_PREFER_CPU

  • IO_PREFER_CPUS

  • NPAG_AGGRESSIVE

  • NPAG_GENTLE

  • SCH_CTLFLAGS

  • SHADOW_REC_DLY

  • TTY_SILOTIME

  • BALSETCNT

  • BREAKPOINTS

  • MMG_CTLFLAGS

  • MULTITHREAD

  • NISCS_MAX_PKTSZ

  • NISCS_PORT_SERV

  • SECURITY POLICY

  • SHADOW_HBMM_RTC

  • SHADOW_PSM_RDLY

  • SHADOW_SYS_DISK

  • WBM_MSG_UPPER

以下の新しいパラメータで,それぞれ該当する以前のパラメータが置き換えられています。

  • SMP_CPU_BITMAP

  • IO_PRCPU_BITMAP

これらの新しいシステム・パラメータについての詳細は,『OpenVMS システム管理ユーティリティ・リファレンス・マニュアル』またはオンライン・ヘルプを参照してください。

4.19.3 システム・パラメータの変更

V8.3

OpenVMS Version 8.3 では,以下のシステム・パラメータが変更されました。詳細は,『OpenVMS システム管理ユーティリティ・リファレンス・マニュアル』を参照してください。

  • BALSETCNT - 説明が変更されました。

  • BREAKPOINTS - 動的になりました。

  • MMG_CTLFLAGS - 追加のビットが定義され,言い回しが変更されました。

  • MULTITHREAD - I64 のサポートが追加されました。

  • NISCS_MAX_PKTSZ - 言い回しが変更されました。

  • NISCS_PORT_SERV - ビット定義が変更されました。

  • SECURITY POLICY - ビット 13 および 14 が定義されました。

  • SHADOW_HBMM_RTC - 言い回しが変更されました。

  • SHADOW_PSM_RDLY - つづりが訂正されました (元は SHADOW_PSM_DLY)。

  • SHADOW_SYS_DISK - 言い回しが変更されました。

  • WBM_MSG_UPPER - デフォルトが変更されました。

これらのパラメータについての詳細は,オンライン・ヘルプまたは『OpenVMS システム管理ユーティリティ・リファレンス・マニュアル』を参照してください。

4.19.4 ドキュメントの誤り: LCKMGR_CPUID システム・パラメータ

V8.3

『OpenVMS Performance Management』では,複数の個所で LCKMGR_CPUID システム・パラメータが LOCKMGR_CPU と記載されています。後者のつづりは誤りで,このマニュアルが次回アップデートされるときに訂正されます。

4.19.5 MMG_CTLFLAGS: ドキュメントの誤り

V8.2

『OpenVMS Performance Management』の, MMG_CTLFLAGS システム・パラメータのビット 1 の記述に誤りがあります。正しい記述は,次のとおりです。

「LONGWAIT 秒より長い時間アイドルであったプロセスを外部にスワップすることによる再生が有効になります。これは,空きリストのサイズが FREEGOAL の値より小さくなったときに発生します。」


V8.2

OpenVMS Alpha システムの Terminal Fallback Facility (TFF) には,フォールバック・ドライバ (SYS$FBDRIVER.EXE),共有イメージ (TFFSHR.EXE), Terminal Fallback ユーティリティ (TFU.EXE),フォールバック・テーブル・ライブラリ (TFF$MASTER.DAT) が含まれます。

注意

ユーザが呼び出し可能なインタフェースとして公開されているものではないため, TFFSHR は IMAGELIB から削除されています。ただし,イメージは現在でも SYS$LIBRARY: ディレクトリにあります。

TFF を起動するには,次のように SYS$MANAGER にある TFF スタートアップ・コマンド・プロシージャを起動します。


$ @SYS$MANAGER:TFF$SYSTARTUP.COM

フォールバックを有効にしたり,フォールバック属性を変更するには,次のように Terminal Fallback ユーティリティ (TFU) を起動します。


$ RUN SYS$SYSTEM:TFU
TFU>

端末に対するデフォルトのフォールバックを有効にするには,次の DCL コマンドを入力します。


$ SET TERMINAL/FALLBACK

OpenVMS Alpha TFF は,次の点で OpenVMS VAX TFF と異なります。

  • Alpha システムでは,TFF フォールバック・ドライバの名前は SYS$FBDRIVER.EXE です。 VAX システムでは,TFF フォールバック・ドライバの名前は FBDRIVER.EXE です。

  • Alpha システムでは,TFF は 16 ビット文字のフォールバックを処理できます。 OpenVMS Alpha フォールバック・テーブル・ライブラリ (TFF$MASTER.DAT) には, VAX ライブラリより 4 つ多い 16 ビット文字テーブルが含まれます。 表 4-4 に,これらの追加テーブルを示します。

    表 4-4 TFF 文字フォールバック・テーブル
    テーブル名 ベース 説明
    BIG5_HANYU BIG5 BIG5 を CNS 11643 (SICGCC) 端末/プリンタへ
    HANYU_BIG5 CNS CNS 11643 (SICGCC) を BIG5 端末/プリンタへ
    HANYU_TELEX CNS CNS 11643 を MITAC TELEX-CODE 端末へ
    HANGUL_DS KS KS を DOOSAN 200 端末へ


    これらのテーブルは主にアジア地域で使用されます。また,このテーブルの形式は, 16 ビット文字フォールバックのサポートのために変更されています。

  • Alpha システムでは,TFU コマンド SHOW STATISTICS はフォールバック・ドライバ (SYS$FBDRIVER.EXE) のサイズを表示しません。

RT 端末は TFF ではサポートされません。

Terminal Fallback Facility の詳細については, OpenVMS ドキュメント Web サイトで,アーカイブ扱いになった『OpenVMS Terminal Fallback Utility Manual』を参照してください。

http://www.hp.com/go/openvms/doc

このマニュアルを参照するには,左側のサイドバーに表示されている "Archived documents" をクリックしてください。

4.21 User Environment Test Package (UETP) (I64 のみ)

V8.2

User Environment Test Package (UETP) を使用する際には,以下の点に注意が必要です。

  • ロード・フェーズ中に, UETMEMY01でアクセス・バイオレーションが時折発生します。これによって,実行が終了したり,実行結果の有効性に影響を与えることはありません。 UETP は,それでも利用可能で,正しい結果を出力します。

  • デバイス・フェーズは現在,アクセス・バイオレーションが発生して実行が完了しません。

  • DECnet フェーズは問題なく動作します。クラスタ・フェーズは,まだテスト中です。このフェーズは問題なく動作しているように見えますが,何点か注意事項があります。また,他のシステムの名前が正しく出力されません。



4.22 推奨するキャッシュ方式

永続的な制限事項

Virtual I/O キャッシュ (VIOC) (別名 VAX Cluster キャッシュ (VCC)) は, OpenVMS I64 では利用できません。 I64 システムでは,SYSGEN パラメータの VCC_FLAGS に 1 を設定しても, 0 を設定したのと同じになります。したがって,キャッシュはロードされません。

Alpha システムと I64 システムの両方でお勧めできるキャッシュ方式は,拡張ファイル・キャッシュ (XFC) です。 XFC の詳細は『OpenVMS システム管理者マニュアル』を参照してください。

OpenVMS Alpha の将来のリリースでは,VIOC はサポートされなくなります。

4.23 Volume Shadowing for OpenVMS

ここでは, HP Volume Shadowing for OpenVMS (ホスト・ベース・ボリューム・シャドウイング (HBVS) とも言います) に関する注意事項について説明します。

4.23.1 デバイス名の必要条件

V7.3-2

Volume Shadowing for OpenVMSは,完全デバイス名 $alloclass$ddcu: の ddc 部分が 3 文字のデバイス名をサポートしています。

このリリースより前では,完全デバイス名の ddc 部分が長いデバイス名 (たとえば,$1$DECRAM10:) を作成でき,これらのデバイスを正しくマウントできました。ただし,このようなデバイスをシャドウ・セットの一部としてマウントすると,操作上の問題 (たとえば,他のディスクをシャドウ・セットに追加した場合の %MOUNT-F-XSMBRS エラー) が発生します。

OpenVMS Alpha Version 7.3-2 からは,Mount ユーティリティは,デバイスを最初にマウントする際に,完全デバイス名の ddc 部分に対し 3 文字という必要条件を強制するようになりました。この必要条件を満たしていない名前のデバイスをマウントしようとすると,次のエラー・メッセージが表示されます。


MOUNT-F-NOTSHDWDEV, not a valid shadow set member 



4.23.2 DCL コマンド・プロシージャ内での SET SHADOW と SHOW SHADOW の使用についての警告

V7.3-2

新しい DCL コマンド SET SHADOW および SHOW SHADOW は,今後も進化します。将来のリリースでは, SHOW SHADOW/FULL 表示のデフォルトの表示および実装により,現在の表示フォーマットが変更されます。このため,DCL コマンド・プロシージャ内で現在の出力フォーマットを解析することでシャドウ・セットの情報を取得することは避けるようにお勧めします。 SHOW SHADOW コマンドが表示する項目の大部分は, F$GETDVI レキシカル関数を使用して取得することができます。

さらに,SET SHADOW コマンドの動作も変更されます。 SET SHADOW を使用してシステム上のすべてのシャドウ・セットの特性を同時に設定する場合は,他の新しい修飾子に加え,新しい /ALL 修飾子が必要です。

これらの新しいコマンドを使用する DCL コマンド・プロシージャを作成する場合は,これらの変更を念頭に置いてください。

4.23.3 書き込みビットマップと異種デバイス・シャドウイング (DDS) の注意事項

V7.3-2

Volume Shadowing for OpenVMS を使用するときには,書き込みビットマップと異種デバイス・シャドウイング (DDS) の間に相互作用があります。

DDS (OpenVMS Version 7.3-2 の新機能) を使用すると,異なるサイズのディスク・デバイスからなるシャドウ・セットを構築できます。 (DDS についての詳細は,『HP OpenVMS Alpha Version 7.3--2 新機能説明書』と『Volume Shadowing for OpenVMS 説明書』を参照してください。)

書き込みビットマップは,完全コピーのオーバヘッドなしでメンバを仮想ユニットに戻せるように,シャドウ・セットの仮想ユニットに対して行われたアプリケーションの書き込みを追跡します。ユーザがシャドウ・セット・メンバに対して DISMOUNT/POLICY=MINICOPY コマンドを実行した場合や, MOUNT/POLICY=MINICOPY コマンドを使用してシャドウ・セットをマウントした場合に,書き込みビットマップが作成されます。このビットマップが作成されるときのサイズは,ボリュームの現在のサイズに依存します。

シャドウ・セットがマウントされるとき,そのシャドウ・セットの仮想ユニットの論理サイズは,最小のメンバ・ユニットのサイズになります。シャドウ・セットのメンバが削除された場合,仮想ユニットの論理サイズは,セット内に残っているメンバのサイズを基にして,再計算されます。その結果,仮想ユニットの論理サイズは,大きくなることがあります。

シャドウ・セットに書き込みビットマップが作成されるとき,そのサイズは,シャドウ・セットの仮想ユニットの現在のサイズによって決まります。仮想ユニットのサイズが後で大きくなると,ビットマップは仮想ユニット全体をカバーできなくなります。その後,ビットマップを使用してミニコピー操作でシャドウ・セット・メンバを戻すと,仮想ユニット内でビットマップがカバーしていない部分は,フル・コピー操作でコピーされます。

この問題を,次の例で示します。

  • シャドウ・セット DSA1: は,次の 3 つのメンバからなります。
    $1$DGA20:   (18 GB)
    $1$DGA21:   (36 GB)
    $1$DGA22:   (36 GB)

  • 次のコマンドを使用して,ミニコピー・ビットマップ付きで,シャドウ・セットから $1$DGA22: を削除します。


    $ DISMOUNT/POLICY=MINICOPY $1$DGA22: 
    


    書き込みビットマップのサイズは,シャドウ・セットの仮想ユニットの現在のサイズである,18 GB を基にして決められます。

  • $1$DGA20: をシャドウ・セットから削除します。ファイル・システムで残りのメンバの 36 GB 全体を利用できるようにするには,次のコマンドを使用します。


    $ SET VOLUME/SIZE DSA1 
    


    $1$DGA20 は,新しいボリューム・サイズよりも小さいため,このシャドウ・セットでは使用できなくなります。

  • 次のコマンドを使用して,$1$DGA22: をシャドウ・セットに戻します。


    $ MOUNT/SYSTEM DSA1:/SHADOW=$1$DGA22: label
    


    DSA1: の論理サイズは 36 GB のままですが,ビットマップがカバーしているのは,最初の 18 GB だけです。

  • $1$DGA22: の最初の 18 GB はビットマップを使用してミニコピーでコピーされ,残りの 18 GB は,フル・コピー操作でコピーされます。

小さいシャドウ・セット・メンバの削除を予定している場合は,ミニコピー・ビットマップ付きで大きなシャドウ・セット・メンバを削除する前に小さいメンバを削除すれば,大きなビットマップが作成され,短いビットマップで性能へ悪影響を及ぼすのを避けることができます。 (上記の例では,$1$DGA22: を削除する前に $1$DGA20: を削除します。)

4.23.4 KZPDC (Smart Array 5300) の制限事項

永続的な制限事項

すべてのシャドウ・セット・メンバが,次のようなフォールト・トレラント・デバイスからなるデバイスを使用して形成されているという前提で,Volume Shadowing for OpenVMS は, KZPDC コントローラ (Smart Array 5300) とともに使用できます。

  • RAID 1。コントローラ・ベース・ミラーリングとも呼ばれます。

  • RAID 5。パリティ付きのストライピングです。

  • RAID ADG (Advanced Data Guarding)。複数のパリティ・デバイスを用いたストライピングです。

KZPDC (Smart Array 5300) コントローラでのフォールト・トレラント・デバイスは,基礎となる LUN のいずれかでメディア障害が発生した場合に,データ・エラーを修復できるデバイスです。

OpenVMS Alpha Version 7.3-2 およびそれ以降は,総ブロック数が異なるメンバからなるシャドウ・セットをサポートしています。この新しい機能は,異種デバイス・シャドウイング (DDS) と言います。 DDS を使用すると,KZPDC デバイスは,サポートされている任意のコントローラ下のデバイスとシャドウ化できます。

以前のすべてのバージョンの OpenVMS では,HBVS で複数メンバのシャドウ・セットを作成するためには,すべてのデバイスは,総ブロック数が同じでなければなりませんでした。構成ユーティリティは, KZPDC デバイスや MSA1000 デバイス上のブロックの総数として,作成可能で,要求されたサイズに最も近い値を設定します。 KZPDC と MSA1000 は同じ計算方法を使用するため,同じ要求サイズで両者に作成されたデバイスには,同じサイズが設定されます。これにより,HBVS で複数メンバのシャドウ・セットを作成できます。

注意

フォールト・トレラント・デバイスが使用されていない場合は, HBVS を使用して複数メンバのシャドウ・セットを作成できないこともあります。たとえば,単一メンバのシャドウ・セットが, 1 つのデバイス (物理ディスクまたは非フォールト・トレラント・デバイス) を使用して形成されたとします。その後このデバイスで回復不可能なデータ・エラーが発生した場合, HBVS を使用してこのシャドウ・セットに他のメンバを追加することはできません。 2 つ目のメンバがシャドウ・セットに追加されると, HBVS はソース・デバイス全体を読み取り,ターゲット・デバイスへコピーします。基本シャドウ・セット・メンバ (つまりソース・シャドウ・セット・メンバ) からデータ・エラーが読み取られると, HBVS は,現在のすべてのシャドウ・セット・メンバ (ソース・メンバとコピー・ターゲット) に,「バッド・スポット」を作成しようとします。いずれかのシャドウ・セット・メンバで,バッド・スポットを作成する要求が失敗すると,シャドウ・セットは,1 メンバに縮小されます。



V7.3-2

シャドウ・セットの補助なしマージ操作の実行中には,アプリケーションの読み込み I/O の性能が,次の 2 つの理由で低下します。

  • すべての読み込み I/O で,データ一貫性チェックを行う必要がある。

  • シャドウ・セット・マージ操作により,I/O 帯域幅の競合が発生する。

シャドウ・セット・マージ操作では,アプリケーションへのマージ I/O の影響を少なくするために,絞り込みメカニズムを採用しています。マージ処理は,システムの負荷が検出されたときにマージ I/O 操作間に遅延を入れることにより,絞り込まれます。この遅延を算出するロジックが, OpenVMS Alpha Version 7.3-2 用に再設計されました。新しいマージ遅延の計算では,デフォルトのパラメータ設定で, HSG80 などの一部の I/O コントローラでのマージ速度が速くなります。詳細は,『Volume Shadowing for OpenVMS 説明書』を参照してください。

4.23.6 /MINICOPY を使用したシャドウ・セット・メンバのディスマウント

V7.3

シングル・サイトまたはマルチ・サイトの OpenVMS Cluster 構成では,クライアント・システムでシャドウ・セットのメンバのディスマウントに, /MINICOPY 修飾子を使用して DISMOUNT コマンドを実行すると, DISMOUNT コマンドが失敗することがあります。

回避方法

最初の DISMOUNT コマンドが失敗した場合,次の例のようにコマンドを繰り返します。


$! The following commands are NOT executed on the WILD3 system. 
$ 
$ SHOW DEVICE DSA5555 
Device                  Device           Error    Volume         Free  Trans Mnt 
 Name                   Status           Count     Label        Blocks Count Cnt 
DSA5555:                Mounted              0  $80$DKA107:    7994646     1  18 
$80$DKA107:    (WILD3)  ShadowSetMember      0  (member of DSA5555:) 
$80$DKA302:    (WILD3)  ShadowSetMember      0  (member of DSA5555:) 
$80$DKA303:    (WILD3)  ShadowSetMember      0  (member of DSA5555:) 
$ 
$ 
$ DISMOUNT/POLICY=MINICOPY $80$DKA302: 
%DISM-W-CANNOTDMT, $80$DKA302: cannot be dismounted 
%DISM-F-SRCMEM, only source member of shadow set cannot be dismounted 
$ 
$ 
$ DISMOUNT/POLICY=MINICOPY $80$DKA302: 
$ 

この問題は,今後のリリースで修正される予定です。

4.24 Authentication and Credential Management Extension (ACME)



V8.3

以下に Version 8.3 での新機能と変更された機能を示します。

  • ACME_SERVER の再起動の変更
    以前のリリースでは,ACME_SERVER プロセスはすべての構成コマンドを,ステージング・ファイル SYS$SYSTEM:ACME$SERVER_CONFIG.TMP に記録していました。再起動に際し,サーバはこのファイルを使用して,再起動時に処理されるステージング・ファイルから選択された構成情報を含む,データ・ファイル SYS$SYSTEM:ACME$SERVER_RESTART.DAT を作成します。
    再起動後にサーバの構成状態を復元する方法は使用されなくなり,サイト固有のスタートアップ・プロシージャ SYS$MANAGER:ACME$START.COM に置き換えられました。このファイルの検索には,エグゼクティブ・モードの論理名 ACME$START が使用されます。
    SYS$MANAGER:ACME$START.COM は,次のいずれかの条件の結果として実行されます。

    • SET SERVER ACME/START=AUTO コマンドが実行された。

    • SET SERVER ACME/RESTART コマンドが実行された。

    • 自動サーバ再起動が行われる,予期しない状態となった。


    SYS$MANAGER:ACME$START.LOG ファイルには,障害時の再起動で生成された情報が含まれます。
    再起動時に構成されるエージェントを定義したり,他のサーバ構成オプションを定義するために,ユーザは SYS$MANAGER:ACME$START.COM ファイルを変更することができます。システムのアップグレード時には,このファイルは置き換えられません。このファイルの,弊社が提供しているバージョンは, SYS$MANAGER:ACME$START.TEMPLATE ファイルに入っています。

  • 新しい SET SERVER ACME/START[=AUTO] キーワード
    オプションのキーワード AUTO を使用すると,サーバは SYS$MANAGER:ACME$START.COM プロシージャを使用して,自身の起動および構成を行います。デフォルトでは,サーバは OpenVMS ACME エージェントだけが構成されている状態で起動されます。

  • Integrity サーバ上での SET SERVER ACME/CONFIG=THREAD_MAX の無視
    このリリースの Integrity サーバでは, SET SERVER ACME/CONFIG=THREAD_MAX コマンドは無視されます。アクティブなワーカ・スレッドは,1 個だけです。

  • SYS$ACM 対応の LOGINOUT.EXE イメージと SETP0.EXE イメージのためのオプション・キット
    SYS$ACM 対応の LOGINOUT.EXE イメージと SETP0.EXE (SET PASSWORD) イメージは,オプションのインストール・キットとして提供されています。 OpenVMS 以外の ACME エージェントとともに使用すると,これらのイメージは,追加の認証機能を必要とするサイトに対して追加の認証機能を提供します。
    このキットの動作上の要件とサポートされる ACME エージェントの一覧については, SYS$HELP:ACME_DEV_README.TXT を参照してください。



4.25 OpenVMS と Kerberos ACME エージェントのデフォルトの起動順序は必須

V8.3

OpenVMS ACME エージェントを起動するためのデフォルトの設定では,正常なログインを許可します。 OpenVMS と Kerberos ACME エージェントのデフォルトの起動順序を変更し, Kerberos ACME を先に起動するようにすると, Kerberos レルム内にないアカウントでログインできなくなる可能性があります。デフォルトの起動順序の変更は, OpenVMS の本リリースではサポートされていません。

起動順序が変更されている場合は,以下の手順を実行することでデフォルトの順序に戻すことができます。

SYS$MANAGER:ACME$START.COM を編集し,コマンド・プロシージャの最後の付近にある,エージェントの順序を指定できるセクションを探します。 AGENT_LIST で始まる最後の行を変更し,プロシージャ内に現れるようにします。


$! A specific agent ordering can be specified in AGENT_LIST. 
$! 
$! If the list is empty, the agents will be enabled in the order that 
$! they were configured. Some agent startup procedures may alter 
$! the agent order. You can override that ordering here. Consult the 
$! agent documentation you are using to ensure that the ordering you 
$! specify is supported by that agent. 
$! 
$! For example 
$! 
$!      AGENT_LIST = "VMS,MSV1_0" 
$! 
$! will enable the VMS and MSV1_0 agents (and only those agents) in 
$! that order. 
$! 
$ AGENT_LIST = "VMS,ACME_KRB_DOI" 



4.26 トレースバック API の問題の修正

OpenVMS I64 Version 8.2 では, pc_rel (相対 PC 値) または image_desc (イメージ名文字列記述子) の引数にゼロを指定すると,エラーが発生しました。本リリースでは,トレースバック・ファシリティはこれらの引数を正しく無視し,トレースバック処理が続行されるようになりました。

4.27 WBEM Services for OpenVMS Version 2.0 の注意事項

以下に, WBEM Services for OpenVMS Version 2.0 に関する最新情報を示します。

4.27.1 ベースは OpenPegasus 2.5

WBEM Services for OpenVMS Version 2.0 は, The Open Group の Pegasus オープン・ソース・プロジェクトの OpenPegasus 2.5 コード・ストリームをベースにしています。

4.27.2 nPartitions と iCAP のサポート

WBEM Services for OpenVMS Version 2.0 は,ローカルの nPartitions プロバイダと iCAP プロバイダをサポートしています。これらのプロバイダが必要とする機能だけがサポートされています。

4.27.3 共通システム・ディスクのクラスタ向けに設計されていない

UNIX ベースの製品である Pegasus は,共通システム・ディスクのクラスタ向けに設計されていません。 1 つのクラスタ共通システム・ディスク上で複数のノードに対して cimserver を実行するには,リポジトリ,トレース,ログ・ファイル・ディレクトリが衝突しないように,製品を個別のルートにインストールしてください。

4.27.4 OpenVMS 上でプロバイダをアンロードするには cimserver.exe を再起動する

cimprovider -r コマンドを入力した後は,プロバイダの置き換え処理を完了させるために, cimserver を停止して再起動する必要があります。 (OpenVMS では,動的にロードされたイメージのアンロードはサポートされていません。)

4.27.5 コマンド行オプションは引用符で囲む

コマンド行オプションの大文字と小文字の区別を保持するには,次の例のように,必ず引用符で囲んでください。
正:
$ cimmofl "-E" "--xml"
誤:
$ cimmof -E -xml

4.27.6 アンインストール後の WBEMCIM リポジトリ・ディレクトリ・ツリーのクリーン・アップ

DCL コマンド PRODUCT REMOVE WBEMCIM は, WBEM_SERVICES$SETUP.EXE がインストール後に作成するリポジトリ・ディレクトリ・ツリーを削除しません。 SYS$COMMON:[WBEM_SERVICES.VAR...]*.*;* を手動で削除する必要があります。

このディレクトリ・ツリーを削除しないと, WBEM をアップグレードまたは再インストールするときに, WBEM_SERVICES$SETUP.EXE を実行すると複数の "File already exists" エラーが報告されます。

4.28 I64 では $SIGNAL_ARRAY_64 システム・サービスがない

V8.3

システム・サービス $SIGNAL_ARRAY_64 は,I64 にはありません。 I64 でこのサービスを呼び出すと,戻り状態値 SS$_NOT_LOADED(10 進数で 4026) が返されます。このサービスは,OpenVMS I64 の将来のリリースで追加される予定です。

この問題を回避するには,メカニズム・アレイ内のオフセット chf$ph_mch_sig64_addrにある, 64 ビットのシグナル配列のアドレスを見つけます。たとえば C 言語で次の文があるとします。


status = sys$signal_array_64(mech_array, &sig64_array); 

これを,次の文に置き換えます。


sig64_array = ((CHFDEF2 *)mech_array)->chf$ph_mch_sig64_addr; 



4.29 『HP OpenVMS System Analysis Tools Manual』

V8.3

『HP OpenVMS System Analysis Tools Manual』については,以下の訂正があります。このマニュアルは,OpenVMS Version 8.3 用に更新されていませんが,ここに示す訂正と,『HP OpenVMS V8.3 新機能説明書』で説明する追加情報は, SDA ユーティリティと, ANALYZE およびシステム・サービス・ログに関連するコマンドのオンライン・ヘルプに取り込まれています。

4.29.1 DUMPSTYLE の各ビットの定義

表2-1の最後の行は,次の行に置き換える必要があります。

5 32 0= 選択型ダンプに,すべてのプロセス・ページとグローバル・ページを書き込む。
    1= 1= 選択型ダンプに主要なプロセス・ページとグローバル・ページだけを書き込む。フル・ダンプを書き込む際には (ビット 0 = 0),このビットは無視される。このビットは,『 システム管理者マニュアル (下巻)』の説明に従って,優先プロセスが正しく設定されている場合にだけ設定する。



4.29.2 システム・ダンプの保存

以降の段落が第 2.2.2 項に追加となります。

ダンプを分析する際,システムのクラッシュ時にダンプ・ファイルに書き込むことができないデータが利用できると便利です。このデータには,ファイル識別子に関連した完全なファイル指定が含まれます。 I64 システムでは,プロセス内でアクティブ化されたイメージのアンワインド・データも含まれます。

ダンプが書き込まれたシステムでダンプを分析する場合は, COLLECT コマンドを使用して,現在の SDA セッションで使用するためにこのデータを収集することができます。分析のために別の場所にダンプをコピーしている場合は, COPY/COLLECT コマンドを使用してデータを収集し,書き込まれるコピーに追加することができます。 COPY/COLLECT コマンドを COLLECT コマンドの後に使用すると,すでに収集済みのデータがダンプ・コピーに追加されます。

デフォルトでは,システムのクラッシュ時に書き出されるオリジナルのダンプのコピーには,収集内容が含まれます。この動作は,COPY/NOCOLLECT を使用して変更することができます。逆に,以前 SDA で収集を行わずに (COPY/NOCOLLECT) コピーしたダンプのコピーには,収集内容は含まれません。この動作は,COPY/COLLECT を使用して変更することができます。

追加された収集内容がすでに含まれているダンプをコピーすると,常に収集内容が含まれます。

すべてのファイルとアンワインド・データを正常に収集するためには,システムのクラッシュ時にマウントされていたすべてのディスクを再マウントし, SDA を実行しているプロセスからアクセスできるようにする必要があります。ダンプの内容を保存するため,起動時の早い時期に SDA を起動し (たとえば CLUE$SITE_PROC を使用。第 2.2.3 項を参照),バッチ・ジョブが動作するまでにディスクがマウントされていない場合は,コマンド・プロシージャ CLUE$SITE_PROC で COPY/NOCOLLECT コマンドを使用する必要があります。いったんすべてのディスクがマウントされたら, COPY/COLLECT を使用してファイルとアンワインド・データを保存することができます。

COPY 操作と COLLECT 操作を一度の手順で実行できない場合は, COLLECT/SAVE コマンドを入力すると,収集内容が個別のファイルに書き出されます。このファイルは,後でダンプ・ファイルとともに使用することができます。後でコピーを行うことにより 2 つのファイルが結合されます。

4.29.3 システムをリブートする際の SDA の起動

第 2.2.3 項で, CLUE HISTORYコマンドについての段落の最後に次の内容が追加となります。

COPYコマンドで /NOCOLLECT修飾子を指定しなくてはならない場合があります。詳細については,前の項を参照してください。

4.29.4 SDA CONTEXT

第 2.5 項で,SET PROCESS コマンドと SHOW PROCESS コマンドの最初のリストに, SHOW PROCESS/SYSTEM 行と SHOW PROCESS/NEXT 行が追加となります。また,以下の行が一覧に追加となります。


VALIDATE PROCESS/POOL プロセス名 
VALIDATE PROCESS/POOL/ADDRESS=PCB アドレス 
VALIDATE PROCESS/POOL/INDEX=nn 
VALIDATE PROCESS/POOL/NEXT 
VALIDATE PROCESS/POOL/SYSTEM 

この項の最後で, SET PROCESS コマンドと SHOW PROCESS コマンドの一覧の最後に,以下の行が追加となります。


VALIDATE PROCESS/POOL プロセス名 
VALIDATE PROCESS/POOL/ADDRESS=PCB アドレス 
VALIDATE PROCESS/POOL/INDEX=nn 
VALIDATE PROCESS/POOL/NEXT 



4.29.5 SDA シンボルの初期化

第 2.6.1.4 項で,次の文が 第 4.29.5 項 の見出しの直前に追加となります。

シンボルは小文字を含むことができます。シンボルを操作するコマンド ( DEFINESHOW SYMBOLUNDEFINEなど) では,小文字を含むシンボルを引用符で囲む必要があります。

4.29.6 ANALYZE

第 3 章のパラメータの項で,ファイル指定の説明が次のように変更となります。

分析するダンプが格納されているファイルの名前です。 ANALYZE/CRASH_DUMPコマンドでファイルを指定しないと,デフォルトは,バージョン番号が最も大きな SYS$SYSTEM:SYSDUMP.DMPとなります。このファイルが存在しないと,ファイル名の入力を促すプロンプトが表示されます。ファイル指定のいずれかのフィールドを指定すると,残りフィールドは,デフォルト・ディレクトリ, SYSDUMP.DMP,最も大きなバージョン番号となります。

パラメータの項に次の内容が追加となります。

コレクション・ファイル名

SDA が使用するファイルの名前で,ファイル識別子変換データとアンワインド・データが格納されています。

4.29.7 Crash_Dump

第 3 章の形式の項で filespec[ filespec ]に変更する必要があります (つまり,filespec パラメータは省略可能になりました)。

4.29.8 SDA コマンド

第 4 章の導入部で,FLT が削除され,以下のコマンドが追加となります。

COLLECT
SHOW EFI
SHOW VHPT
VALIDATE POOL
VALIDATE PROCESS

4.29.9 COPY コマンド

第 4 章で,COPY コマンドの説明に次の内容が追加となります。

ダンプを分析する際,システムのクラッシュ時にダンプ・ファイルに書き込むことができないデータが利用できると便利です。このデータには,ファイル識別子に関連した完全なファイル指定が含まれます。また,OpenVMS I64 では,プロセス内でアクティブ化されたイメージのアンワインド・データも含まれます。

ダンプが書き込まれたシステムでダンプを分析する場合は, COLLECTコマンドを使用して,現在の SDA セッションで使用するためにこのデータを収集することができます。分析のために別の場所にダンプをコピーしている場合は, COPY/COLLECTコマンドを使用してデータを収集し,書き出されるコピーに追加することができます。 COPY/COLLECTコマンドを COLLECTコマンドの後に使用すると,すでに収集済みのデータがダンプ・コピーに追加されます。

デフォルトでは,システムのクラッシュ時に書き出されるオリジナルのダンプのコピーには,収集内容が含まれます。この動作は, COPY/NOCOLLECTを使用して変更することができます。逆に,以前 SDA で収集を行わずにコピー (COPY/NOCOLLECT)したダンプのコピーには,収集内容は含まれません。この動作は, COPY/COLLECTを使用して変更することができます。追加された収集内容がすでに含まれているダンプをコピーすると,常に収集内容が含まれます。

すべてのファイルとアンワインド・データを正常に収集するためには,システムのクラッシュ時にマウントされていたすべてのディスクを再マウントし, SDA を実行しているプロセスからアクセスできるようにする必要があります。ダンプの内容を保存するため,起動中の早い時期に SDA を起動し (たとえば CLUE$SITE_PROCを使用。第 2.2.3 項を参照),バッチ・ジョブが動作するまでにディスクがマウントされていない場合は,コマンド・プロシージャ CLUE$SITE_PROCCOPY/NOCOLLECTコマンドを使用する必要があります。いったんすべてのディスクがマウントされたら, COPY/COLLECTを使用してファイルとアンワインド・データを保存することができます。

COPYコマンドと COLLECTコマンドを一度の手順で実行できない場合は, COLLECT/SAVEコマンドを実行すると,収集内容が個別のファイルに書き出されます。このファイルは,後でダンプ・ファイルとともに使用することができます。後で COPYコマンドを実行することで 2 つのファイルが結合されます。

4.29.10 DUMP コマンド

第 4 章で, DUMPコマンドの説明が以下のように変更となります。

  • フォーマットの項の最後で, /BYTE| /WORD| が /LONGWORDおよび [/NOSUPPRESS]の前に追加となります。

  • rangeパラメータの説明に,次の文章が追加となります。
    範囲の長さは,データ項目サイズ ( /INDEX_ARRAYが指定されている場合はインデックス配列サイズ) の倍数になっている必要があります。

  • /RECORD_SIZEパラメータの説明に次の文章が追加となります。
    レコード・サイズを指定せず,範囲の長さが 512 バイトを超えない場合は,指定された範囲を含み,レコード番号フィールドのない,単一のレコードが出力されます。範囲の長さは,データ項目サイズ ( /INDEX_ARRAYが指定されている場合はインデックス配列サイズ) の倍数になっている必要があります。



4.29.11 EVALUATE コマンド

第 4 章で, EVALUATEコマンドの説明が以下のように変更となります。

  • フォーマットの項で, [ = filter ]/ [ NO ] SYMBOLSの後に追加する必要があります。

  • /SYMBOLS修飾子と /NOSYMBOLS修飾子の説明が,次の内容に置き換えられます。
    EVALUATEコマンドのデフォルトの動作では,評価した式に等しいことが分かっているシンボルが 5 個まで表示されます。フィルタなしで /SYMBOLSを指定すると,すべてのシンボルがアルファベット順に表示されます。 /NOSYMBOLSを指定すると, 16 進数値と 10 進数値だけが表示されます。フィルタ付きで /SYMBOLSを指定すると,フィルタに一致するシンボルだけが表示されます。フィルタは, PCB$*のように,ワイルドカードを含んだ文字列です。



4.29.12 MAP コマンド

第 4 章で,説明の項の最後に次の文が追加となります。

OpenVMS for Integrity サーバでは, MAPコマンドによってシステム空間内のアドレスの追加データを出力することもできます。アドレスが,ロードされた実行可能なイメージまたは常駐の共用可能イメージのコード・セクションにあり,イメージ・ファイルにアクセス可能で, /TRACEBACK付きでリンクされている場合は,トレースバック・データを使用してモジュール名とルーチン名の情報が取得され表示されます。

第 4 章で,MAP コマンドの説明に次の例が追加となります。


11. SDA> EVALUATE 2F0/SYMBOL=PCB* 
        Hex = 00000000.000002F0   Decimal = 752        PCB$L_INITIAL_KTB 
                                                PCB$L_PCB 

この例は,シンボル・フィルタの使用方法を示します。値が 2F0 で名前が PCB で始まるシンボルだけが表示されます。

4.29.13 SET CPU コマンド

第 4 章で,SET PROCESS コマンドと SHOW PROCESS コマンドの一覧に以下の行を追加する必要があります。

VALIDATE PROCESS/POOL プロセス名
VALIDATE PROCESS/POOL/ADDRESS=PCB アドレス
VALIDATE PROCESS/POOL/INDEX=nn
VALIDATE PROCESS/POOL/NEXT

4.29.14 SET PROCESS コマンド

第 4 章で,SET PROCESS コマンドと SHOW PROCESS コマンドの一覧に以下の行を追加する必要があります。

VALIDATE PROCESS/POOL プロセス名
VALIDATE PROCESS/POOL/ADDRESS=PCB アドレス
VALIDATE PROCESS/POOL/INDEX=nn
VALIDATE PROCESS/POOL/NEXT
VALIDATE PROCESS/POOL/SYSTEM

4.29.15 READ コマンド

第 4 章で,説明の項の最後に次の文が追加となります。

directory-specパラメータの説明で, SYS$LOADABLE_IMAGESSYS$LIBRARYは, SYS$LOADABLE_IMAGESSYS$LIBRARY,および SYS$SYSTEMに変更となります。

表 4-1 の脚注 3 で,次の文を削除する必要があります。

これらは SYS$SYSTEM内にあり, READ/EXECコマンドを実行しても自動的に読み込まれません。

4.29.16 SEARCH コマンド

第 4 章の SEARCHコマンドの説明は以下のように変更となります。

  • /LENGTH修飾子と /MASK修飾子の説明の最後に,次の文が追加となります。
    この修飾子は,文字列検索では無視されます。

  • /STEPS修飾子の説明で, "expression" (式) の後に "or the given string" (または指定された文字列) を挿入する必要があります。

  • /STEPS修飾子の説明の最後の文の最後に, "...for value searches, and a step factor of a byte for string searches" が追加 (最後の文が「/STEP 修飾子を指定しないと,値の検索ではロングワードのステップ係数が使用され,文字列の検索ではバイトのステップ係数が使用されます。」に変更) となります。

  • 説明の項で, "value" (値) の後に "or string" (または文字列) という記述が挿入となります。



4.29.17 SHOW_CALL_FRAME コマンド

第 4 章で, starting-addressパラメータの説明は,次の文に置き換えとなります。

Alphaの場合

表示するプロシージャ呼び出しフレームの開始アドレスを表す式です。開始アドレスの値を指定しないと, SDA の現在のプロセスのフレーム・ポインタ (FP) レジスタの内容がデフォルトの開始アドレスとなります。 pthread を使用するプロセスの場合は,次の SDA コマンドを使用してすべての pthread の開始アドレスを表示することができます。


SDA> pthread thread -o u 

OpenVMS for Integrity サーバの場合

以下のいずれかを表す式です。

  • フレームの呼び出しコンテキスト・ハンドル

  • 例外フレームのアドレス。これは,次の SDA コマンドと同等です。


    SDA> SHOW CALL_FRAME /EXCEPTION_FRAME=starting-address 
    

  • スレッド環境ブロック (TEB) のアドレス。プロセスのすべての TEB の一覧を表示するには,次の SDA コマンドを使用します。


    SDA> pthread thread -o u 
    


    starting-addressを指定しないと,デフォルトの開始アドレスは,SDA の現在のプロセス内の現在のプロシージャの呼び出しコンテキスト・ハンドルとなります。



4.29.18 SHOW CLUSTER コマンド

第 4 章の SHOW CLUSTER コマンドの説明は,以下のように変更となります。

フォーマットの項で,"/CIRCUIT=PB アドレス |" が "/CSID" の前に追加となります。

/ADDRESS 修飾子の説明で,"/CSID=csid" および "/NODE=名前" は,"/CIRCUIT=PB アドレス", "/CSID=csid",および "/NODE=名前" に置き換えとなります。

/CSID 修飾子と /NODE 修飾子の説明で, "/CIRCUIT=PB アドレス" が "/ADDRESS=n" の後に追加となります。

次の文が説明に追加となります。

修飾子 /CIRCUIT=PB アドレス を指定すると, SHOW CLUSTER コマンドは指定されたパス・ブロックから得た情報だけを表示します。

4.29.19 SHOW CRASH コマンド

第 4 章の SHOW CRASH コマンドの説明は,以下のように変更となります。

フォーマットの項は,"SHOW CRASH [ /ALL | /CPU = n]" に変更となります。

説明の項で,後ろから 2 つ目の段落に次の内容が追加となります。

/ALL を指定しないと,バグチェック CPUEXIT または DBGCPUEXIT を持つ CPU について,レジスタ (Alpha 上) または例外フレームの内容 (I64 上) が表示から省略されます。

説明の項で,最後の段落から "and additionally displays all CPU database addresses in system dumps" (また追加でシステム・ダンプ内のすべての CPU データベース・アドレスを表示します) が削除となります。

例 3 のコマンドは,次のように変更となります。


SDA> SHOW CRASH /ALL 



4.29.20 SHOW DUMP コマンド

第 4 章で,SHOW DUMP コマンドの説明は,次のように変更となります。

フォーマットの項は次の内容に置き換えとなります。


SHOW DUMP [ /ALL 
  | /BLOCK [ = m [ { : | ; } n ] ] 
  | /COLLECTION [ = { ALL | n } ] 
  | /COMPRESSION_MAP [ = m [ : n [ : p ] ] ] 
  | /ERROR_LOGS 
  | /FILE = { COLLECTION | DUMP } 
  | /HEADER 
  | /LMB [ = { ALL | n } ] 
  | /MEMORY_MAP 
  | /SUMMARY ] 

説明の項で,"the memory map, and the file identification, and/or unwind data collection" (メモリ・マップ,ファイル識別子,アンワインド・データの収集内容) は,"and the memory map" (およびメモリ・マップ) に置き換えとなります。

次の例が SHOW DUMP コマンドに追加となります。


3. SDA> SHOW DUMP/COLLECTION 
 
File and unwind data collection 
------------------------------- 
 
Collection start VBN:     0002155B 
Collection end VBN:       00022071 
Collection block count:   00000B17 
 
  VBN    Blocks>      Contents 
-------- -------- ------------------------------ 
0002155B 000000C1 Unwind data segment 00000001 of _$30$DKB200:[VMS$COMMON.SYSEXE]DCL.EXE;1 
0002161C 00000001 Unwind data segment 00000001 of _$30$DKB200:[VMS$COMMON.SYSEXE]USB$UCM_SERVER.EXE;1 
0002161D 0000000C Unwind data segment 00000008 of _$30$DKB200:[VMS$COMMON.SYSEXE]USB$UCM_SERVER.EXE;1 
. 
. 
. 
0002200F 0000001F Unwind data segment 00000007 of _$30$DKB200:[VMS$COMMON.SYSEXE]LATACP.EXE;1 
0002202E 00000006 Unwind data segment 0000000B of _$30$DKB200:[VMS$COMMON.SYSEXE]LATACP.EXE;1 
00022034 00000001 Unwind data segment 00000002 of _$30$DKB200:[BISHOP]CMEXEC_LOOP.EXE;1 
00022035 00000001 File data for _$30$DKA0: 
00022036 0000003B File data for _$30$DKB200: 
00022071 00000001 Disk data 

この SHOW DUMP/COLLECTION コマンドの例は, SDA コマンド COPY/COLLECT を使用してシステム・ダンプをコピーしたときに追加されたファイル識別子およびアンワインド・データの収集内容を表示します。アンワインド・データ・セグメントは, OpenVMS I64 システムのシステム・ダンプだけにある点に注意してください。

4.29.21 SHOW PROCESS コマンド

第 4 章の SHOW PROCESS コマンドの説明は,以下のように変更となります。

フォーマットの項は,次のように変更となります。

  • "{ =P0 | =P1 | =ALL }" で,"=IMGACT" を "=ALL" の前に挿入し, "(D)" を "=ALL" に追加

  • "[ /BRIEF { /FREE | /UNUSED } |...]" で,"/CHECK" を "/BRIEF" の後に挿入

  • "/UNWIND_TABLE [ =ALL ]" を "/UNWIND_TABLE [ = { ALL | 名前 } ]" に変更

修飾子 /ALL の説明で,"/STATISTICS" が "/POOL/HEADER/RING_BUFFER" の行に追加となります。

/POOL 修飾子の説明の見出しと最初の段落は,次のように変更となります。

/POOL [ = { P0 | P1 | IMGACT | ALL (D) } ]

プロセスの P0 (プロセス) 領域,P1 (制御) 領域,イメージ・アクティベータの予約ページ,またはオプションで,あるアドレス範囲内の動的なストレージ・プールを表示します。デフォルトでは,動的なストレージ・プールをすべて表示します。

/UNWIND_TABLE 修飾子の説明は,次の内容に置き換えとなります。

/UNWIND_TABLE [ = { ALL | 名前 } ] (I64 のみ)

キーワードなしで指定すると,プロセスのマスタ・アンワインド・テーブルが表示されます。 SHOW PROCESS/UNWIND=ALL は,すべてのプロセス・アンワインド記述子の詳細を表示します。 SHOW PROCESS/UNWIND=名前 は,指定した名前 (ワイルドカードが使用可能) を持つイメージのすべてのアンワインド記述子の詳細を表示します。プロセス空間内の特定の PC のアンワインド・データを表示するには, SHOW UNWIND アドレス を使用します。

あるイメージのいくつかまたはすべてのアンワインド・データがシステム・ダンプに含まれていない場合は (たとえば,システムのクラッシュ時にプロセスのワーキング・セットになかった場合),アンワインド・データにアクセスできないため, SHOW PROCESS/UNWIND コマンドは %SDA-W-NOREAD エラーで失敗します。アンワインド・データを収集 (コマンド COLLECT および COPY/COLLECT を参照) してもこの状況は変わりません。収集されたアンワインド・データは SHOW UNWIND アドレス および SHOW CALL でのみ使用されるためです。

"For I64" (I64 の場合) の下の 2 番目の箇条書き項目は,次のように変更となります。

特殊な用途のレジスタ (PC,PSR,ISR)。 PC は,PSR から得たスロット番号と IP の組み合わせであることに注意してください。



4.29.22 SHOW RESOURCES コマンド

第 4 章の SHOW RESOURCES コマンドの説明は,次のように変更となります。

次のキーワードが /STATUS 修飾子に追加となります。

キーワード 意味
RM_FORCE 強制的にツリーを移動する。
RM_FREEZE このノードのリソース・ツリーを凍結する。
RM_INTEREST マスタに関心がないため,再マスタリングを行う。
XVAL_VALID 最後の値ブロックは長いブロックだった。



4.29.23 SHOW SPINLOCKS コマンド

第 4 章の SHOW SPINLOCKS コマンドの説明は,次のように変更となります。

フォーマットの項は次のように変更となります。


SHOW SPINLOCKS {[name]|/ADDRESS = 式|/INDEX = 式 } 
                [/OWNED|/DYNAMIC|/STATIC 
                |/CACHED_PCB|/MAILBOX|/PCB|/PORT|/PSHARED] 
                [{/BRIEF|/COUNTS|/FULL}] 

name パラメータの説明で, "PCB, or cached PCB" (PCB またはキャッシュされた PCB) は, "PCB, cached PCB, or process-shared" (PCB,キャッシュされた PCB,またはプロセス共用された) に変更となります。

/ADDRESS 修飾子の説明で, "PCB, or cached PCB" (PCB またはキャッシュされた PCB) は, "PCB, cached PCB, or process-shared" (PCB,キャッシュされた PCB,またはプロセス共用された) に変更となりますす。

/DYNAMIC 修飾子の説明で, "PCB, or cached PCB" (PCB またはキャッシュされた PCB) は, "PCB, cached PCB, or process-shared" (PCB,キャッシュされた PCB,またはプロセス共用された) に変更となります。 /PORT 修飾子の後に次の新しい修飾子が追加となります。

/PSHARED

プロセス共用された (pthread) スピンロックをすべて表示します。

説明の項の 3 番目の段落で, "PCB, and cached PCB" (PCB およびキャッシュされた PCB) は, "PCB, cached PCB, and process-shared" (PCB,キャッシュされた PCB,およびプロセス共用された) に変更となります。

4.29.24 SHOW MEMORY コマンド

第 4 章の SHOW MEMORY コマンドの説明は,次のように変更となります。

/SLOTS 修飾子の説明で,"partition" (パーティション) という語は "process" (プロセス) に変更となります。

4.29.25 SHOW GCT コマンド

第 4 章の SHOW GCT コマンドの説明は,以下のように変更となります。

フォーマットの項で,"[ CHILDREN ] |" は "[ /CHILDREN ] |" に変更となり,その後に "[ /FULL ] |" が追加となります。

修飾子の項で,次の /FULL 修飾子の説明が /CHILDREN の後に追加となります。

/FULL

/FULL 修飾子を /CHILDREN,/OWNER=n, /TYPE=タイプ のいずれかとともに使用すると, SDA は各ノードについて詳細に表示します。

/OWNER と /TYPE の説明で, "Provides a detailed display of all nodes" (すべてのノードについて詳細に表示します) は "Displays all nodes" (すべてのノードを表示します) に変更となります。

/TYPE の説明で,"CORE","SOCKET",および "THREAD" が,有効なタイプの一覧にアルファベット順で追加となります。

4.29.26 SHOW CPU コマンド

第 4 章の SHOW CPU コマンドの説明に,次の内容が追加となります。

  • I64 では例外フレームの概要



4.29.27 SHOW SYMBOL コマンド

symbol-name パラメータの説明に,次の文が追加となります。

小文字を含むシンボルは,引用符で囲む必要があります。

4.29.28 SHOW UNWIND コマンド

フォーマットの項は次のように変更となります。

/IMAGE

SHOW UNWIND [アドレス|/ALL|/IMAGE=名前]

4.29.29 SHOW SWIS コマンド

第 4 章の SHOW SWIS コマンドの説明は,以下のように変更となります。

  • フォーマットの項は次のように変更となります。


    SHOW SWIS [/RING_BUFFER [/CPU = (m, n,...)]] 
    

  • /CPU修飾子の説明は次のように変更となります。


    /CPU = ( m, n,...) 
    


    /RING_BUFFER とともに使用すると,指定した CPU のエントリだけが表示されます。 CPU を 1 つだけ指定する場合は,括弧は省略してかまいません。

  • 説明の項の最後の文は,次のように変更となります。
    /CPU = (m, n)を指定すると,指定した CPU のレコードだけが表示されます。



4.29.30 CLUE CONFIG コマンド

第 5 章の CLUE CONFIG コマンドの説明に,次の修飾子が追加となります。

/CPU

システム,メモリ, CPU に関する情報が格納されたシステム構成の部分だけを表示します。

/ADAPTER

システム上のアダプタとデバイスに関する情報が格納されたシステム構成の部分だけを表示します。

次の文が説明の項に追加となります。

修飾子を全く指定しないと,システム構成全体が表示されます。

4.29.31 CLUE REGISTER コマンド

第 5 章で,CLUE REGISTER コマンドの説明が以下のように変更となります。

フォーマットの項は次のように変更となります。


CLUE REGISTER [/CPU [cpu-id|ALL] 
                | /PROCESS[/ADDRESS=n|INDEX=n 
                | /IDENTIFICATION=n|プロセス名|ALL]] 

パラメータと修飾子は,CLUE_CALL_FRAME コマンドと同じです。

説明の項に次の文が追加となります。

/CPU と /PROCESS のどちらも指定しないと,パラメータ (cpu-idプロセス名) は無視され, SDA の現在のプロセスのレジスタが表示されます。

4.29.32 I64 ISD_Labels インデックスの表

第 10 章の I64 ISD_Labels インデックスの表は,次の表に置き換わります。

表 4-5 I64 ISD_Labels インデックス
インデックス 名前 意味
0 SDA_CIO$K_FIX フィックスアップ
1 SDA_CIO$K_PROMO_CODE プロモート (コード)
2 SDA_CIO$K_PROMO_DATA プロモート (データ)
3 SDA_CIO$K_INIT_CODE 初期化 (コード)
4 SDA_CIO$K_INIT_DATA 初期化 (データ)
5 SDA_CIO$K_CODE コード
6 SDA_CIO$K_SHORT_RW short 型データ (読み書き)
7 SDA_CIO$K_SHORT_RO short 型データ (読み込み専用)
8 SDA_CIO$K_RW データ (読み書き)
9 SDA_CIO$K_RO データ (読み込み専用)
10 SDA_CIO$K_SHORT_DZ short 型データ (デマンド・ゼロ)
11 SDA_CIO$K_SHORT_TDZ short 型データ (後続のデマンド・ゼロ)
12 SDA_CIO$K_DZERO デマンド・ゼロ
13 SDA_CIO$K_TR_DZERO 後続のデマンド・ゼロ



4.29.33 SDA 拡張機能のコンパイルとリンク

第 10.2.1 項の注 2 で,2 箇所ある "ALPHA$LIBRARY" は, "SYS$LIBRARY" に変更となります。

10.3 項の例で, 2 箇所ある "alpha$library" は "sys$library" に変更となります。

4.29.35 呼び出し可能ルーチンの概要

10.4 項で,"SDA$NEWPAGE" は "SDA$NEW_PAGE" に変更となります。

現在の一覧に以下のルーチンがアルファベット順に追加となります。

SDA$CBB_BOOLEAN_OPER
SDA$CBB_CLEAR_BIT
SDA$CBB_COPY
SDA$CBB_FFC
SDA$CBB_FFS
SDA$CBB_INIT
SDA$CBB_SET_BIT
SDA$CBB_TEST_BIT
SDA$DELETE_PREFIX
SDA$FID_TO_NAME
SDA$GET_FLAGS

"So, for example," (そのため,たとえば) で始まるこの項の最後の段落は, "Some routines expect..." (いくつかのルーチンは...期待します。) で始まる最後の箇条書き項目の中に移動となります。

次の箇条書き項目がその項の最後に追加となります。

  • CBB (Common Bitmask Block) ルーチン SDA$CBB_xxx は,システムで使用している CPU について記述する CBB 構造体のローカルなコピーに対して使用するように設計されています。 CBB 構造体の長さは,少なくとも CBB$K_STATIC_BLOCK バイトと想定されます。これらのルーチンで使用されるさまざまな CBB 定数とフィールド名の定義は, SYS$LIBRARY:SYS$LIB_C.TLB 内の CBBDEF.H にあります。
    一連のルーチンは,考えられる CBB 関連の操作をすべて網羅することを目的としたものではなく,必要であることが分かっている操作を提供するためのものです。 CPU について記述すること以外の目的で設定された CBB 構造体では,これらのルーチンが期待どおりに動作しないことがあります。



4.29.36 ターゲット・システムでの接続の設定

第 11.3 項のブート・コマンドの説明で, "with boot command" (ブート・コマンドを使用して) という文は, "with the boot command" (boot コマンドを使用して) に変更となります。

SCD 構成ファイルの説明の前の段落で,最後の文は "See the Boot Option Maintenance Menu, as described in the HP OpenVMS System Manager's Manual, Volume 1: Essentials." ( 『OpenVMS システム管理者マニュアル (上巻)』に記載されているブート・オプション保守メニューを参照してください。) に変更となります。

第 11.3 項で,XDELTA コマンドの説明の最初の箇条書き項目は,次のように変更となります。

  • n\xxxx\;R

第 11.3 項のシステム・パラメータの説明に,以下の 2 つの箇条書き項目が追加となります。

  • BREAKPOINTS
    このパラメータはビットマップになっており,以下の状況で OpenVMS 内に存在する INI$BRK 呼び出しが可能となります。

    • ビット 0: INIT の先頭

    • ビット 1: INIT の最後

    • ビット 2: INIT の中で,セカンダリ CPU を開始する直前

    • ビット 3: INI$BRK が外部モードから呼び出された場合

    • ビット 4: 新たにロードされたエグゼクティブ・イメージの初期化ルーチンを呼び出す前

    • ビット 5-31: 弊社での使用のために予約

    注意

    1. BREAKPOINTS のビット 3 がオフの場合にエグゼクティブ・モードから INI$BRK を呼び出すと,プロセスが終了するか, SSRVEXCEPT バグチェック (SYSTEM_CHECK と BUGCHECKFATAL のどちらかも設定されている場合) となります。

    2. BREAKPOINTS をデフォルト値の 3 から変更すると,システムのセキュリティが低下するおそれがあるため,変更は慎重に行う必要があります。

  • TIME_CONTROL
    このパラメータはビットマスクになっており, OpenVMS の特定の時間制御機能を無効にします。

    • ビット 0: システム・クロックを無効にする

    • ビット 1: CPU サニティ・タイムアウトを無効にする

    • ビット 2: CPU スピンウェイト・タイムアウトを無効にする


    XDELTA または SCD をロードする際に (ブート・フラグのビット 1 またはビット 15 がオンになる), TIME_CONTROL の値がデフォルト値のゼロから 6 (CPU サニティ・タイムアウトと CPU スピンウェイト・タイムアウトが無効) に変わります。これは,システムがブレークポイントで待っているときにこれらのタイムアウトが発生しないようにするためです。これらの設定を変更する必要がある場合は,SYSGEN を使用するか, XDELTA または SCD で DEPOSITコマンドを使用します。ビット 0 はオンにしないでください。

第 11.3.2 項の最後に,次の内容を追加する必要があります。

I64 での同等のテクニックは, SCD フラグ (ビット 15) だけをオンにしてシステムをブートすることです。エラーが発生したのに気づいたら,コンソールで Ctrl/P を押します。この動作によって, XDELTA に制御が渡り (XDELTA ブート・フラグがオンでない場合でも), 1;R と入力できるようになります。ターゲット・カーネルが制御権を獲得し,SCD の接続を待ちます。

また,以下の新しい第 11.3.3 項が追加となります。

ターゲット・カーネルは,イーサネット・デバイスを排他的に使用できる必要があります。 DECnet など,システム・コンポーネントによっては SCD がロードされていると起動しないものがあります。複数のイーサネット・デバイスがあり,ターゲット・カーネルに対して SCD イーサネット・デバイスの排他的なアクセスを許可するようにシステムが構成されている場合は,影響のあるシステム・コンポーネントが通常通り起動するように,論理名 DBGTK$OVERRIDE を定義する必要があります。この論理名はシステム全体で定義することも,システム・コンポーネントの起動コマンドを実行するプロセス内で定義することもできます。

第 11.11.1 項で,2 番目の段落の最後の文 "To remove symbols..." (シンボルを削除するには...) は削除となります。

第 11.11.3 項で,箇条書きの 2 番目と 3 番目の項目は削除となり,最初の項目 "Access to All Executive Image Symbols" (すべてのエグゼクティブ・イメージ・シンボルへのアクセス) は箇条書きから通常の文に変更となります。

第 11.12 項で,例 11-1 の直前に次の新しい段落が追加となります。

例 11-5 以降の表示例は,すべて OpenVMS I64 システムでの例です。 OpenVMS Alpha システムでは,出力がいくらか異なりますが,入力するコマンドはどちらのプラットフォームでも同じです (付随する文章に記載されている 1 つの例外を除く)。

第 11.12 項の "V8.2-014" は,"V8.3-003" に変更となります。

例 11-5 は次の内容に置き換えとなります。


DBG> connect %node_name TSTSYS 
%DEBUG-I-INIBRK, target system interrupted 
DBG> show image 
 image name                      set    base address         end address 
 
 ERRORLOG                        no     0000000000000000     FFFFFFFFFFFFFFFF 
 EXEC_INIT                       no     0000000000000000     FFFFFFFFFFFFFFFF 
 SYS$ACPI                        no     0000000000000000     FFFFFFFFFFFFFFFF 
*SYS$BASE_IMAGE                  yes    0000000000000000     FFFFFFFFFFFFFFFF 
 SYS$DKBTDRIVER                  no     0000000000000000     FFFFFFFFFFFFFFFF 
 SYS$DKBTDRIVER                  no     0000000000000000     FFFFFFFFFFFFFFFF 
 SYS$DKBTDRIVER                  no     0000000000000000     FFFFFFFFFFFFFFFF 
 SYS$EGBTDRIVER                  no     0000000000000000     FFFFFFFFFFFFFFFF 
 SYS$OPDRIVER                    no     0000000000000000     FFFFFFFFFFFFFFFF 
 SYS$PKMBTDRIVER                 no     0000000000000000     FFFFFFFFFFFFFFFF 
 SYS$PKMBTDRIVER                 no     0000000000000000     FFFFFFFFFFFFFFFF 
 SYS$PKMBTDRIVER                 no     0000000000000000     FFFFFFFFFFFFFFFF 
 SYS$PLATFORM_SUPPORT            no     0000000000000000     FFFFFFFFFFFFFFFF 
 SYS$PUBLIC_VECTORS              no     0000000000000000     FFFFFFFFFFFFFFFF 
 SYS$SRBTDRIVER                  no     0000000000000000     FFFFFFFFFFFFFFFF 
 SYSTEM_DEBUG                    no     0000000000000000     FFFFFFFFFFFFFFFF 
 SYSTEM_PRIMITIVES               no     0000000000000000     FFFFFFFFFFFFFFFF 
 SYSTEM_SYNCHRONIZATION          no     0000000000000000     FFFFFFFFFFFFFFFF 
 
 total images: 18 
DBG> 

例 11-7 は次の内容に置き換えとなります。


DBG> set image system_debug 
%DEBUG-I-DYNLNGSET, setting language IMACRO 
DBG> show module 
module name                     symbols   language   size 
 
AUX_TARGET                      no        C             0 
BUFSRV_TARGET                   no        C             0 
BUGCHECK_CODES                  no        BLISS         0 
C_TEST_ROUTINES                 no        C             0 
LIB$$UNWIND_WEAK                no        BLISS         0 
LIB$EF                          no        IMACRO        0 
LIB$MALLOC                      no        C             0 
LIB$MALLOC_64                   no        C             0 
LINMGR_TARGET                   no        C             0 
OBJMGR                          no        C             0 
PLUMGR                          no        C             0 
POOL                            no        C             0 
PROTOMGR_TARGET                 no        C             0 
SOCMGR                          no        C             0 
SYS$DOINIT                      yes       IMACRO   122526 
TMRMGR_TARGET                   no        C             0 
 
total modules: 16 
DBG> set module c_test_routines 
DBG> show module c_test_routines 
module name                     symbols    size 
 
C_TEST_ROUTINES                 yes        5672 
 
total C modules: 1 
DBG> set language c 
DBG> show symbol test_c_code* 
routine C_TEST_ROUTINES\test_c_code 
routine C_TEST_ROUTINES\test_c_code2 
routine C_TEST_ROUTINES\test_c_code3 
routine C_TEST_ROUTINES\test_c_code4 
routine C_TEST_ROUTINES\test_c_code5 
DBG> set break test_c_code 
 

例 11-8 の最後の行は次の内容に置き換えとなります。


113:     x = c_test_array[0]; 

例 11-9 は次の内容に置き換えとなります。


DBG> Set Mode Screen; Set Step Nosource 
 
- SRC: module C_TEST_ROUTINES -scroll-source------------------------------------ 
    98:     c_test_array[5] = in64; 
    99:     c_test_array[6] = in32; 
   100:     if (c_test_array[9] > 0) 
   101:         *pVar =  (*pVar + c_test_array[17]) & c_test_array[9]; 
   102:     else 
   103:         *pVar = (*pVar + c_test_array[17]); 
   104:     c_test_array[7] = test_c_code3(10); 
   105:     c_test_array[3] = test; 
   106:     return c_test_array[23]; 
   107: } 
   108: void test_c_code(void) 
   109: { 
   110:     int x,y; 
   111:     __int64 x64,y64; 
   112: 
-> 113:     x = c_test_array[0]; 
   114:     y = c_test_array[1]; 
   115:     x64 = c_test_array[2]; 
   116:     y64 = c_test_array[3]; 
   117:     c_test_array[14] = test_c_code2(x64+y64,x+y,x64+x,&y64); 
   118:     test_c_code4(); 
   119:     return; 
   120: } 
- OUT -output------------------------------------------------------------------- 
 
 
 
 
 
 
 
 
 
 
 
 
- PROMPT -error-program-prompt-------------------------------------------------- 
 
 
 
 
 
DBG> 

例 11-10 の直前の段落で,参照している 46 行目は 93 行目に置き換えとなります。

例 11-10 は,次の内容に置き換えとなります。


- SRC: module C_TEST_ROUTINES -scroll-source------------------------------------ 
    80: void test_c_code4(void) 
    81: { 
    82:     int i,k; 
    83:     for(k=0;k<1000;k++) 
    84:       { 
    85:          test_c_code5(&i); 
    86:       } 
    87:     return; 
    88: } 
    89: int test_c_code3(int subrtnCount) 
    90: { 
    91:     subrtnCount = subrtnCount - 1; 
    92:     if (subrtnCount != 0) 
    93:         subrtnCount = test_c_code3(subrtnCount); 
    94:     return subrtnCount; 
    95: } 
    96: int test_c_code2(__int64 in64,int in32, __int64 test, __int64* pVar) 
    97: { 
    98:     c_test_array[5] = in64; 
    99:     c_test_array[6] = in32; 
   100:     if (c_test_array[9] > 0) 
   101:         *pVar =  (*pVar + c_test_array[17]) & c_test_array[9]; 
   102:     else 
- OUT -output------------------------------------------------------------------- 
 
 
 
 
 
 
 
 
 
 
 
 
- PROMPT -error-program-prompt-------------------------------------------------- 
 
 
 
DBG> Scroll/Up 
DBG> set break %line 93 
DBG> 

例 11-11 は,次の内容に置き換えとなります。


- SRC: module C_TEST_ROUTINES -scroll-source------------------------------------ 
    82:     int i,k; 
    83:     for(k=0;k<1000;k++) 
    84:       { 
    85:          test_c_code5(&i); 
    86:       } 
    87:     return; 
    88: } 
    89: int test_c_code3(int subrtnCount) 
    90: { 
    91:     subrtnCount = subrtnCount - 1; 
    92:     if (subrtnCount != 0) 
->  93:         subrtnCount = test_c_code3(subrtnCount); 
    94:     return subrtnCount; 
    95: } 
    96: int test_c_code2(__int64 in64,int in32, __int64 test, __int64* pVar) 
    97: { 
    98:     c_test_array[5] = in64; 
    99:     c_test_array[6] = in32; 
   100:     if (c_test_array[9] > 0) 
   101:         *pVar =  (*pVar + c_test_array[17]) & c_test_array[9]; 
   102:     else 
   103:         *pVar = (*pVar + c_test_array[17]); 
   104:     c_test_array[7] = test_c_code3(10); 
- OUT -output------------------------------------------------------------------- 
break at C_TEST_ROUTINES\test_c_code3\%LINE 93 
 
 
 
 
 
 
 
 
 
 
 
- PROMPT -error-program-prompt-------------------------------------------------- 
 
 
DBG> Scroll/Up 
DBG> set break %line 93 
DBG> go 
DBG> 

例 11-12 の直前の段落で,参照している 147 行目は 94 行目に置き換えとなり, 146 行目は 93 行目に置き換えとなります。

例 11-12 は,次の内容に置き換えとなります。


- SRC: module C_TEST_ROUTINES -scroll-source------------------------------------ 
    82:     int i,k; 
    83:     for(k=0;k<1000;k++) 
    84:       { 
    85:          test_c_code5(&i); 
    86:       } 
    87:     return; 
    88: } 
    89: int test_c_code3(int subrtnCount) 
    90: { 
    91:     subrtnCount = subrtnCount - 1; 
    92:     if (subrtnCount != 0) 
->  93:         subrtnCount = test_c_code3(subrtnCount); 
    94:     return subrtnCount; 
    95: } 
    96: int test_c_code2(__int64 in64,int in32, __int64 test, __int64* pVar) 
    97: { 
    98:     c_test_array[5] = in64; 
    99:     c_test_array[6] = in32; 
   100:     if (c_test_array[9] > 0) 
   101:         *pVar =  (*pVar + c_test_array[17]) & c_test_array[9]; 
   102:     else 
   103:         *pVar = (*pVar + c_test_array[17]); 
   104:     c_test_array[7] = test_c_code3(10); 
- OUT -output------------------------------------------------------------------- 
break at C_TEST_ROUTINES\test_c_code3\%LINE 93 
break at C_TEST_ROUTINES\test_c_code3\%LINE 93 

例 11-13 の直前の段落で,次の文が閉じ括弧の直前に追加となります。

エグゼクティブ・イメージがスライスされている場合は,接尾辞 _CODE0 が付加されます。

例 11-13 は,次の内容に置き換えとなります。


- SRC: module C_TEST_ROUTINES -scroll-source------------------------------------ 
    82:     int i,k; 
    83:     for(k=0;k<1000;k++) 
    84:       { 
    85:          test_c_code5(&i); 
    86:       } 
    87:     return; 
    88: } 
    89: int test_c_code3(int subrtnCount) 
    90: { 
    91:     subrtnCount = subrtnCount - 1; 
    92:     if (subrtnCount != 0) 
->  93:         subrtnCount = test_c_code3(subrtnCount); 
    94:     return subrtnCount; 
    95: } 
    96: int test_c_code2(__int64 in64,int in32, __int64 test, __int64* pVar) 
    97: { 
    98:     c_test_array[5] = in64; 
    99:     c_test_array[6] = in32; 
   100:     if (c_test_array[9] > 0) 
   101:         *pVar =  (*pVar + c_test_array[17]) & c_test_array[9]; 
   102:     else 
   103:         *pVar = (*pVar + c_test_array[17]); 
   104:     c_test_array[7] = test_c_code3(10); 
- OUT -output------------------------------------------------------------------- 
C_TEST_ROUTINES\test_c_code3\subrtnCount:       8 
 module name     routine name     line           rel PC           abs PC 
*C_TEST_ROUTINES test_c_code3       93       0000000000000DC0 FFFFFFFF800BAFC0 
*C_TEST_ROUTINES test_c_code3       93       0000000000000DE0 FFFFFFFF800BAFE0 
*C_TEST_ROUTINES test_c_code2      104       0000000000000F40 FFFFFFFF800BB140 
*C_TEST_ROUTINES test_c_code       117       00000000000010B0 FFFFFFFF800BB2B0 
                 XDT$INIT                    00000000000015C0 FFFFFFFF880955C0 
*SYS$DOINIT      EXE$INITIALIZE   1973       0000000000000360 FFFFFFFF88094360 
 SHARE$EXEC_INIT_CODE0                       000000000005C240 FFFFFFFF803BB640 
 SHARE$EXEC_INIT_CODE0                       0000000000057F20 FFFFFFFF803B7320 
 SHARE$EXEC_INIT_CODE0                       0000000000047850 FFFFFFFF803A6C50 
 SHARE$EXEC_INIT_CODE0                       0000000000042E90 FFFFFFFF803A2290 
- PROMPT -error-program-prompt-------------------------------------------------- 
DBG> set break %line 93 
DBG> go 
DBG> Step 
DBG> examine subrtnCount 
DBG> show calls 
DBG> 

例 11-14 の直前の段落で,参照されている 147 行目は 94 行目に置き換えとなり, 146 行目は 93 行目に置き換えとなります。

例 11-14 は,次の内容に置き換えとなります。


- SRC: module C_TEST_ROUTINES -scroll-source------------------------------------ 
    83:     for(k=0;k<1000;k++) 
    84:       { 
    85:          test_c_code5(&i); 
    86:       } 
    87:     return; 
    88: } 
    89: int test_c_code3(int subrtnCount) 
    90: { 
    91:     subrtnCount = subrtnCount - 1; 
    92:     if (subrtnCount != 0) 
    93:         subrtnCount = test_c_code3(subrtnCount); 
->  94:     return subrtnCount; 
    95: } 
    96: int test_c_code2(__int64 in64,int in32, __int64 test, __int64* pVar) 
    97: { 
    98:     c_test_array[5] = in64; 
    99:     c_test_array[6] = in32; 
   100:     if (c_test_array[9] > 0) 
   101:         *pVar =  (*pVar + c_test_array[17]) & c_test_array[9]; 
   102:     else 
   103:         *pVar = (*pVar + c_test_array[17]); 
   104:     c_test_array[7] = test_c_code3(10); 
   105:     c_test_array[3] = test; 
- OUT -output------------------------------------------------------------------- 
 module name     routine name     line           rel PC           abs PC 
*C_TEST_ROUTINES test_c_code3       93       0000000000000DC0 FFFFFFFF800BAFC0 
*C_TEST_ROUTINES test_c_code3       93       0000000000000DE0 FFFFFFFF800BAFE0 
*C_TEST_ROUTINES test_c_code2      104       0000000000000F40 FFFFFFFF800BB140 
*C_TEST_ROUTINES test_c_code       117       00000000000010B0 FFFFFFFF800BB2B0 
                 XDT$INIT                    00000000000015C0 FFFFFFFF880955C0 
*SYS$DOINIT      EXE$INITIALIZE   1973       0000000000000360 FFFFFFFF88094360 
 SHARE$EXEC_INIT_CODE0                       000000000005C240 FFFFFFFF803BB640 
 SHARE$EXEC_INIT_CODE0                       0000000000057F20 FFFFFFFF803B7320 
 SHARE$EXEC_INIT_CODE0                       0000000000047850 FFFFFFFF803A6C50 
 SHARE$EXEC_INIT_CODE0                       0000000000042E90 FFFFFFFF803A2290 
stepped to C_TEST_ROUTINES\test_c_code3\%LINE 94 
- PROMPT -error-program-prompt-------------------------------------------------- 
DBG> Step 
DBG> examine subrtnCount 
DBG> show calls 
DBG> cancel break/all 
DBG> go 
DBG> 

例 11-15 の前にある STEP/RETURN の段落で, "R0 register" (R0 レジスタ) の部分が, "R0 register on Alpha, or the R8 register on I64" (Alpha では R0 レジスタ,I64 では R8 レジスタ) に変更となります。

例 11-15 は,次の内容に置き換えとなります。


- SRC: module C_TEST_ROUTINES -scroll-source------------------------------------ 
    83:     for(k=0;k<1000;k++) 
    84:       { 
    85:          test_c_code5(&i); 
    86:       } 
    87:     return; 
    88: } 
    89: int test_c_code3(int subrtnCount) 
    90: { 
    91:     subrtnCount = subrtnCount - 1; 
    92:     if (subrtnCount != 0) 
    93:         subrtnCount = test_c_code3(subrtnCount); 
->  94:     return subrtnCount; 
    95: } 
    96: int test_c_code2(__int64 in64,int in32, __int64 test, __int64* pVar) 
    97: { 
    98:     c_test_array[5] = in64; 
    99:     c_test_array[6] = in32; 
   100:     if (c_test_array[9] > 0) 
   101:         *pVar =  (*pVar + c_test_array[17]) & c_test_array[9]; 
   102:     else 
   103:         *pVar = (*pVar + c_test_array[17]); 
   104:     c_test_array[7] = test_c_code3(10); 
   105:     c_test_array[3] = test; 
- OUT -output------------------------------------------------------------------- 
*C_TEST_ROUTINES test_c_code3       93       0000000000000DE0 FFFFFFFF800BAFE0 
*C_TEST_ROUTINES test_c_code2      104       0000000000000F40 FFFFFFFF800BB140 
*C_TEST_ROUTINES test_c_code       117       00000000000010B0 FFFFFFFF800BB2B0 
                 XDT$INIT                    00000000000015C0 FFFFFFFF880955C0 
*SYS$DOINIT      EXE$INITIALIZE   1973       0000000000000360 FFFFFFFF88094360 
 SHARE$EXEC_INIT_CODE0                       000000000005C240 FFFFFFFF803BB640 
 SHARE$EXEC_INIT_CODE0                       0000000000057F20 FFFFFFFF803B7320 
 SHARE$EXEC_INIT_CODE0                       0000000000047850 FFFFFFFF803A6C50 
 SHARE$EXEC_INIT_CODE0                       0000000000042E90 FFFFFFFF803A2290 
stepped to C_TEST_ROUTINES\test_c_code3\%LINE 94 
stepped on return from C_TEST_ROUTINES\test_c_code3\%LINE 94 to C_TEST_ROUTINES - 
\test_c_code3\%LINE 94+17 
C_TEST_ROUTINES\test_c_code3\%R8:       0 
- PROMPT -error-program-prompt-------------------------------------------------- 
DBG> show calls 
DBG> cancel break/all 
DBG> go 
DBG> step/return 
DBG> examine r8 
DBG> 

例 11-16 の前にある最初の段落で, "for address 80002010" (アドレス 80002010 の) が削除となり, "this image or module" (このイメージまたはモジュール) が "INI$BRK" に置き換えとなります。

現在の例 11-16 は削除となります。現在の例 11-17 が例 11-16 となり,次の内容に置き換えとなります。


- SRC: module C_TEST_ROUTINES -scroll-source------------------------------------ 
    83:     for(k=0;k<1000;k++) 
    84:       { 
    85:          test_c_code5(&i); 
    86:       } 
    87:     return; 
    88: } 
    89: int test_c_code3(int subrtnCount) 
    90: { 
    91:     subrtnCount = subrtnCount - 1; 
    92:     if (subrtnCount != 0) 
    93:         subrtnCount = test_c_code3(subrtnCount); 
->  94:     return subrtnCount; 
    95: } 
    96: int test_c_code2(__int64 in64,int in32, __int64 test, __int64* pVar) 
    97: { 
    98:     c_test_array[5] = in64; 
    99:     c_test_array[6] = in32; 
   100:     if (c_test_array[9] > 0) 
   101:         *pVar =  (*pVar + c_test_array[17]) & c_test_array[9]; 
   102:     else 
   103:         *pVar = (*pVar + c_test_array[17]); 
   104:     c_test_array[7] = test_c_code3(10); 
   105:     c_test_array[3] = test; 
- OUT -output------------------------------------------------------------------- 
 SYS$UTC_SERVICES                no     0000000000000000     FFFFFFFFFFFFFFFF 
 SYS$VM                          no     0000000000000000     FFFFFFFFFFFFFFFF 
 SYS$XFCACHE_MON                 no     0000000000000000     FFFFFFFFFFFFFFFF 
 SYSDEVICE                       no     0000000000000000     FFFFFFFFFFFFFFFF 
 SYSGETSYI                       no     0000000000000000     FFFFFFFFFFFFFFFF 
 SYSLDR_DYN                      no     0000000000000000     FFFFFFFFFFFFFFFF 
 SYSLICENSE                      no     0000000000000000     FFFFFFFFFFFFFFFF 
 SYSTEM_DEBUG                    yes    0000000000000000     FFFFFFFFFFFFFFFF 
 SYSTEM_PRIMITIVES               no     0000000000000000     FFFFFFFFFFFFFFFF 
 SYSTEM_SYNCHRONIZATION          no     0000000000000000     FFFFFFFFFFFFFFFF 
 
 total images: 53 
- PROMPT -error-program-prompt-------------------------------------------------- 
DBG> go 
%DEBUG-I-INIBRK, target system interrupted 
%DEBUG-I-DYNIMGSET, setting image SYS$BASE_IMAGE %DEBUG-W-SCRNOSRCLIN, No source line - 
for address: FFFFFFFF80000310 
DBG> show image 
DBG> go 



4.29.37 OpenVMS Alpha システム・ダンプ・デバッガ

第 12 章のタイトルは "OpenVMS System Dump Debugger" (OpenVMS システム・ダンプ・デバッガ) となり,"Alpha Only" (Alpha のみ) という注記は削除となります。

第 12.4 項の最初の段落は,次の内容に置き換えとなります。

SDD がこの検索パスでイメージのいずれかを見つけることができないと,警告メッセージが表示されます。 SDD は,少なくとも 2 個のイメージを見つけるまで初期化を続行します。 SDD が,OpenVMS オペレーティング・システムの主要なイメージ・ファイルである SYS$BASE_IMAGE ファイルと SYS$PUBLIC_VECTORS ファイルを見つけることができない場合,エラー・メッセージが表示され,デバッガが終了します。

第 12.10 項の手順 1 と 2 は次の内容に置き換えとなります。

  1. 第 11.12 項の手順のうち,例 11-9 までを実行します (SET MODE SCREEN コマンドを使用します)。

  2. 次の OpenVMS Debugger コマンドを実行します。


    DBG> set break test_c_code5 
    DBG> go 
    DBG> deposit k=0 
    DBG> go 
    

次の新しい段落が,例 12-1 の直前に追加となります。

例 12-1 以降の表示例は,すべて OpenVMS I64 システムでの例です。 OpenVMS Alpha システムでは,出力がいくらか異なりますが,入力するコマンドはどちらのプラットフォームでも同じです。

例 12-1 で,"Alpha" は "I64" に変更となり, "V7.2-019" は "V8.3-003" に変更となります。

例 12-3 は,次の内容に置き換えとなります。


DBG> Set Mode Screen; Set Step Nosource 
 
- SRC: module C_TEST_ROUTINES -scroll-source------------------------------------ 
    67: 
    68:     /* We want some global data cells */ 
    69: volatile __int64 c_test_array[34]; 
    70: 
    71: void test_c_code5(int *k) 
    72: { 
    73:     int i; 
    74:     char str[100]; 
    75:     for(i=0;i<100;i++) 
    76:       str[i]= 'a'; 
    77:     str[99]=0; 
->  78:     *k = 9; 
    79: } 
    80: void test_c_code4(void) 
    81: { 
    82:     int i,k; 
    83:     for(k=0;k<1000;k++) 
    84:       { 
    85:          test_c_code5(&i); 
    86:       } 
    87:     return; 
    88: } 
    89: int test_c_code3(int subrtnCount) 
- OUT -output------------------------------------------------------------------- 
 
 
 
 
 
 
 
 
 
 
 
 
- PROMPT -error-program-prompt-------------------------------------------------- 
 
 
 
%DEBUG-I-SCRNOTORIGSRC, original version of source file not found for display in SRC 
        file used is SYS$COMMON:[SYSHLP.EXAMPLES]C_TEST_ROUTINES.C;1 
DBG> 

例 12-4 は,次の内容に置き換えとなります。


- SRC: module C_TEST_ROUTINES -scroll-source------------------------------------ 
    67: 
    68:     /* We want some global data cells */ 
    69: volatile __int64 c_test_array[34]; 
    70: 
    71: void test_c_code5(int *k) 
    72: { 
    73:     int i; 
    74:     char str[100]; 
    75:     for(i=0;i<100;i++) 
    76:       str[i]= 'a'; 
    77:     str[99]=0; 
->  78:     *k = 9; 
    79: } 
    80: void test_c_code4(void) 
    81: { 
    82:     int i,k; 
    83:     for(k=0;k<1000;k++) 
    84:       { 
    85:          test_c_code5(&i); 
    86:       } 
    87:     return; 
    88: } 
    89: int test_c_code3(int subrtnCount) 
- OUT -output------------------------------------------------------------------- 
C_TEST_ROUTINES\test_c_code5\i: 100 
C_TEST_ROUTINES\test_c_code5\k: 0 
 module name     routine name     line           rel PC           abs PC 
*C_TEST_ROUTINES test_c_code5       78       0000000000000CD0 FFFFFFFF800BAED0 
*C_TEST_ROUTINES test_c_code4       85       0000000000000D60 FFFFFFFF800BAF60 
*C_TEST_ROUTINES test_c_code       118       00000000000010D0 FFFFFFFF800BB2D0 
                 XDT$INIT                    00000000000015C0 FFFFFFFF880955C0 
*SYS$DOINIT      EXE$INITIALIZE   1973       0000000000000360 FFFFFFFF88094360 
 SHARE$EXEC_INIT_CODE0                       000000000005C240 FFFFFFFF803BB640 
 SHARE$EXEC_INIT_CODE0                       0000000000057F20 FFFFFFFF803B7320 
 SHARE$EXEC_INIT_CODE0                       0000000000047850 FFFFFFFF803A6C50 
 SHARE$EXEC_INIT_CODE0                       0000000000042E90 FFFFFFFF803A2290 
- PROMPT -error-program-prompt-------------------------------------------------- 
 
%DEBUG-I-SCRNOTORIGSRC, original version of source file not found for display in SRC 
        file used is SYS$COMMON:[SYSHLP.EXAMPLES]C_TEST_ROUTINES.C;1 
DBG> examine i,k 
DBG> show calls 
DBG> 



4.29.38 OpenVMS Alpha ウォッチポイント・ユーティリティ

第 III 部のページで, "Alpha Only" (Alpha のみ) という注記の内容は,次の内容に置き換えとなります。

このユーティリティは,OpenVMS Alpha システムでのみ動作します。

第 13 章の最初のページで,"Alpha Only" (Alpha のみ) という注記の内容は,次の内容に置き換えとなります。

このユーティリティは,OpenVMS Alpha システムでのみ動作します。

4.29.39 SET PROCESS/LOG コマンド

フォーマットの項で,ARGS は ARGUMENTS に置き換えとなります。

パラメータ FLAGS の説明で,ARGS は ARGUMENTS に置き換えとなります。

これらの変更は『OpenVMS DCL ディクショナリ: N--Z』にも影響する点に注意してください。


目次 索引

印刷用画面へ
プライバシー 本サイト利用時の合意事項 ウェブマスターに連絡