Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Xdebug and No Profiling Output

This is a similar problem to XDebug profiling in PHP - can't get output but mine is on windows and I have the full path specified (which solved his problem)

I am not getting any output even though I have enabled the profiler. Below is a copy of xdebug setup (I have indented all the options that have been uncommented.) - Please note that xdebug is working fine as Ii have been getting the standard xdebug errors. If it make any difference I am using xampp, cakephp, php 5.3

Any help would be greatly appreciated.

[XDebug] zend_extension = "C:\xampp\php\ext\php_xdebug.dll"  ;xdebug.auto_trace = 0 ;xdebug.collect_includes = 1 ;xdebug.collect_params = 0 ;xdebug.collect_return = 0 ;xdebug.collect_vars = "Off" ;xdebug.default_enable = "On" ;xdebug.dump.SERVER = REMOTE_ADDR,REQUEST_METHOD ;xdebug.dump.SERVER = REMOTE_ADDR,REQUEST_METHOD ;xdebug.dump.COOKIE = "" ;xdebug.dump.FILES = "" ;xdebug.dump.GET = "" ;xdebug.dump.POST = "" ;xdebug.dump.REQUEST = "" ;xdebug.dump.SERVER = "" ;xdebug.dump.SESSION = "" ;xdebug.dump_globals = 1 ;xdebug.dump_once = 1 ;xdebug.dump_undefined = 0 ;xdebug.extended_info = 1 ;xdebug.file_link_format = "" ;xdebug.idekey = "" ;xdebug.manual_url = "http://www.php.net" ;xdebug.max_nesting_level = 100 ;xdebug.overload_var_dump = 1     xdebug.profiler_append = 0     xdebug.profiler_enable = 1     xdebug.profiler_enable_trigger = 0     xdebug.profiler_output_dir = "C:\xampp\tmp"     xdebug.profiler_output_name = "xdebug_profile.%R::%u" ;xdebug.remote_autostart = 0     xdebug.remote_enable = 0     xdebug.remote_handler = "dbgp"     xdebug.remote_host = "127.0.0.1" ;xdebug.remote_log = "none" ;xdebug.remote_mode = "req"     xdebug.remote_port = 9000 ;xdebug.show_exception_trace = 0 ;xdebug.show_local_vars = 0 ;xdebug.show_mem_delta = 0 ;xdebug.trace_format = 0 ;xdebug.trace_options = 0     xdebug.trace_output_dir = "C:\xampp\tmp" ;xdebug.trace_output_name = "trace.%c" ;xdebug.var_display_max_children = 128 ;xdebug.var_display_max_data = 512 ;xdebug.var_display_max_depth = 3 
like image 680
Lizard Avatar asked Apr 14 '11 12:04

Lizard


People also ask

How do I trigger xdebug Profiler?

You can also selectively enable the profiler by setting xdebug. start_with_request#trigger to trigger . You can then enable the profiler by using an environment value, a GET/POST parameter, or COOKIE variable of the name XDEBUG_TRIGGER .

How do I debug using xdebug?

You can find it in the extension window and install it. After installation, you must reload the VSCode window. Now, again run phpinfo(); method in any PHP file to check if Xdebug is enabled or not. Now click on the debug console tab and click on add configuration.

What is a PHP Profiler?

PHP Code Performance Profiling A profiler is a tool that measures how some code consumes resources at run-time. It enables to find performance bottlenecks and understand the code's behavior. Blackfire Profiler for PHP enables to profile applications during development, test, staging, and production environments.


1 Answers

I think it's to do with the "xdebug.profiler_output_name" setting

I copied your config, but changed the value of "xdebug.profiler_output_name" like below

xdebug.profiler_output_name = "cachegrind.out.%t-%s" 

And it worked OK, but with your existing value of "xdebug.profiler_output_name" it didn't

I think it's to do with it not allowing colons in the output file name

Hope this helps/solves your problem!

Edit: Just for reference, here are the full settings that work

[XDebug] zend_extension = "C:\xampp\php\ext\php_xdebug.dll" xdebug.profiler_append = 0 xdebug.profiler_enable = 1 xdebug.profiler_enable_trigger = 0 xdebug.profiler_output_dir = "C:\xampp\tmp" xdebug.profiler_output_name = "cachegrind.out.%t-%s" xdebug.remote_enable = 0 xdebug.remote_handler = "dbgp" xdebug.remote_host = "127.0.0.1" xdebug.trace_output_dir = "C:\xampp\tmp" 

Edit 2:

Since the answer is getting a lot of hits, just thought I'd explain why. In the config file in the question, the output_name contains a : character, which is an allowed character in a filename on Linux, but not Windows.

like image 172
fin1te Avatar answered Oct 08 '22 17:10

fin1te