PHPDBG_API void phpdbg_print_breakpoints(zend_ulong type TSRMLS_DC) /* {{{ */
{
- phpdbg_xml("<breakpoints>");
+ phpdbg_xml("<breakpoints %r>");
switch (type) {
case PHPDBG_BREAK_SYM: if ((PHPDBG_G(flags) & PHPDBG_HAS_SYM_BP)) {
phpdbg_print_class_name(ce TSRMLS_CC);
if ((*ce)->parent) {
- phpdbg_xml("<parents>");
+ phpdbg_xml("<parents %r>");
zend_class_entry *pce = (*ce)->parent;
do {
phpdbg_out("|-------- ");
(*ce)->name,
zend_hash_num_elements(&(*ce)->function_table));
- phpdbg_xml("<printmethods>");
+ phpdbg_xml("<printmethods %r>");
if (zend_hash_num_elements(&(*ce)->function_table)) {
HashPosition position;
int phpdbg_output_ev_variable(char *name, size_t len, char *keyname, size_t keylen, HashTable *parent, zval **zv TSRMLS_DC) {
phpdbg_notice("eval", "variable=\"%.*s\"", "Printing variable %.*s", (int) len, name);
- phpdbg_xml("<eval>");
+ phpdbg_xml("<eval %r>");
zend_print_zval_r(*zv, 0 TSRMLS_CC);
phpdbg_xml("</eval>");
phpdbg_out("\n");
PHPDBG_G(flags) |= PHPDBG_IN_EVAL;
zend_try {
if (zend_eval_stringl(param->str, param->len,&retval, "eval()'d code" TSRMLS_CC) == SUCCESS) {
- phpdbg_xml("<eval>");
+ phpdbg_xml("<eval %r>");
zend_print_zval_r(&retval, 0 TSRMLS_CC);
phpdbg_xml("</eval>");
phpdbg_out("\n");
PHPDBG_COMMAND(print) /* {{{ */
{
phpdbg_out("Execution Context Information\n\n");
- phpdbg_xml("<printinfo>");
+ phpdbg_xml("<printinfo %r>");
#ifdef HAVE_LIBREADLINE
phpdbg_writeln("print", "readline=\"yes\"", "Readline yes");
#else
}
phpdbg_out("Cleaning Execution Environment\n");
- phpdbg_xml("<cleaninfo>");
+ phpdbg_xml("<cleaninfo %r>");
phpdbg_writeln("clean", "classes=\"%d\"", "Classes %d", zend_hash_num_elements(EG(class_table)));
phpdbg_writeln("clean", "functions=\"%d\"", "Functions %d", zend_hash_num_elements(EG(function_table)));
PHPDBG_COMMAND(clear) /* {{{ */
{
phpdbg_out("Clearing Breakpoints\n");
- phpdbg_xml("<clearinfo>");
+ phpdbg_xml("<clearinfo %r>");
phpdbg_writeln("clear", "files=\"%d\"", "File %d", zend_hash_num_elements(&PHPDBG_G(bp)[PHPDBG_BREAK_FILE]));
phpdbg_writeln("clear", "functions=\"%d\"", "Functions %d", zend_hash_num_elements(&PHPDBG_G(bp)[PHPDBG_BREAK_SYM]));
PHPDBG_G(watchpoint_hit) = 1;
phpdbg_notice("watchhit", "variable=\"%s\"", "Breaking on watchpoint %.*s", (int) watch->str_len, watch->str);
- phpdbg_xml("<watchdata>");
+ phpdbg_xml("<watchdata %r>");
}
switch (watch->type) {
phpdbg_writeln("watchvalue", "type=\"old\" inaccessible=\"inaccessible\"", "Old value inaccessible, array or object (HashTable) already destroyed");
} else {
phpdbg_out("Old value: ");
- phpdbg_xml("<watchvalue type=\"old\">");
+ phpdbg_xml("<watchvalue %r type=\"old\">");
zend_print_flat_zval_r((zval *) oldPtr TSRMLS_CC);
phpdbg_xml("</watchvalue>");
phpdbg_out("\n");
if (show_value) {
phpdbg_out("New value: ");
- phpdbg_xml("<watchvalue type=\"new\">");
+ phpdbg_xml("<watchvalue %r type=\"new\">");
zend_print_flat_zval_r(watch->addr.zv TSRMLS_CC);
phpdbg_xml("</watchvalue>");
phpdbg_out("\n");
HashPosition position;
phpdbg_watchpoint_t **watch;
- phpdbg_xml("<watchlist>");
+ phpdbg_xml("<watchlist %r>");
for (zend_hash_internal_pointer_reset_ex(&PHPDBG_G(watchpoints), &position);
zend_hash_get_current_data_ex(&PHPDBG_G(watchpoints), (void**) &watch, &position) == SUCCESS;
- appears on startup if -q flag wasn't provided as command line arg
- before any input possibility
- attributes may be spread over multiple tags
-- wrapped in <intros> tag
+- wrapped in <intros> tag
### attributes ###