View Issue Details

IDProjectCategoryView StatusLast Update
0001662XdebugStep Debuggingpublic2021-04-21 08:20
Reporterderick Assigned To 
PrioritynormalSeverityminorReproducibilityhave not tried
Status closedResolutionfixed 
Product Version2.7.1 
Fixed in Version2.7.2 
Summary0001662: __debugInfo should not be used for user-defined classes
Description

When a user-defined class implements the __debugInfo() method, Xdebug will use that instead of introspecting the object's real properties. This is confusing for users as they can't see what happens.

Instead of using __debugInfo() for all objects, it should only be used for internal PHP classes/objects.

From: https://intellij-support.jetbrains.com/hc/en-us/community/posts/360003468979-Is-phpstrom-debug-bugs-php-script-miss-class-property-in-variables-windows

TagsNo tags attached.
Operating System
PHP Version7.3-dev

Relationships

has duplicate 0001966 closedderick Xdebug doesn't respect __debugInfo() method 

Activities

derick

2019-05-06 12:09

administrator   ~0005019

Fixed in GIT: https://github.com/xdebug/xdebug/pull/469

jsiefer

2019-10-16 17:04

reporter   ~0005175

I actually liked the idea of having an option to provide custom property list. I used it to provide the most important properties and then always gave a back a "properties" where you could see the actual list of all properties.

I was wondering if there is maybe an alternative option doable where you could provide a custom quick view of a class that a IDE could understand.

So I do understand how it is confusing if you are not aware of that.

derick

2021-04-21 08:19

administrator   ~0005853

There is a workaround for this, which is to set a watch called "$this->__debugInfo()". Setting watches is supported by many IDEs.

If you want to see the "debugInfo" of all object, please ask your IDE producer to include functionality to call this method on every object.