View Issue Details
ID | Project | Category | View Status | Date Submitted | Last Update |
---|---|---|---|---|---|
0000596 | Xdebug | Step Debugging | public | 2010-07-15 14:56 | 2020-03-12 17:19 |
Reporter | sklar | Assigned To | |||
Priority | normal | Severity | feature | Reproducibility | always |
Status | closed | Resolution | fixed | ||
Product Version | 2.1.0 | ||||
Summary | 0000596: Call breakpoint never works with instance methods, only static methods | ||||
Description | If you set a call breakpoint with an instance method, the breakpoint will never get triggered. | ||||
Additional Information | In xdebug_handler_dbgp.c, DBGP_FUNC(breakpoint_set) always stores the function name in the function_breakpoints hash as "class::method" (line 1133 in the 2.1.0 codebase). Which sort of makes sense here, since it's just been given -a class -m method from the client, it doesn't know whether it's a static method or an instance method. In xdebug.c handle_breakpoints(), though, the code checks whether the function is an instance or static function and then builds the name appropriately (class->method or class::method). So if it's an instance method, the name is built as "class->method" which is never found in the function_breakpoints hash. If I change handle_breakpoints() to always build the name as "class::method" then the breakpoint is triggered. | ||||
Tags | No tags attached. | ||||
Operating System | |||||
PHP Version | 5.3.1 | ||||
Date Modified | Username | Field | Change |
---|---|---|---|
2010-07-15 14:56 | sklar | New Issue | |
2010-07-15 14:56 | sklar | PHP Version | => 5.3.1 |
2010-07-15 14:56 | sklar | Xdebug Version | => 2.1.0 |
2010-07-20 19:20 | derick | Note Added: 0001534 | |
2010-07-23 23:26 | derick | Note Added: 0001541 | |
2010-07-23 23:26 | derick | Status | new => closed |
2010-07-23 23:26 | derick | Resolution | open => fixed |
2020-03-12 16:55 | derick | Severity | major => feature |
2020-03-12 17:19 | derick | Category | Feature/Change request => Step Debugging |