View Issue Details
| ID | Project | Category | View Status | Date Submitted | Last Update |
|---|---|---|---|---|---|
| 0000741 | Xdebug | Uncategorized | public | 2011-10-24 23:00 | 2014-02-27 20:10 |
| Reporter | nnmatveev | Assigned To | |||
| Priority | high | Severity | major | Reproducibility | have not tried |
| Status | resolved | Resolution | won't fix | ||
| Summary | 0000741: Unable to rich more value children level than 'max_depth' when obtain value from 'eval' command | ||||
| Description | The issue appears if you use 'evaluate expression' feature in the IDE and need to open more children levels than configured in 'max_depth'. We use the minimum possible 'max_depth' value as it speed ups stepping (we reload stack frames data on every step using 'context_get' command). The only way - re-evaluate the whole expression. We need to have some kind of global cache of all evaluated values and clean it after each step. | ||||
| Steps To Reproduce | Consider the following script: Eval 'foo()' expression when you will reach a breakpoint. | ||||
| Additional Information | In PhpStorm we implemented a workaround for this problem and maintains our own evaluation cache in global variable $GLOBALS['IDE_EVAL_CACHE']. See attached xdebug log for more details. We assign an unique array key for every evaluated expression. When user ask for more children level we actually invoke property_get command for the expression substitutor. | ||||
| Tags | No tags attached. | ||||
| Operating System | |||||
| PHP Version | 5.3.8 | ||||