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;
|
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)
|
int PHPDBG_INFO_HANDLER(name)(phpdbg_param_t *param TSRMLS_DC)
|
||||||
|
|
||||||
PHPDBG_INFO(files);
|
PHPDBG_INFO(files);
|
||||||
|
PHPDBG_INFO(error);
|
||||||
|
PHPDBG_INFO(vars);
|
||||||
|
|
||||||
static const phpdbg_command_t phpdbg_info_commands[] = {
|
static const phpdbg_command_t phpdbg_info_commands[] = {
|
||||||
PHPDBG_INFO_EX_D(files, "lists included files", 'f'),
|
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
|
PHPDBG_END_COMAND
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue