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 に戻されます。