1
0
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:
Felipe Pena
2013-11-17 17:01:19 -02:00
2 changed files with 40 additions and 0 deletions

View File

@@ -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;
} /* }}} */

View File

@@ -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