Date: Fri Dec 22 14:51:03 CET 2006
User: Derick Rethans
Directory: xdebug
Log Message:
[6.00]
- Implemented the "xdebug.var_display_max_children" setting. The default is set to 128 children.
- Fixed the issue where get_declared_parameters() did not now about variables
there are in the declared function header, but were not used in the code. Due
to this change expected arguments that were not send to a function will now
show up as ??? in stack and function traces. Only tested with PHP 5.2.
- Removed variable name printing from the fancy synopsis formatter.
Modified files:
xdebug/xdebug.c (version: 1.363)
xdebug/xdebug_var.c (version: 1.81)
xdebug/tests/array_map.phpt (version: 1.12)
xdebug/tests/bug00022.phpt (version: 1.4)
xdebug/tests/bug00032-ze22.phpt (version: 1.4)
xdebug/tests/bug00089.phpt (version: 1.5)
xdebug/tests/bug00173.phpt (version: 1.4)
xdebug/tests/bug00184.phpt (version: 1.3)
xdebug/tests/get_declared_vars.phpt (version: 1.5)
xdebug/tests/test1.phpt (version: 1.19)
xdebug/tests/test12.phpt (version: 1.16)
xdebug/tests/test6.phpt (version: 1.18)
xdebug/tests/test8.phpt (version: 1.18)
xdebug/tests/xdebug_var_dump.phpt (version: 1.6)
[FILE: /xdebug/xdebug.c]
===================================================================
RCS file: cvstemp,v
retrieving revision 1.362
retrieving revision 1.363
diff -u -r1.362 -r1.363
--- xdebug/xdebug.c:1.362 Fri Dec 01 18:38:21 2006 GMT
+++ xdebug/xdebug.c Fri Dec 22 12:51:03 2006 GMT
@@ -320,11 +320,11 @@
/* Variable display settings */
#if ZEND_EXTENSION_API_NO < 90000000
-/* STD_PHP_INI_ENTRY("xdebug.var_display_max_children", "128", PHP_INI_ALL, OnUpdateInt, display_max_children, zend_xdebug_globals, xdebug_globals) */
+ STD_PHP_INI_ENTRY("xdebug.var_display_max_children", "128", PHP_INI_ALL, OnUpdateInt, display_max_children, zend_xdebug_globals, xdebug_globals)
STD_PHP_INI_ENTRY("xdebug.var_display_max_data", "512", PHP_INI_ALL, OnUpdateInt, display_max_data, zend_xdebug_globals, xdebug_globals)
STD_PHP_INI_ENTRY("xdebug.var_display_max_depth", "2", PHP_INI_ALL, OnUpdateInt, display_max_depth, zend_xdebug_globals, xdebug_globals)
#else
-/* STD_PHP_INI_ENTRY("xdebug.var_display_max_children", "128", PHP_INI_ALL, OnUpdateLong, display_max_children, zend_xdebug_globals, xdebug_globals) */
+ STD_PHP_INI_ENTRY("xdebug.var_display_max_children", "128", PHP_INI_ALL, OnUpdateLong, display_max_children, zend_xdebug_globals, xdebug_globals)
STD_PHP_INI_ENTRY("xdebug.var_display_max_data", "512", PHP_INI_ALL, OnUpdateLong, display_max_data, zend_xdebug_globals, xdebug_globals)
STD_PHP_INI_ENTRY("xdebug.var_display_max_depth", "2", PHP_INI_ALL, OnUpdateLong, display_max_depth, zend_xdebug_globals, xdebug_globals)
#endif
@@ -971,17 +971,10 @@
function_stack_entry *tmp;
zend_op *cur_opcode;
zval **param;
- void **p;
- int arg_count = 0;
int i = 0;
char *aggr_key;
int aggr_key_len;
- if (EG(argument_stack).top >= 2) {
- p = EG(argument_stack).top_element - 2;
- arg_count = (ulong) *p;
- }
-
tmp = xdmalloc (sizeof (function_stack_entry));
tmp->var = NULL;
tmp->varc = 0;
@@ -1066,22 +1059,60 @@
tmp->lineno = cur_opcode->lineno;
}
}
- if (XG(collect_params)) {
- tmp->var = xdmalloc(arg_count * sizeof (xdebug_var));
- for (i = 0; i < arg_count; i++) {
- tmp->var[tmp->varc].name = NULL;
- param = NULL;
- if (zend_ptr_stack_get_arg(tmp->varc + 1, (void**) ¶m TSRMLS_CC) == SUCCESS) {
- if (param) {
- tmp->var[tmp->varc].addr = *param;
- } else {
- tmp->var[tmp->varc].addr = NULL;
+ if (XG(collect_params) || XG(collect_vars)) {
+ void **p;
+ int arguments_sent = 0, arguments_wanted = 0, arguments_storage = 0;
+
+ /* This calculates how many arguments where sent to a function. It
+ * works for both internal and user defined functions.
+ * op_array->num_args works only for user defined functions so
+ * we're not using that here. */
+ if (EG(argument_stack).top >= 2) {
+ p = EG(argument_stack).top_element - 2;
+ arguments_sent = (ulong) *p;
+ arguments_wanted = arguments_sent;
+ }
+
+ if (tmp->user_defined == XDEBUG_EXTERNAL) {
+ arguments_wanted = op_array->num_args;
+ }
+
+ if (arguments_wanted > arguments_sent) {
+ arguments_storage = arguments_wanted;
+ } else {
+ arguments_storage = arguments_sent;
+ }
+ tmp->var = xdmalloc(arguments_storage * sizeof (xdebug_var));
+
+ for (i = 0; i < arguments_sent; i++) {
+ tmp->var[tmp->varc].name = NULL;
+ tmp->var[tmp->varc].addr = NULL;
+# if (PHP_MAJOR_VERSION == 5 && PHP_MINOR_VERSION >= 1) || PHP_MAJOR_VERSION >= 6
+ /* Because it is possible that more parameters are sent, then
+ * actually wanted we can only access the name in case there
+ * is an associated variable to receive the variable here. */
+ if (tmp->user_defined == XDEBUG_EXTERNAL && i < arguments_wanted) {
+ tmp->var[tmp->varc].name = xdstrdup(op_array->arg_info[i].name);
+ }
+# endif
+ if (XG(collect_params)) {
+ param = NULL;
+ if (zend_ptr_stack_get_arg(tmp->varc + 1, (void**) ¶m TSRMLS_CC) == SUCCESS) {
+ if (param) {
+ tmp->var[tmp->varc].addr = *param;
+ }
}
- } else {
- tmp->var[tmp->varc].addr = NULL;
}
tmp->varc++;
}
+ /* Sometimes not enough arguments are send to a user defined
+ * function, so we have to gather only the name for those extra. */
+ if (tmp->user_defined == XDEBUG_EXTERNAL && arguments_sent < arguments_wanted) {
+ for (i = arguments_sent; i < arguments_wanted; i++) {
+ tmp->var[tmp->varc].name = xdstrdup(op_array->arg_info[i].name);
+ tmp->varc++;
+ }
+ }
}
}
@@ -1153,6 +1184,16 @@
fse->used_vars = xdebug_hash_alloc(64, used_var_dtor);
}
+ /* Check parameters */
+# if (PHP_MAJOR_VERSION == 5 && PHP_MINOR_VERSION >= 1) || PHP_MAJOR_VERSION >= 6
+ for (i = 0; i < fse->varc; i++) {
+ if (fse->var[i].name) {
+ xdebug_hash_update(fse->used_vars, fse->var[i].name, strlen(fse->var[i].name), xdstrdup(fse->var[i].name));
+ }
+ }
+# endif
+
+ /* opcode scanning time */
while (i < j) {
# if (PHP_MAJOR_VERSION == 5 && PHP_MINOR_VERSION >= 1) || PHP_MAJOR_VERSION >= 6
char *cv = NULL;
@@ -1166,7 +1207,6 @@
cv = zend_get_compiled_variable_name(op_array, op_array->opcodes[i].op2.u.var, &cv_len);
xdebug_hash_update(fse->used_vars, cv, cv_len, xdstrdup(cv));
}
- /* FIXME: Add support for function arguments too */
#else
if (op_array->opcodes[i].opcode == ZEND_FETCH_R || op_array->opcodes[i].opcode == ZEND_FETCH_W) {
if (op_array->opcodes[i].op1.op_type == IS_CONST) {
@@ -1608,22 +1648,27 @@
zvar = xdebug_get_php_symbol(name, strlen(name) + 1);
XG(active_symbol_table) = tmp_ht;
+ if (html) {
+ formats = html_formats;
+ } else {
+ formats = text_formats;
+ }
+
if (!zvar) {
+ xdebug_str_add(str, xdebug_sprintf(formats[9], name), 1);
return;
}
if (html) {
- formats = html_formats;
contents = get_zval_value_fancy(NULL, zvar, &len, 0, NULL TSRMLS_CC);
} else {
- formats = text_formats;
contents = get_zval_value(zvar, 0, NULL);
}
if (contents) {
xdebug_str_add(str, xdebug_sprintf(formats[8], name, contents), 1);
} else {
- xdebug_str_add(str, xdebug_sprintf(formats[9], name), 1);;
+ xdebug_str_add(str, xdebug_sprintf(formats[9], name), 1);
}
xdfree(contents);
@@ -1724,7 +1769,7 @@
/* Printing vars */
for (j = 0; j < i->varc; j++) {
- char *tmp_varname, *tmp_value, *tmp_fancy_value, *tmp_fancy_synop_value;
+ char *tmp_value, *tmp_fancy_value, *tmp_fancy_synop_value;
int newlen;
if (c) {
@@ -1732,21 +1777,24 @@
} else {
c = 1;
}
- tmp_varname = i->var[j].name ? xdebug_sprintf("$%s = ", i->var[j].name) : xdstrdup("");
+
if (html) {
tmp_value = get_zval_value(i->var[j].addr, 0, NULL);
tmp_fancy_value = xmlize(tmp_value, strlen(tmp_value), &newlen);
- tmp_fancy_synop_value = get_zval_synopsis_fancy(tmp_varname, i->var[j].addr, &len, 0, NULL TSRMLS_CC);
+ tmp_fancy_synop_value = get_zval_synopsis_fancy("", i->var[j].addr, &len, 0, NULL TSRMLS_CC);
xdebug_str_add(&str, xdebug_sprintf("<span title='%s'>%s</span>", tmp_fancy_value, tmp_fancy_synop_value), 1);
xdfree(tmp_value);
efree(tmp_fancy_value);
xdfree(tmp_fancy_synop_value);
} else {
tmp_value = get_zval_synopsis(i->var[j].addr, 0, NULL);
- xdebug_str_add(&str, xdebug_sprintf("%s%s", tmp_varname, tmp_value), 1);
- xdfree(tmp_value);
+ if (tmp_value) {
+ xdebug_str_add(&str, xdebug_sprintf("%s", tmp_value), 1);
+ xdfree(tmp_value);
+ } else {
+ xdebug_str_addl(&str, "???", 3, 0);
+ }
}
- xdfree(tmp_varname);
}
if (i->include_filename) {
@@ -1857,10 +1905,10 @@
} else {
c = 1;
}
-
+/*
tmp_varname = i->var[j].name ? xdebug_sprintf("$%s = ", i->var[j].name) : xdstrdup("");
xdebug_str_add(&str, tmp_varname, 1);
-
+*/
tmp_value = get_zval_value(i->var[j].addr, 0, NULL);
if (tmp_value) {
xdebug_str_add(&str, tmp_value, 1);
@@ -2294,6 +2342,7 @@
xdebug_hash_apply(i->used_vars, (void *) return_value, attach_used_var_names);
}
/* Add params */
+#if 0
if (i->var) {
for (j = 0; j < i->varc; j++) {
if (i->var[j].name) {
@@ -2301,6 +2350,7 @@
}
}
}
+#endif
}
/* }}} */
[FILE: /xdebug/xdebug_var.c]
===================================================================
RCS file: cvstemp,v
retrieving revision 1.80
retrieving revision 1.81
diff -u -r1.80 -r1.81
--- xdebug/xdebug_var.c:1.80 Tue Dec 19 16:54:19 2006 GMT
+++ xdebug/xdebug_var.c Fri Dec 22 12:51:03 2006 GMT
@@ -128,11 +128,16 @@
xdebug_var_export_options *options;
options = xdmalloc(sizeof(xdebug_var_export_options));
- options->max_children = 1024; /* XG(display_max_children); */
+ options->max_children = XG(display_max_children);
options->max_data = XG(display_max_data);
options->max_depth = XG(display_max_depth);
options->show_hidden = 0;
- options->runtime = NULL;
+
+ if (options->max_children == -1) {
+ options->max_children = 1048576;
+ } else if (options->max_children < 1) {
+ options->max_children = 1;
+ }
if (options->max_data == -1) {
options->max_data = 1073741824;
@@ -141,11 +146,13 @@
}
if (options->max_depth == -1) {
- options->max_depth = 65536;
+ options->max_depth = 4096;
} else if (options->max_depth < 0) {
options->max_depth = 0;
}
+ options->runtime = (xdebug_var_runtime_page*) xdmalloc((options->max_depth + 1) * sizeof(xdebug_var_runtime_page));
+
return options;
}
@@ -172,26 +179,34 @@
debug_zval = va_arg(args, int);
options = va_arg(args, xdebug_var_export_options*);
- if (hash_key->nKeyLength==0) { /* numeric key */
- xdebug_str_add(str, xdebug_sprintf("%ld => ", hash_key->h), 1);
- } else { /* string key */
- int newlen = 0;
- char *tmp, *tmp2;
-
- tmp = php_str_to_str(hash_key->arKey, hash_key->nKeyLength, "'", 1, "\\'", 2, &newlen);
- tmp2 = php_str_to_str(tmp, newlen - 1, "\0", 1, "\\0", 2, &newlen);
- if (tmp) {
- efree(tmp);
- }
- xdebug_str_addl(str, "'", 1, 0);
- if (tmp2) {
- xdebug_str_addl(str, tmp2, newlen, 0);
- efree(tmp2);
+ if (options->runtime[level].current_element_nr >= options->runtime[level].start_element_nr &&
+ options->runtime[level].current_element_nr < options->runtime[level].end_element_nr)
+ {
+ if (hash_key->nKeyLength==0) { /* numeric key */
+ xdebug_str_add(str, xdebug_sprintf("%ld => ", hash_key->h), 1);
+ } else { /* string key */
+ int newlen = 0;
+ char *tmp, *tmp2;
+
+ tmp = php_str_to_str(hash_key->arKey, hash_key->nKeyLength, "'", 1, "\\'", 2, &newlen);
+ tmp2 = php_str_to_str(tmp, newlen - 1, "\0", 1, "\\0", 2, &newlen);
+ if (tmp) {
+ efree(tmp);
+ }
+ xdebug_str_addl(str, "'", 1, 0);
+ if (tmp2) {
+ xdebug_str_addl(str, tmp2, newlen, 0);
+ efree(tmp2);
+ }
+ xdebug_str_add(str, "' => ", 0);
}
- xdebug_str_add(str, "' => ", 0);
+ xdebug_var_export(zv, str, level + 2, debug_zval, options TSRMLS_CC);
+ xdebug_str_addl(str, ", ", 2, 0);
}
- xdebug_var_export(zv, str, level + 2, debug_zval, options TSRMLS_CC);
- xdebug_str_addl(str, ", ", 2, 0);
+ if (options->runtime[level].current_element_nr == options->runtime[level].end_element_nr) {
+ xdebug_str_addl(str, "..., ", 5, 0);
+ }
+ options->runtime[level].current_element_nr++;
return 0;
}
@@ -208,12 +223,20 @@
debug_zval = va_arg(args, int);
options = va_arg(args, xdebug_var_export_options*);
- if (hash_key->nKeyLength != 0) {
- modifier = xdebug_get_property_info(hash_key->arKey, hash_key->nKeyLength, &prop_name);
- xdebug_str_add(str, xdebug_sprintf("%s $%s = ", modifier, prop_name), 1);
+ if (options->runtime[level].current_element_nr >= options->runtime[level].start_element_nr &&
+ options->runtime[level].current_element_nr < options->runtime[level].end_element_nr)
+ {
+ if (hash_key->nKeyLength != 0) {
+ modifier = xdebug_get_property_info(hash_key->arKey, hash_key->nKeyLength, &prop_name);
+ xdebug_str_add(str, xdebug_sprintf("%s $%s = ", modifier, prop_name), 1);
+ }
+ xdebug_var_export(zv, str, level + 2, debug_zval, options TSRMLS_CC);
+ xdebug_str_addl(str, "; ", 2, 0);
+ }
+ if (options->runtime[level].current_element_nr == options->runtime[level].end_element_nr) {
+ xdebug_str_addl(str, "...; ", 5, 0);
}
- xdebug_var_export(zv, str, level + 2, debug_zval, options TSRMLS_CC);
- xdebug_str_addl(str, "; ", 2, 0);
+ options->runtime[level].current_element_nr++;
return 0;
}
@@ -263,7 +286,12 @@
if (myht->nApplyCount < 1) {
xdebug_str_addl(str, "array (", 7, 0);
if (level <= options->max_depth) {
+ options->runtime[level].current_element_nr = 0;
+ options->runtime[level].start_element_nr = 0;
+ options->runtime[level].end_element_nr = options->max_children;
+
zend_hash_apply_with_arguments(myht, (apply_func_args_t) xdebug_array_element_export, 4, level, str, debug_zval, options);
+ /* Remove the ", " at the end of the string */
if (myht->nNumOfElements > 0) {
xdebug_str_chop(str, 2);
}
@@ -281,7 +309,12 @@
if (myht->nApplyCount < 1) {
xdebug_str_add(str, xdebug_sprintf("class %s { ", Z_OBJCE_PP(struc)->name), 1);
if (level <= options->max_depth) {
+ options->runtime[level].current_element_nr = 0;
+ options->runtime[level].start_element_nr = 0;
+ options->runtime[level].end_element_nr = options->max_children;
+
zend_hash_apply_with_arguments(myht, (apply_func_args_t) xdebug_object_element_export, 4, level, str, debug_zval, options);
+ /* Remove the ", " at the end of the string */
if (myht->nNumOfElements > 0) {
xdebug_str_chop(str, 2);
}
@@ -795,15 +828,23 @@
debug_zval = va_arg(args, int);
options = va_arg(args, xdebug_var_export_options*);
- xdebug_str_add(str, xdebug_sprintf("%*s", (level * 4) - 2, ""), 1);
+ if (options->runtime[level].current_element_nr >= options->runtime[level].start_element_nr &&
+ options->runtime[level].current_element_nr < options->runtime[level].end_element_nr)
+ {
+ xdebug_str_add(str, xdebug_sprintf("%*s", (level * 4) - 2, ""), 1);
- if (hash_key->nKeyLength==0) { /* numeric key */
- xdebug_str_add(str, xdebug_sprintf("%ld <font color='%s'>=></font> ", hash_key->h, COLOR_POINTER), 1);
- } else { /* string key */
- xdebug_str_add(str, xdebug_sprintf("'%s' <font color='%s'>=></font> ", hash_key->arKey, COLOR_POINTER), 1);
+ if (hash_key->nKeyLength==0) { /* numeric key */
+ xdebug_str_add(str, xdebug_sprintf("%ld <font color='%s'>=></font> ", hash_key->h, COLOR_POINTER), 1);
+ } else { /* string key */
+ xdebug_str_add(str, xdebug_sprintf("'%s' <font color='%s'>=></font> ", hash_key->arKey, COLOR_POINTER), 1);
+ }
+ xdebug_var_export_fancy(zv, str, level + 1, debug_zval, options TSRMLS_CC);
}
- xdebug_var_export_fancy(zv, str, level + 1, debug_zval, options TSRMLS_CC);
-
+ if (options->runtime[level].current_element_nr == options->runtime[level].end_element_nr) {
+ xdebug_str_add(str, xdebug_sprintf("%*s", (level * 4) - 2, ""), 1);
+ xdebug_str_addl(str, "<i>more elements...</i>\n", 24, 0);
+ }
+ options->runtime[level].current_element_nr++;
return 0;
}
@@ -821,14 +862,23 @@
debug_zval = va_arg(args, int);
options = va_arg(args, xdebug_var_export_options*);
- xdebug_str_add(str, xdebug_sprintf("%*s", (level * 4) - 2, ""), 1);
+ if (options->runtime[level].current_element_nr >= options->runtime[level].start_element_nr &&
+ options->runtime[level].current_element_nr < options->runtime[level].end_element_nr)
+ {
+ xdebug_str_add(str, xdebug_sprintf("%*s", (level * 4) - 2, ""), 1);
- key = hash_key->arKey;
- if (hash_key->nKeyLength != 0) {
- modifier = xdebug_get_property_info(hash_key->arKey, hash_key->nKeyLength, &prop_name);
- xdebug_str_add(str, xdebug_sprintf("<i>%s</i> '%s' <font color='%s'>=></font> ", modifier, prop_name, COLOR_POINTER), 1);
+ key = hash_key->arKey;
+ if (hash_key->nKeyLength != 0) {
+ modifier = xdebug_get_property_info(hash_key->arKey, hash_key->nKeyLength, &prop_name);
+ xdebug_str_add(str, xdebug_sprintf("<i>%s</i> '%s' <font color='%s'>=></font> ", modifier, prop_name, COLOR_POINTER), 1);
+ }
+ xdebug_var_export_fancy(zv, str, level + 1, debug_zval, options TSRMLS_CC);
+ }
+ if (options->runtime[level].current_element_nr == options->runtime[level].end_element_nr) {
+ xdebug_str_add(str, xdebug_sprintf("%*s", (level * 4) - 2, ""), 1);
+ xdebug_str_addl(str, "<i>more elements...</i>\n", 24, 0);
}
- xdebug_var_export_fancy(zv, str, level + 1, debug_zval, options TSRMLS_CC);
+ options->runtime[level].current_element_nr++;
return 0;
}
@@ -885,6 +935,10 @@
xdebug_str_addl(str, "<b>array</b>\n", 13, 0);
if (level <= options->max_depth) {
if (myht->nNumOfElements) {
+ options->runtime[level].current_element_nr = 0;
+ options->runtime[level].start_element_nr = 0;
+ options->runtime[level].end_element_nr = options->max_children;
+
zend_hash_apply_with_arguments(myht, (apply_func_args_t) xdebug_array_element_export_fancy, 4, level, str, debug_zval, options);
} else {
xdebug_str_add(str, xdebug_sprintf("%*s", (level * 4) - 2, ""), 1);
@@ -910,6 +964,10 @@
xdebug_str_addl(str, "\n", 1, 0);
#endif
if (level <= options->max_depth) {
+ options->runtime[level].current_element_nr = 0;
+ options->runtime[level].start_element_nr = 0;
+ options->runtime[level].end_element_nr = options->max_children;
+
zend_hash_apply_with_arguments(myht, (apply_func_args_t) xdebug_object_element_export_fancy, 4, level, str, debug_zval, options);
} else {
xdebug_str_add(str, xdebug_sprintf("%*s", (level * 4) - 2, ""), 1);
[FILE: /xdebug/tests/array_map.phpt]
===================================================================
RCS file: cvstemp,v
retrieving revision 1.11
retrieving revision 1.12
diff -u -r1.11 -r1.12
--- xdebug/tests/array_map.phpt:1.11 Mon Jan 02 15:12:31 2006 GMT
+++ xdebug/tests/array_map.phpt Fri Dec 22 12:51:03 2006 GMT
@@ -11,6 +11,8 @@
xdebug.profiler_enable=0
xdebug.show_mem_delta=0
xdebug.trace_format=0
+xdebug.var_display_max_depth=2
+xdebug.var_display_max_children=3
--FILE--
<?php
$tf = xdebug_start_trace('/tmp/'. uniqid('xdt', TRUE));
[FILE: /xdebug/tests/bug00022.phpt]
===================================================================
RCS file: cvstemp,v
retrieving revision 1.3
retrieving revision 1.4
diff -u -r1.3 -r1.4
--- xdebug/tests/bug00022.phpt:1.3 Fri Dec 30 13:52:37 2005 GMT
+++ xdebug/tests/bug00022.phpt Fri Dec 22 12:51:03 2006 GMT
@@ -40,7 +40,7 @@
int(7)
["params"]=>
array(1) {
- [0]=>
+ ["s"]=>
string(5) "'bar'"
}
}
[FILE: /xdebug/tests/bug00032-ze22.phpt]
===================================================================
RCS file: cvstemp,v
retrieving revision 1.3
retrieving revision 1.4
diff -u -r1.3 -r1.4
--- xdebug/tests/bug00032-ze22.phpt:1.3 Fri Oct 06 12:23:04 2006 GMT
+++ xdebug/tests/bug00032-ze22.phpt Fri Dec 22 12:51:03 2006 GMT
@@ -9,6 +9,7 @@
xdebug.collect_params=1
xdebug.profiler_enable=0
xdebug.show_local_vars=0
+xdebug.dump_globals=0
--FILE--
<?php
${1} = "foo";
[FILE: /xdebug/tests/bug00089.phpt]
===================================================================
RCS file: cvstemp,v
retrieving revision 1.4
retrieving revision 1.5
diff -u -r1.4 -r1.5
--- xdebug/tests/bug00089.phpt:1.4 Fri Oct 06 12:23:04 2006 GMT
+++ xdebug/tests/bug00089.phpt Fri Dec 22 12:51:03 2006 GMT
@@ -9,6 +9,7 @@
xdebug.profiler_enable=0
xdebug.show_local_vars=0
html_errors=1
+xdebug.var_display_max_children=3
--FILE--
<?php
var_dump(array(4, array('', 2, 'node'), false));
@@ -16,11 +17,11 @@
--EXPECT--
<pre>
<b>array</b>
- 0 <font color='#888a85'>=></font> <font color='#4e9a06'>4</font>
+ 0 <font color='#888a85'>=></font> <small>int</small> <font color='#4e9a06'>4</font>
1 <font color='#888a85'>=></font>
<b>array</b>
- 0 <font color='#888a85'>=></font> <font color='#cc0000'>''</font> <i>(length=0)</i>
- 1 <font color='#888a85'>=></font> <font color='#4e9a06'>2</font>
- 2 <font color='#888a85'>=></font> <font color='#cc0000'>'node'</font> <i>(length=4)</i>
- 2 <font color='#888a85'>=></font> <font color='#75507b'>false</font>
+ 0 <font color='#888a85'>=></font> <small>string</small> <font color='#cc0000'>''</font> <i>(length=0)</i>
+ 1 <font color='#888a85'>=></font> <small>int</small> <font color='#4e9a06'>2</font>
+ 2 <font color='#888a85'>=></font> <small>string</small> <font color='#cc0000'>'node'</font> <i>(length=4)</i>
+ 2 <font color='#888a85'>=></font> <small>boolean</small> <font color='#75507b'>false</font>
</pre>
[FILE: /xdebug/tests/bug00173.phpt]
===================================================================
RCS file: cvstemp,v
retrieving revision 1.3
retrieving revision 1.4
diff -u -r1.3 -r1.4
--- xdebug/tests/bug00173.phpt:1.3 Mon Oct 23 18:30:59 2006 GMT
+++ xdebug/tests/bug00173.phpt Fri Dec 22 12:51:03 2006 GMT
@@ -12,6 +12,7 @@
xdebug.dump_globals=0
xdebug.show_mem_delta=0
xdebug.trace_format=0
+xdebug.show_local_vars=1
--FILE--
<?php
$trace_file = xdebug_get_tracefile_name();
[FILE: /xdebug/tests/bug00184.phpt]
===================================================================
RCS file: cvstemp,v
retrieving revision 1.2
retrieving revision 1.3
diff -u -r1.2 -r1.3
--- xdebug/tests/bug00184.phpt:1.2 Sat Aug 19 10:29:08 2006 GMT
+++ xdebug/tests/bug00184.phpt Fri Dec 22 12:51:03 2006 GMT
@@ -12,6 +12,8 @@
xdebug.dump_globals=0
xdebug.show_mem_delta=0
xdebug.trace_format=0
+xdebug.var_display_max_depth=2
+xdebug.var_display_max_children=33
--FILE--
<?php
$trace_file = xdebug_get_tracefile_name();
[FILE: /xdebug/tests/get_declared_vars.phpt]
===================================================================
RCS file: cvstemp,v
retrieving revision 1.4
retrieving revision 1.5
diff -u -r1.4 -r1.5
--- xdebug/tests/get_declared_vars.phpt:1.4 Tue Sep 05 12:46:20 2006 GMT
+++ xdebug/tests/get_declared_vars.phpt Fri Dec 22 12:51:03 2006 GMT
@@ -52,7 +52,11 @@
register_shutdown_function('s');
?>
--EXPECTF--
-array(0) {
+array(2) {
+ [0]=>
+ string(1) "a"
+ [1]=>
+ string(1) "b"
}
5252
array(2) {
@@ -69,13 +73,15 @@
string(1) "b"
}
1
-array(3) {
+array(4) {
[0]=>
string(1) "d"
[1]=>
string(1) "a"
[2]=>
string(1) "c"
+ [3]=>
+ string(1) "b"
}
4254
array(2) {
[FILE: /xdebug/tests/test1.phpt]
===================================================================
RCS file: cvstemp,v
retrieving revision 1.18
retrieving revision 1.19
diff -u -r1.18 -r1.19
--- xdebug/tests/test1.phpt:1.18 Mon Jan 02 15:12:31 2006 GMT
+++ xdebug/tests/test1.phpt Fri Dec 22 12:51:03 2006 GMT
@@ -10,6 +10,8 @@
xdebug.profiler_enable=0
xdebug.show_mem_delta=0
xdebug.trace_format=0
+xdebug.var_display_max_depth=1
+xdebug.var_display_max_children=3
--FILE--
<?php
$tf = xdebug_start_trace('/tmp/'. uniqid('xdt', TRUE));
[FILE: /xdebug/tests/test12.phpt]
===================================================================
RCS file: cvstemp,v
retrieving revision 1.15
retrieving revision 1.16
diff -u -r1.15 -r1.16
--- xdebug/tests/test12.phpt:1.15 Fri Sep 29 08:07:17 2006 GMT
+++ xdebug/tests/test12.phpt Fri Dec 22 12:51:03 2006 GMT
@@ -12,6 +12,7 @@
xdebug.show_mem_delta=0
xdebug.trace_format=0
xdebug.var_display_max_depth=3
+xdebug.var_display_max_children=6
--FILE--
<?php
$tf = xdebug_start_trace('/tmp/'. uniqid('xdt', TRUE));
[FILE: /xdebug/tests/test6.phpt]
===================================================================
RCS file: cvstemp,v
retrieving revision 1.17
retrieving revision 1.18
diff -u -r1.17 -r1.18
--- xdebug/tests/test6.phpt:1.17 Sat Oct 07 21:10:33 2006 GMT
+++ xdebug/tests/test6.phpt Fri Dec 22 12:51:03 2006 GMT
@@ -10,6 +10,7 @@
xdebug.show_mem_delta=0
xdebug.profiler_enable=0
xdebug.var_display_max_depth=3
+xdebug.var_display_max_children=3
--FILE--
<?php
function foo2 ($a, $b, $c)
@@ -24,22 +25,23 @@
Call Stack:
%w%f %w%d 1. {main}() /%s/test6.php:0
-%w%f %w%d 2. foo2(long, array (1)) /%s/test6.php:7
+%w%f %w%d 2. foo2(long, array(1), ???) /%s/test6.php:7
-Variables in local scope:
+Variables in local scope (#2):
$a = 4
- $c = NULL
+ $c = *uninitialized*
$b = array (0 => array (0 => 'blaat', 1 => 5, 2 => FALSE))
+
Fatal error: Call to undefined function%sfoo() in /%s/test6.php on line 4
Call Stack:
%w%f %w%d 1. {main}() /%s/test6.php:0
-%w%f %w%d 2. foo2(long, array(1)) /%s/test6.php:7
+%w%f %w%d 2. foo2(long, array(1), ???) /%s/test6.php:7
-Variables in local scope:
+Variables in local scope (#2):
$a = 4
- $c = NULL
+ $c = *uninitialized*
$b = array (0 => array (0 => 'blaat', 1 => 5, 2 => FALSE))
[FILE: /xdebug/tests/test8.phpt]
===================================================================
RCS file: cvstemp,v
retrieving revision 1.17
retrieving revision 1.18
diff -u -r1.17 -r1.18
--- xdebug/tests/test8.phpt:1.17 Fri Sep 29 08:07:17 2006 GMT
+++ xdebug/tests/test8.phpt Fri Dec 22 12:51:03 2006 GMT
@@ -12,6 +12,7 @@
xdebug.show_mem_delta=0
xdebug.trace_format=0
xdebug.var_display_max_depth=5
+xdebug.var_display_max_children=4
--FILE--
<?php
$tf = xdebug_start_trace('/tmp/'. uniqid('xdt', TRUE));
[FILE: /xdebug/tests/xdebug_var_dump.phpt]
===================================================================
RCS file: cvstemp,v
retrieving revision 1.5
retrieving revision 1.6
diff -u -r1.5 -r1.6
--- xdebug/tests/xdebug_var_dump.phpt:1.5 Fri Oct 06 12:23:04 2006 GMT
+++ xdebug/tests/xdebug_var_dump.phpt Fri Dec 22 12:51:03 2006 GMT
@@ -9,6 +9,7 @@
xdebug.profiler_enable=0
html_errors=1
date.timezone=Europe/Oslo
+xdebug.var_display_max_children=11
--FILE--
<?php
class TimeStuff {
@@ -35,22 +36,22 @@
--EXPECT--
<pre>
<b>object</b>(<i>TimeStuff</i>)[<i>1</i>]
- <i>private</i> 'timestamp' <font color='#888a85'>=></font> <font color='#4e9a06'>1092515106</font>
- <i>private</i> 'user_defined' <font color='#888a85'>=></font> <font color='#75507b'>true</font>
+ <i>private</i> 'timestamp' <font color='#888a85'>=></font> <small>int</small> <font color='#4e9a06'>1092515106</font>
+ <i>private</i> 'user_defined' <font color='#888a85'>=></font> <small>boolean</small> <font color='#75507b'>true</font>
<i>private</i> 'self' <font color='#888a85'>=></font>
<i>&</i><b>object</b>(<i>TimeStuff</i>)[<i>1</i>]
<i>protected</i> 'tm' <font color='#888a85'>=></font>
<b>array</b>
- 'seconds' <font color='#888a85'>=></font> <font color='#4e9a06'>6</font>
- 'minutes' <font color='#888a85'>=></font> <font color='#4e9a06'>25</font>
- 'hours' <font color='#888a85'>=></font> <font color='#4e9a06'>22</font>
- 'mday' <font color='#888a85'>=></font> <font color='#4e9a06'>14</font>
- 'wday' <font color='#888a85'>=></font> <font color='#4e9a06'>6</font>
- 'mon' <font color='#888a85'>=></font> <font color='#4e9a06'>8</font>
- 'year' <font color='#888a85'>=></font> <font color='#4e9a06'>2004</font>
- 'yday' <font color='#888a85'>=></font> <font color='#4e9a06'>226</font>
- 'weekday' <font color='#888a85'>=></font> <font color='#cc0000'>'Saturday'</font> <i>(length=8)</i>
- 'month' <font color='#888a85'>=></font> <font color='#cc0000'>'August'</font> <i>(length=6)</i>
- 0 <font color='#888a85'>=></font> <font color='#4e9a06'>1092515106</font>
- <i>public</i> 'date' <font color='#888a85'>=></font> <font color='#cc0000'>'2004-08-14 22:25:06 CEST'</font> <i>(length=24)</i>
+ 'seconds' <font color='#888a85'>=></font> <small>int</small> <font color='#4e9a06'>6</font>
+ 'minutes' <font color='#888a85'>=></font> <small>int</small> <font color='#4e9a06'>25</font>
+ 'hours' <font color='#888a85'>=></font> <small>int</small> <font color='#4e9a06'>22</font>
+ 'mday' <font color='#888a85'>=></font> <small>int</small> <font color='#4e9a06'>14</font>
+ 'wday' <font color='#888a85'>=></font> <small>int</small> <font color='#4e9a06'>6</font>
+ 'mon' <font color='#888a85'>=></font> <small>int</small> <font color='#4e9a06'>8</font>
+ 'year' <font color='#888a85'>=></font> <small>int</small> <font color='#4e9a06'>2004</font>
+ 'yday' <font color='#888a85'>=></font> <small>int</small> <font color='#4e9a06'>226</font>
+ 'weekday' <font color='#888a85'>=></font> <small>string</small> <font color='#cc0000'>'Saturday'</font> <i>(length=8)</i>
+ 'month' <font color='#888a85'>=></font> <small>string</small> <font color='#cc0000'>'August'</font> <i>(length=6)</i>
+ 0 <font color='#888a85'>=></font> <small>int</small> <font color='#4e9a06'>1092515106</font>
+ <i>public</i> 'date' <font color='#888a85'>=></font> <small>string</small> <font color='#cc0000'>'2004-08-14 22:25:06 CEST'</font> <i>(length=24)</i>
</pre>
Received on Fri Dec 22 2006 - 14:51:21 GMT
This archive was generated by hypermail 2.2.0 : Sun Jun 24 2018 - 04:00:03 BST