日本-日本語 |
|
|
|
OpenVMS マニュアル |
|
HP OpenVMS
|
目次 | 索引 |
CONNECT |
( 保持デバッガのみ。) 他のプロセスでデバッガによる制御を受けずに実行されているイメージに割り込みをかけ,そのプロセスをデバッガの制御下に置きます。パラメータを指定しないで CONNECT を使用すると,CONNECT はデバッガに接続されるのを待っている作成されたプロセスすべてをデバッガの制御下に置きます。Alpha システムの場合,CONNECT コマンドは, Alpha オペレーティング・システムを稼動しているターゲット・システムを OpenVMS Alphaシステム・コード・デバッガの制御下に置きます。 OpenVMS Alphaシステム・コード・デバッガは,OpenVMS デバッガから起動するカーネル・デバッガです。
Integrity システムでは,CONNECT デバッガ・コマンドを使って, Integrity オペレーティング・システムが稼動しているターゲット・システムを OpenVMS Integrity システム・コード・デバッガの制御下に置くこともできます。 OpenVMS Integrity システム・コード・デバッガは, OpenVMS デバッガから起動するカーネル・デバッガです。
CONNECT コマンドを使用して Alpha オペレーティング・システムをデバッグする場合は,このコマンドを実行する前に,『HP OpenVMS System Analysis Tools Manual』の "System Code Debugger" の章で説明されている指示を完了していなければなりません。これらの指示には,Alpha デバイス・ドライバの作成や, OpenVMS Alpha システム・コード・デバッガを起動するコマンドの設定などがあります。また,OpenVMS デバッガを DCL コマンドの DEBUG/KEEP で起動していなければなりません。
CONNECT [process-spec]CONNECT %NODE_NAME node-name
process-spec
割り込みをかけたいイメージが実行されているプロセスを指定します。指定するプロセスはデバッガが起動されたプロセスと同じ OpenVMS ジョブにあるものでなければなりません。次のいずれかの形式で指定します。
[%PROCESS_NAME] proc-name スペースや小文字を全く含まない OpenVMS プロセス名。プロセス名にはワイルドカード文字のアスタリスク (*) を含むこともできます。 [%PROCESS_NAME] " proc-name" スペースや小文字を含む OpenVMS プロセス名。二重引用符 (") の代わりに一重引用符 (') を使用することもできます。 %PROCESS_PID proc-id OpenVMS プロセス識別子 (PID,16 進数)。
node-name
(Alpha または Integrity のみ) Alpha オペレーティング・システムまたは Integrity オペレーティング・システムをデバッグするときは,接続先のマシン (Alpha オペレーティング・システムまたは Integrity オペレーティング・システムを稼動しているターゲット・マシン) のノード名を指定します。
/PASSWORD="password"
(Alpha または Integrity のみ) Alpha オペレーティング・システムまたは Integrity オペレーティング・システムをデバッグするときは,接続先のマシン (Alpha オペレーティング・システムまたは Integrity オペレーティング・システムを稼動しているターゲット・マシン) に対するパスワードを指定します。そのマシンに対してパスワードが設定されていなかった場合は,この修飾子を省略することができます。/IMAGE_PATH="image-path"
(Alpha または Integrity のみ) Alpha オペレーティング・システムをデバッグするときは,接続元のマシン (デバッガを実行しているホスト・マシン) に対するイメージ・パスを指定します。イメージ・パスは,システム・イメージの位置を指し示す論理名です。省略時の論理名は DBGHK$IMAGE_PATH: です。
(保持デバッガのみ。) プロセスを指定するとき,CONNECT コマンドを使用すれば,指定するプロセスでデバッガによる制御を受けずに実行されているイメージに割り込みをかけ,そのプロセスをデバッガの制御下に置くことができます。このコマンドは,DCL コマンドの RUN/NODEBUG でデバッグ可能なイメージを実行している場合,またはプログラムがデバッガを起動しない LIB$SPAWN 実行時ライブラリ呼び出しを行う場合などに役立ちます。実行イメージとして LOGINOUT.EXE を指定している場合のみ $CREPRC システム・サービス呼び出しで作成したプロセスに接続することができます。システムで実行中のデバッガのバージョンに応じて,ユーザは,ユーザが作成したプロセスとの接続に限定される場合もあり,また利用者識別コード (UIC) グループのメンバが作成したプロセスに接続することができる場合もあります。ときには,プロセスの作成前に SYSGEN SECURITY_POLICY パラメータを 8 に設定しなければならないことがあります。
デバッガ論理名 (JSY$DEBUG, JSY$DEBUGSHR, JSY$DEBUGUISHR, JSY$DBGTBKMSG, DBG$PROCESS, JSY$DBG_HELP, JSY$DBG_UIHELP, DEBUGAPPCLASS, JSY$VMSDEBUGUIL) がある場合,デバッガおよびターゲット・プロセスの両方で同一の定義に変換しなければなりません。
/DEBUG 修飾子付きでコンパイルしておかなければなりません。また,/DEBUG あるいは /DSF 修飾子付きでリンクしておかなければなりません。このイメージは,/NOTRACEBACK 修飾子付きでリンクしておくことはできません。
プロセスがデバッガの制御下に置かれたとき,イメージの実行は割り込みをかけられた時点で中断されます。
プロセスを指定しないと,CONNECT コマンドはデバッグ・セッションに接続されるのを待っているプロセスすべてをデバッガの制御下に置きます。待機中のプロセスがない場合には,Ctrl/C を押せば CONNECT コマンドを強制終了することができます。
省略時の設定では,プロセスがデバッガの制御下に置かれると,トレースポイントが検出されます。この定義済みトレースポイントは SET TRACE/ACTIVATING コマンドを入力した結果生じるものと同じです。デバッガの制御下に置かれたプロセスはデバッガによって認識されるようになり,SHOW PROCESS コマンドで表示できるようになります。
CONNECT コマンドを使用して,デバッガの制御下にあるプロセスのサブプロセスに接続することはできません。そのようなサブプロセスに接続するには,SET PROCESS コマンドを使用してください。
関連コマンド
DISCONNECT
Ctrl/Y
(SET,SHOW,CANCEL) TRACECONNECT コマンドを使用した OpenVMS オペレーティング・システムのデバッグ (Alpha および Integrity のみ)
CONNECT コマンドを使用して OpenVMS システム・コード・デバッガ (SCD) で, Alpha オペレーティング・システムまたは Integrity オペレーティング・システムのコードをデバッグできます。この機能には,ホストと呼ばれるシステムと,ターゲットと呼ばれるシステムの 2 つのシステムが必要です。ホストとターゲットは,同じオペレーティング・システム (Alpha または Integrity) を実行していなければなりません。ホストは,標準の OpenVMS システムとして構成します。このシステムから,DEBUG/KEEP を使用してデバッガを実行し,その後 CONNECT コマンドを入力します。ターゲットはスタンドアロン・システムで, SCD を有効にする特殊な方法でブートします。ホストとターゲットの間の通信は,イーサネット・ネットワークを通じて行います。
OpenVMS システム・コード・デバッガの使用についての詳細は,『HP OpenVMS System Analysis Tools Manual』を参照してください。
#1 |
---|
DBG_1> CONNECT |
このコマンドはデバッガに接続されるのを待っているプロセスをすべてデバッガの制御下に置きます。
#2 |
---|
DBG_1> CONNECT JONES_3 |
このコマンドは JONES_3 というプロセスで実行されているイメージに割り込みをかけ,そのプロセスをデバッガの制御下に置きます。 JONES_3 プロセスはデバッガが起動されたプロセスと同じ UIC グループになければなりません。また,イメージは /NOTRACEBACK 修飾子でリンクされていたものであってはなりません。
#3 |
---|
DBG> CONNECT %NODE_NAME SCDTST /PASSWORD="eager_beaver" %DEBUG-I-NOLOCALS, image does not contain local symbols DBG> |
この CONNECT コマンドは, OpenVMS オペレーティング・システムを実行しているターゲット・システムをデバッガの制御下に置きます。この例では,ターゲット・システムのノード名に SCDTST,パスワードに eager_beaver を指定しています。
Ctrl/C |
デバッグ・セッション中に入力された場合, Ctrl/C はデバッグ・セッションを中断せずに,デバッガ・コマンドの実行を強制終了するか,プログラムの実行を中断します。
注意
デバッグ・セッション中は Ctrl/Y は使用できません。
[Ctrl/C]
Ctrl/C を押せば,デバッグ・セッションを中断せずに,デバッガ・コマンドの実行を強制終了するか,プログラムの実行を中断できます。この機能は,たとえばプログラムがブレークポイントのない無限ループを実行している場合や,完了するまでに長い時間を要するデバッガ・コマンドを強制終了したい場合に役立ちます。 Ctrl/C を押すと,デバッガ・プロンプトが表示され,デバッガ・コマンドを入力できる状態になります。プログラムがすでに Ctrl/C AST サービス・ルーチンを使用可能にしている場合には,SET ABORT_KEY コマンドを使用して,デバッガの強制終了機能を他の Ctrl キー・シーケンスに割り当てます。ただし,多くのCtrl キー・シーケンスの機能が定義済みであり, SET ABORT_KEY コマンドを使用すれば,そのような定義も上書きできることに注意してください (『OpenVMS ユーザーズ・マニュアル』を参照 )。オペレーティング・システムによって使用されていない Ctrl キー文字としては,G,K,N,P があります。
プログラムが Ctrl/C AST サービス・ルーチンを使用可能に していない 場合,デバッガの強制終了機能を他の Ctrl キー・シーケンスに割り当てると,Ctrl/C は Ctrl/Y と同じように動作します。つまり,デバッグ・セッションに割り込みをかけ, DCL レベルに戻します。
デバッグ・セション中には Ctrl/Y は使用できません。代わりに Ctrl/C を使用するか,SET ABORT_KEY コマンドで設定した同等の Ctrl キー・シーケンスを使用してください。
SPAWN コマンドと ATTACH コマンドを使用すれば,デバッグ・コンテキストを失わずに,デバッグ・セッションから移行したり,デバッグ・セッションに戻ったりすることができます。
注意
Ctrl/C によるデバッガ制御下のプログラムの中断は 1 回だけ機能します。その後の Ctrl/C は無視されます。 DECwindows の STOP ボタンに関しても同様で,最初のボタン押下のみが認識されます。
関連コマンド
ATTACH
Ctrl/Y
(SET,SHOW) ABORT_KEY
SPAWN
DBG> GO ... [Ctrl/C] DBG> EXAMINE/BYTE 1000:101000 !should have typed 1000:1010 1000: 0 1004: 0 1008: 0 1012: 0 1016: 0 [Ctrl/C] %DEBUG-W-ABORTED, command aborted by user request DBG> |
この例は,Ctrl/C を使用して,プログラム実行を中断し,デバッガ・コマンドの実行を強制終了する方法を示しています。
Ctrl/W |
Ctrl/W は (DISPLAY/REFRESH と同様に ) 画面モードで画面を再表示します。
[Ctrl/W]
Ctrl/W についての詳しい説明は, DISPLAY コマンドの /REFRESH 修飾子の項目を参照してください。
Ctrl/Y |
DCL レベルから入力されると,Ctrl/Y はデバッガ制御を受けずに実行されているイメージに割り込みをかけ,ユーザが DCL コマンドの DEBUG でデバッガを起動できるようにします。
注意
デバッグ・セッション中は Ctrl/Y は使用できません。代わりに Ctrl/C を使用するか,SET ABORT_KEY コマンドで設定した同等の強制終了キー・シーケンスを使用してください。Ctrl/Y--DEBUG シーケンスでデバッガを起動したときは,デバッガの RUN コマンドも RERUN コマンドも使用できません。
[Ctrl/Y]
DCL レベルで Ctrl/Y を押すと,デバッガによる制御を受けずに実行しているイメージに割り込みをかけ,DCL コマンドの DEBUG でデバッガを起動できるようになります。イメージをデバッガの制御下に置くことができるのは,最低でも,イメージが /TRACEBACK 修飾子 (/TRACEBACK は LINK コマンドの省略時の設定 ) でリンクされている場合だけです。
イメージの実行に割り込みをかけるために Ctrl/Y を押すと,制御が DCL に渡されます。そのあと DCL コマンドの DEBUG を入力すると,割り込みをかけられたイメージがデバッガの制御下に置かれます。デバッガはその言語固有のパラメータを,割り込みをかけられたモジュールのソース言語に設定し,プロンプトを表示します。プロンプトが表示されたら,ユーザは SHOW CALLS コマンドを入力することにより,どこで実行が中断されたのかを判断できます。
Ctrl/Y--DEBUG シーケンスは,保持デバッガ (Kept Debugger) の構成では使用できません。
Ctrl/Y--DEBUG シーケンスは,デバッガへの HP DECwindows Motif for OpenVMS ユーザ・インタフェースでは使用できません。代わりに,STOP ボタンを使用してください。
デバッグ・セッション中は,CONNECT コマンドを使用して, ( 同じジョブの ) 他のプロセスでデバッガ制御を受けずに実行されているイメージをそのデバッグ・セッションに接続できます。
関連コマンド
CONNECT
Ctrl/C
DEBUG (DCL コマンド)
RUN (DCL コマンド)
#1 |
---|
$ RUN/NODEBUG TEST_B ... [Ctrl/Y] Interrupt $ DEBUG Debugger Banner and Version Number Language: ADA, Module: SWAP DBG> |
この例では,RUN/NODEBUG コマンドはデバッガによる制御を受けずに TEST_B イメージを実行します。Ctrl/Y で割り込みをかけます。すると,DEBUG コマンドによってデバッガが起動されます。デバッガはバナーを表示し,割り込みをかけられたモジュール (SWAP) の言語 (この場合には Ada) に言語固有のパラメータを設定します。
#2 |
---|
$ RUN/NODEBUG PROG2 ... [Ctrl/Y] Interrupt $ DEBUG Debugger Banner and Version Number Language: FORTRAN, Module: SUB4 predefined trace on activation at SUB4\%LINE 12 in %PROCESS_NUMBER 1 DBG> |
この例では,DEFINE/JOB コマンドによってマルチプロセス・デバッグ構成が設定されます。RUN/NODEBUG コマンドはデバッガの制御を受けずに PROG2 イメージを実行します。Ctrl/Y--DEBUG シーケンスは実行に割り込みをかけ,デバッガを起動します。バナーは新しいデバッグ・セッションが開始されたことを示します。起動時トレースポイントはデバッガがプロセスを制御下に置いたときに実行が割り込みをかけられた場所を表します。
Ctrl/Z |
Ctrl/Z は (EXIT と同様に ) デバッグ・セッションを終了します。
[Ctrl/Z]
Ctrl/Z についての詳しい説明は,EXIT コマンドを参照してください。
DEACTIVATE BREAK |
ブレークポイントを無効にします。そのブレークポイントはあとで有効にすることができます。
DEACTIVATE BREAK [address-expression[,...]]
address-expression
無効にするブレークポイントを指定します。ワイルドカード文字のアスタリスク (*) は使用できません。代わりに /ALL 修飾子を使用してください。 /EVENT,/PREDEFINED または /USER 以外の修飾子を使用する場合は,アドレス式は指定できません。
/ACTIVATING
前回のSET BREAK/ACTIVATING コマンドで設定されたブレークポイントを無効にします。/ALL
省略時の設定では,すべてのユーザ定義ブレークポイントを無効にします。 /PREDEFINED といっしょに使用すると,定義済みブレークポイントはすべて無効になりますが,ユーザ定義ブレークポイントは無効になりません。すべてのブレークポイントを無効にするには /ALL/USER/PREDEFINED を使用します。/BRANCH
前回の SET BREAK/BRANCH コマンドで設定されたブレークポイントを無効にします。/CALL
前回の SET BREAK/CALL コマンドで設定されたブレークポイントを無効にします。/EVENT=event-name
前回の SET BREAK/EVENT=event-name コマンドで設定されたブレークポイントを無効にします。イベント名 ( および必要であればアドレス式 ) は SET BREAK/EVENT コマンドで指定したとおりに指定してください。現在のイベント機能とそれに対応するイベント名を表示するには, SHOW EVENT_FACILITY コマンドを使用します。
/EXCEPTION
前回の SET BREAK/EXCEPTION コマンドで設定されたブレークポイントを無効にします。/HANDLER
前回の SET BREAK/HANDLER コマンドによって設定されたブレークポイントを無効にします。/INSTRUCTION
前回の SET BREAK/INSTRUCTION コマンドで設定されたブレークポイントを無効にします。/LINE
前回の SET BREAK/LINE コマンドで設定されたブレークポイントを無効にします。/PREDEFINED
ユーザ定義ブレークポイントには全く影響を及ぼさずに,指定の定義済みブレークポイントを無効にします。 /ALL といっしょに使用すると,定義済みブレークポイントがすべて無効になります。/SYSEMULATE
(Alpha のみ) 前に実行した SET BREAK/SYSEMULATE コマンドによって設定されたブレークポイントを無効にします。/TERMINATING
前回の SET BREAK/TERMINATING コマンドで設定されたブレークポイントを無効にします。/UNALIGNED_DATA
(Alpha のみ) 前回の SET BREAK/UNALIGNED_DATA コマンドで設定されたブレークポイントを無効にします。/USER
ユーザ定義ブレークポイントを無効にします。すべてのユーザ定義ブレークポイントを無効にするには, /ALL 修飾子を使用します。
ユーザ定義ブレークポイントは SET BREAK コマンドで設定すると有効になります。定義済みブレークポイントは省略時の状態で有効になります。 1 つまたは複数のブレークポイントを無効にするには DEACTIVATE BREAK コマンドを使用します。ブレークポイントを無効にすると,デバッガはプログラムの実行中そのブレークポイントを無視します。無効にされたブレークポイントを有効にするには,ACTIVATE BREAK コマンドを使用します。ユーザ定義ブレークポイントと定義済みブレークポイントは別々に有効にしたり,無効にしたりすることができます。ブレークポイントを有効にしたり無効にしたりすることにより,プログラムの実行や再実行のときに,ブレークポイントを取り消して再設定する手間をかけずに,ブレークポイントを使用したり使用しなかったりすることができます。省略時の設定で RERUN コマンドを実行すると,すべてのブレークポイントの現在の状態 ( 有効か無効か ) が保存されます。
ブレークポイントが無効になっているかどうかを確かめるには, SHOW BREAK コマンドを使用します。
関連コマンド
CANCEL ALL
RERUN
(SET,SHOW,CANCEL,ACTIVATE) BREAK
(SET,SHOW) EVENT_FACILITY
#1 |
---|
DBG> DEACTIVATE BREAK MAIN\LOOP+10 |
このコマンドはアドレス式 MAIN\LOOP+10 で設定されたユーザ定義ブレークポイントを無効にします。
#2 |
---|
DBG> DEACTIVATE BREAK/ALL |
目次 索引
|