mirror of
https://github.com/php/php-src.git
synced 2026-04-02 05:32:28 +02:00
Merge branch 'master' of github.com:krakjoe/phpdbg
This commit is contained in:
@@ -149,3 +149,41 @@ PHPDBG_INFO(classes) /* {{{ */
|
||||
|
||||
return SUCCESS;
|
||||
} /* }}} */
|
||||
|
||||
PHPDBG_INFO(funcs) /* {{{ */
|
||||
{
|
||||
HashPosition position;
|
||||
zend_function *zf, **pzf;
|
||||
HashTable functions;
|
||||
|
||||
zend_hash_init(&functions, 8, NULL, NULL, 0);
|
||||
|
||||
for (zend_hash_internal_pointer_reset_ex(EG(function_table), &position);
|
||||
zend_hash_get_current_data_ex(EG(function_table), (void**)&zf, &position) == SUCCESS;
|
||||
zend_hash_move_forward_ex(EG(function_table), &position)) {
|
||||
|
||||
if (zf->type == ZEND_USER_FUNCTION) {
|
||||
zend_hash_next_index_insert(
|
||||
&functions, (void**) &zf, sizeof(zend_function), NULL);
|
||||
}
|
||||
}
|
||||
|
||||
phpdbg_notice("User Functions (%d)",
|
||||
zend_hash_num_elements(&functions));
|
||||
|
||||
for (zend_hash_internal_pointer_reset_ex(&functions, &position);
|
||||
zend_hash_get_current_data_ex(&functions, (void**)&pzf, &position) == SUCCESS;
|
||||
zend_hash_move_forward_ex(&functions, &position)) {
|
||||
zend_op_array *op_array = &((*pzf)->op_array);
|
||||
|
||||
phpdbg_writeln(
|
||||
"|-------- %s in %s on line %d",
|
||||
op_array->function_name ? op_array->function_name : "{main}",
|
||||
op_array->filename ? op_array->filename : "(no source code)",
|
||||
op_array->line_start);
|
||||
}
|
||||
|
||||
zend_hash_destroy(&functions);
|
||||
|
||||
return SUCCESS;
|
||||
} /* }}} */
|
||||
|
||||
@@ -38,12 +38,14 @@
|
||||
|
||||
PHPDBG_INFO(files);
|
||||
PHPDBG_INFO(classes);
|
||||
PHPDBG_INFO(funcs);
|
||||
PHPDBG_INFO(error);
|
||||
PHPDBG_INFO(vars);
|
||||
|
||||
static const phpdbg_command_t phpdbg_info_commands[] = {
|
||||
PHPDBG_INFO_EX_D(files, "lists included files", 'F'),
|
||||
PHPDBG_INFO_EX_D(classes, "lists loaded classes", 'c'),
|
||||
PHPDBG_INFO_EX_D(funcs, "lists loaded classes", 'f'),
|
||||
PHPDBG_INFO_EX_D(error, "show the last error", 'e'),
|
||||
PHPDBG_INFO_EX_D(vars, "show active variables", 'v'),
|
||||
PHPDBG_END_COMAND
|
||||
|
||||
Reference in New Issue
Block a user