mirror of
https://github.com/php/php-src.git
synced 2025-08-20 01:14:28 +02:00
- Added "info vars" to show active variables
This commit is contained in:
parent
33098232dc
commit
31f45d5457
2 changed files with 46 additions and 1 deletions
|
@ -38,3 +38,44 @@ PHPDBG_INFO(files) /* {{{ */
|
|||
|
||||
return SUCCESS;
|
||||
} /* }}} */
|
||||
|
||||
PHPDBG_INFO(error) /* {{{ */
|
||||
{
|
||||
return SUCCESS;
|
||||
} /* }}} */
|
||||
|
||||
PHPDBG_INFO(vars) /* {{{ */
|
||||
{
|
||||
HashPosition pos;
|
||||
char *var;
|
||||
zval **data;
|
||||
|
||||
if (!EG(active_symbol_table)) {
|
||||
zend_rebuild_symbol_table(TSRMLS_C);
|
||||
|
||||
if (!EG(active_symbol_table)) {
|
||||
phpdbg_error("No active symbol table!");
|
||||
return SUCCESS;
|
||||
}
|
||||
}
|
||||
|
||||
phpdbg_notice("Variables: %d",
|
||||
zend_hash_num_elements(EG(active_symbol_table)));
|
||||
|
||||
zend_hash_internal_pointer_reset_ex(EG(active_symbol_table), &pos);
|
||||
while (zend_hash_get_current_key_ex(EG(active_symbol_table), &var,
|
||||
NULL, NULL, 0, &pos) == HASH_KEY_IS_STRING) {
|
||||
zend_hash_get_current_data_ex(EG(active_symbol_table), (void **)&data, &pos);
|
||||
|
||||
if (*var != '_') {
|
||||
phpdbg_write("Var: %s = ", var, *data == NULL ? "NULL" : "");
|
||||
if (data) {
|
||||
zend_print_flat_zval_r(*data TSRMLS_CC);
|
||||
phpdbg_writeln(EMPTY);
|
||||
}
|
||||
}
|
||||
zend_hash_move_forward_ex(EG(active_symbol_table), &pos);
|
||||
}
|
||||
|
||||
return SUCCESS;
|
||||
} /* }}} */
|
||||
|
|
|
@ -37,9 +37,13 @@
|
|||
int PHPDBG_INFO_HANDLER(name)(phpdbg_param_t *param TSRMLS_DC)
|
||||
|
||||
PHPDBG_INFO(files);
|
||||
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(error, "show the last error", 'e'),
|
||||
PHPDBG_INFO_EX_D(vars, "show active variables", 'v'),
|
||||
PHPDBG_END_COMAND
|
||||
};
|
||||
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue