Should we disable Just in Time debugging by default? #25
Closed
carlos-granados
started this conversation in
Ideas
Replies: 2 comments
-
|
+1 Makes sense to drop it. Quick search:
|
Beta Was this translation helpful? Give feedback.
0 replies
-
|
Implemented in #28 |
Beta Was this translation helpful? Give feedback.
0 replies
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Uh oh!
There was an error while loading. Please reload this page.
-
In the current version we disable most of the operations that the debugger needs to function if we can't open a connection when the request is started but not everything. And some of these operations are needed if you want to be able to do just in time debugging (start the debugger manually using php_debugger_break(), php_debugger_connect_to_client() or starting the debugger on error or exception). And currently some of these options do not work 100% correctly (for example we may have compiled and cached some op arrays without the ZEND_COMPILE_EXTENDED_STMT compiler option).
I would argue that the vast majority of people don't use Just in Time debugging. So I propose that by default we disable Just in Time debugging and if no connection is made at the start of the request, completely disable the debugger in the same way as though the mode was OFF. This would provide almost 0% overhead at the expense of no JIT debugging.
We should add an ini option that allows you to enable JIT debugging. If this is set, we should only disable the functionality which can be correctly re-enabled if a connection is made later on, so that JIT debugging works as expected. This will increase the overhead for those wanting to use JIT debugging but they should know that this is a price that they must be prepared to pay
What do you think??
Beta Was this translation helpful? Give feedback.
All reactions