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