Answers:
除非收到致命错误(或黑屏),否则很容易获得在调用特殊钩子时将要调用的模块的列表:
$modules = module_implements($hook);
foreach ($modules as $key => $module) {
$function = $module . '_' . $hook;
if (!function_exists($function)) {
unset($modules[$key]);
}
}
// $modules is now an array containing all the modules that will be invoked by $hook.
您可以使用xDebug之类的工具来跟踪Drupal的流程,但这可能会令人不知所措,特别是如果您不熟悉Drupal。