View Issue Details
| ID | Project | Category | View Status | Date Submitted | Last Update |
|---|---|---|---|---|---|
| 0001282 | Xdebug | Uncategorized | public | 2016-03-04 13:16 | 2016-03-15 11:40 |
| Reporter | Profic | Assigned To | |||
| Priority | normal | Severity | minor | Reproducibility | always |
| Status | closed | Resolution | fixed | ||
| Product Version | 2.4.0 | ||||
| Fixed in Version | 2.4.1 | ||||
| Summary | 0001282: var_dump() of integers > 32 bit is broken | ||||
| Description | This is 64 bit Windows, PHP and Xdebug. It seems any integer with more than 32 bit value are truncated to 32 bits in Xdebug's var_dump(). Examlpe uses PHP_INT_MAX but any value outside of 32 bit integer range is affected. | ||||
| Steps To Reproduce | D:\devel\rgu-bars-forms>php -r "var_dump(PHP_INT_SIZE, PHP_INT_MAX);" D:\devel\rgu-bars-forms>php -d xdebug.overload_var_dump=0 -r "var_dump(PHP_INT_SIZE, PHP_INT_MAX);" | ||||
| Additional Information | D:\devel\rgu-bars-forms>php -v | ||||
| Tags | No tags attached. | ||||
| Operating System | Windows 7 x64 | ||||
| PHP Version | 7.0.0-7.0.4 | ||||
|
|
I can't easily see what the problem is by looking at the code, so I'm going to have to get back to this once I make it home and have access to Windows again. On Linux, this works "just fine"™. |
|
|
I may be wrong, but after quick search line 1031 in xdebug_var.c may be the cause (https://github.com/xdebug/xdebug/blob/master/xdebug_var.c#L1031): on Windows to print long long "%lld" is required. |
|
|
Sure, but I'd like to test it before committing something like that. And Windows uses some other format specifiers too in places. I'll get to it :-) |
|
|
Fixed in GitHub for 2.4.1. Thanks for your report! |