IDIXDLOCシステム・バッファリングを使用したダンプ・ストレージの検索

フォーマット


#include "idixufmh.h"

int IDIXDLOC(int addr, int len);

概要

IDIXDLOC() 関数は、仮想アドレスと長さによって、分析されたアドレス・スペース内のストレージにアクセスする場合に使用します。

注: 大容量の仮想ストレージにアクセスする際にストレージ不足状態を防ぐには、代わりに IDIXXLOC 関数を使用します。詳しくは、IDIXXLOC – 独自のバッファリングを使用したダンプ・ストレージの検索を参照してください。

リアルタイム処理の場合、アクセスされるストレージは一般的に、分析中の実際のアドレス・スペースのストレージです。再分析の場合、ストレージはミニダンプから取得されます。

リアルタイム・モードか再分析モードかにかかわらず、保護例外が発生するおそれがあるため、IDIXDLOC() 関数の呼び出しによって取得されていないストレージ域を間接参照しないでください。

IDIXDLOC() は、Fault Analyzer REXX コマンド「Evaluate」と機能的に同等です。

戻り値

要求された長さでストレージが使用可能な場合、IDIXDLOC() はストレージ域のアドレスを返します。

IDIXDLOC() は、要求されたアドレスが使用可能でも、長さが要求された長さよりも短い場合は負の値を返します。使用可能な長さは、戻り値を 0 から減算することで判別できます。部分的なストレージ域のアドレスを取得するには、削減した長さを使用して再度 IDIXDLOC() を呼び出します。

長さにかかわらず、要求されたアドレスが使用できない場合は、値 0 が返されます。


#include "idixufmh.h"

int maddr, cvt;
maddr = IDIXDLOC(16,4);  /* Get address of CVT pointer /
if (maddr > 0)
  cvt = (int )maddr;     /* Get CVT pointer */