Solaris モジューラデバッガ

mdb_pwalk()

int mdb_pwalk(const char *name, mdb_walk_cb_t func, void *data,
              uintptr_t addr);

name で指定された walker を使用して addr から始まる局所 walk を開始し、各ステップでコールバック関数 func を呼び出します。addr が NULL の場合、大域 walk が実行されます。mdb_pwalk() を呼び出すことは addr パラメータを追跡せずに mdb_walk() を呼び出すことと同じです。この関数は成功すると 0 を返し、エラーが発生すると -1 を返します。walker 自体が致命的なエラーを返した場合、または指定された walker 名がデバッガに認識されない場合、mdb_pwalk() 関数は失敗します。walker 名に重複があった場合、逆引用符 (`) 演算子を使用して名前の有効範囲を指定できます。data パラメータは、呼び出し元にだけ意味を持つ隠された引数です。このパラメータは walk の各ステップで func に戻されます。