XDebug not showing stack and trace in Sublime Text 2 on Window - sublimetext2

I have the Sublime Text 2 XDebug plugin installed but the stack and trace panes are empty no matter what I do. The menu works after pressing shift+f8. The "add breakpoint" also works. However, whenever I select start debugging I get directed to my browser with the standard debugging info but nothing appears in the panes in Sublime Text.
I am on Win7 x64
WAMP Server 2.2 : PHP 5.4.3 + Apache 2.4.2
I checked via phpinfo() and xdebug_is_enabled() and xdebug is installed and running.
my current configuration (bin/apache/[apache...]/bin/php.ini, ofcourse:
zend_extension = "[wamp path]/bin/php/php5.4.3/ext/php_xdebug-2.2.0-5.4-vc9-
x86_64.dll"
[xdebug]
xdebug.remote_enable = 1
xdebug.remote_host = localhost
xdebug.remote_port = 9000
xdebug.remote_handler = dbgp
xdebug.remote_autostart = On
;Trace settings
xdebug.auto_trace = On
xdebug.profiler_enable = On
xdebug.profiler_enable_trigger = 1
xdebug.profiler_output_name = cachegrind.out.%t.%p
xdebug.profiler_output_dir = "[wamp path]/wamp/tmp"
Do note that the path to the extension is correct. The name of the extension itself is as above also. I checked this page a link but still nothing.
Any help with this would be appreciated. Thanks!

I had the same problem. My setup is Sublime Text 2 on a Mac.
In Sublime, goto View, Sidebar, Show Open Files.
Insert an XDebug breakpoint in your file. Start a debug session from your browser.
It should hit the breakpoint, which turns green.
Notice in the Sidebar files called, Xdebug Watch, Xdebug Stack, Xdebug Context and Xdebug Breakpoint.
Open one of these, say Xdebug Context, you should see a listing of variables.
Drag the tab for this file into one of the empty panels below
And voila!

I fixed my sublime xdebug that was not showing debugging info.
I am using MAMP and ST3.
Xdebug client in sublime text come with super_globals = true i just changed the setting in Xdebug user setting and it worked!
Go to Tools -> Xdebug -> Settings - User and add following lines
{
"super_globals": false,
}

The first thing to try to see which end is broken would be to create a "debug log". You can do that by making the setting:
xdebug.remote_log = /tmp/xdebug.log
And then restart your web server.
Once debugging starts, the file should contain debugging commands and responses and it will tell you whether connections were made, or failed.
If you update your question with the results, I'll update the answer if something on the Xdebug side is wrong.

Related

When Xdebug is enabled in a web request it won't step over and breaks at every single line and enters every function in PhpStorm

I'm using Xdebug 3.
I'm able to step over normally in index.php at the beginning of the request until the request starts going through Laravel's complex routing and middleware system. After that, it breaks at every line and enters every function .
What hasn't worked
Setting nginx root directory to the actual folder instead of symlink
Disabling the resolve and force break options in the PhpStorm debug settings
Clearing PHPStorm cache and re-indexing
Removing any vendor libraries from "Excluded folders"
Removing the profile option from xdebug.mode in xdebug.ini
Disabling xdebug.start_upon_error
Disabling Clockwork
Debugger validation
Here's my xdebug.ini:
zend_extension=xdebug.so
; https://xdebug.org/docs/install
; xdebug.mode = profile
; Uncomment if you want to profile with clockwork xdebug.mode=debug,profile
xdebug.mode=debug
xdebug.start_with_request = trigger
xdebug.client_host = 127.0.0.1
xdebug.client_port = 9003
; I think it might have problems writing to project folders in WSL so use /var/log
xdebug.log="/var/log/xdebug.log"
xdebug.idekey = PHPSTORM
xdebug.discover_client_host=true
Here are the PhpStorm Debug Settings:
The problem ended up being that I had overridden a Laravel library file with a custom version using the "files" section in composer.json. Apparently, Xdebug/PHPStorm got confused by the path mappings after that file was called.
I did the override long ago and it was never a problem for Xdebug before. I haven't updated PHPStorm, Xdebug or changed anything recently so I'm still not sure why it suddenly started occurring.

Debug session was finished without being paused It may be caused by path mappings misconfiguration

I'm trying to use xdebug with phpStorm, valet on macOs
I followed the instructions,
installed xdebug, added configurations and set the settings in phpStorm
xdebug config parameters:
xdebug.remote_enable=1
xdebug.remote_port=9003
xdebug.idekey=PHPSTORM
xdebug.remote_log=/tmp/xdebug.log
I keep getting this error message and xdebug doesn't breach at the break points:
Debug session was finished without being paused
It may be caused by path mappings misconfiguration or not synchronized local and remote projects.
To figure out the problem check path mappings configuration for 'dashboard.test' server at PHP|Servers or enable Break at first line
in PHP scripts option (from Run menu).
Do not show again
this is my configuration details
I tried many suggested solutions but none of them is working,
Update:
changed the host from https://dashboard.test into dashboard.test, the message disappeared but still can not step over or step into every line (break point)

PhpStorm Debugger never enters code, but page doesn't finish loading while debugger is running

I am using PhpStorm on Ubuntu which I'm running on a Hyper-V machine. I'm trying to configure the PhpStorm debugger with XDebug. I've set a breakpoint in my code, but when I click "Start Listening for PHP Debug Connections" in PhpStorm and refresh my page, the debugger never enters my code. The debugger must be doing something because the page in the browser stays loading, until I click Stop in PhpStorm. If I don't click for the debugger to listen for connections, the page loads correctly.
The Debug window shows the error Remote file path '/var/www/magento2/pub/index.php' is not mapped to any file path in project, but I don't know how to get that to map correctly. In the path mappings windows, under "Include path", it shows a bunch of paths, but the path /var/www/magento2/pub isn't there. I can't find anywhere to add an additional path. Could this be a permissions issue for that folder? What permissions do I need to allow PhpStorm to map that path?
If I uncheck "use path mapping" in Preferences > Language & Framework > PHP > Servers and leave "Break at first line in PHP scripts" checked, then the debugger breaks on the first line of code, but I don't want to break until my breakpoint is hit.
If I uncheck "use path mapping" and don't check "Break at first line in PHP scripts", then I get the error Debug session was finished without being paused. It may be caused by path mappings misconfiguration or not synchronized local and remote projects. To figure out the problem check path mappings configuration for 'mydomain.local' server at PHP|Servers or enable Break at first line in PHP scripts option (from Run menu).
Here's my XDebug configuration
zend_extension=xdebug.so
xdebug.remote_autostart=1
xdebug.remote_enable=1
xdebug.remote_handler=dbgp
xdebug.remote_host=127.0.0.1
xdebug.remote_mode=req
xdebug.remote_port=9000
xdebug.var_display_max_depth=-1
xdebug.var_display_max_children=-1
xdebug.var_display_max_data=-1
xdebug.idekey="PHPSTORM"
Update:
Here are the responses to #LazyOne's questions
1) The path to the project root is /var/www/magento2
2)
One thing here which I think may be related to the problem is that under Include Path, the /var/www/magento/pub directory is not shown. That's what PhpStorm is referencing on that first error I described above. It's like PhpStorm found some of my directories with PHP files, but not all of them.
3) Here is the XDebug log
Update 2:
Here is what my project looks like
Here is my Directories window
I'm assuming that the reason that all the vendor/... directories are under Excluded Folders is that they are in .gitignore. Some of the code that I'm setting a breakpoint in is in a subdirectory of one of the vendor directories and some of the code is in a subdirectory of app/code/ (which is under Source Folders)
I added /var/www/magento2/pub to the Include Path under Settings > Languages & Frameworks > PHP. That eliminated the error about /var/www/magento2/pub/index.php. Now it's partially working. If I have PhpStorm break on the first line of PHP scripts, the debugger does start as soon as I refresh my page. However, after I step over the first line of code, I get the error PHP CS Fixer: Can not correctly run the tool with parameters... and then the debugger seems to stop working.
If I don't select Break at first line in PHP Scripts, and I put a breakpoint further into my code, I still get the same "debug session was finished without being paused" error.
I'm not sure what PHP CS Fixer is, nor do I want it to run. Is there a way to disable that?

Unable to watch variables value at PhpStorm breakpoint

I am facing a strange problem when I am debugging PhpStorm, I am using XAMPP + PhpStorm + Xdebug.
I write code below and set up 4 breakpoint
<?php
$a=1;
$b=2;
$c=$a+$b;
echo $c;
After I click listener button and debug button,Chrome visit http://localhost/index.php, the first break point is reached.
Then strange phenomenon is here:
I can not watch variables value of $a, $b and $c, no matter in debug window or I put mouse over these variables.
I click F8, the left 3 breakpoints will not reach. I have no idea where is the program's step now, but I know response is not return to Chrome because Chrome is still loading.
Even stranger, if I remove all breakpoints and not click listener button and not click debug button, Chrome load success, but once I click listener button and debug button, refresh Chrome, Chrome will load forever unless I stop listen and stop debug then Chrome will load success. That is wired; I have already uncheck 'break at first line', there is no breakpoints at all. I guess PhpStorm stuck somewhere, but I do not know where it is.
Can someone help me please,the other computer can debug success but this computer never debug success.
1) Show whole Xdebug log (share the file)
Xdebug log is here:https://www.dropbox.com/s/psfktprtl2jfftq/debug2.log?dl=0
And here is a yeserday ealier bigger log:https://www.dropbox.com/s/64jnwhscatjaihq/debug2-ealier.log?dl=0
2) PHP & Xdebug versions?
PHP and Xdebug version in picture below.
xdebug log
Xdebug 2.7 requires PhpStorm 2018.3.x or newer.
Either upgrade PhpStorm to latest stable 2018.3.x or downgrade Xdebug to 2.6.x. That will resolve the issue.

Enable XDebug in Behat

I am using behat+mink. I wrote some features and am now running tests.
How can I enable xdebug to to stop on breakpoints in phpstorm when running behat tests ?
I have not tried this with Mink yet, but this is configuration that allows me to step through debugging of behat (with behat running on a remote server):
Configure your server with x-debug
Of note, since this is commandline, you need to edit the cli config under /etc/php5/cli/conf.d/20-xdebug.ini.
Set remote_host to the ip of the computer you're using PHPSTORM from
Set autostart = 1
Disable connect_back, you will initiate debugging from the server so there is nothign to connect back to
You can also do this without editing your ini by exporting values as env variables, just remember to do this each time you start a new shell (or add to your .bash_profile file):
export XDEBUG_CONFIG="remote_host=<YOUR IP>"
Configure PHPStorm's Debugger
It seems by default, PHPStorm doesn't understand remote-cli scripts, so we need to add a configuration that tells it to expect a CLI script to trigger xdebug
Open the Run Menu and select "Edit Configurations"
Click the Green "+" to to add a new configuration and select "PHP Remote Debug"
Name the Configuration (E.G. MyServer-Behat)
Under the Servers: menu, select your remote server.
If you haven't configured your remote server yet, then do this by clicking the "..." button on the right
Click the Green "+" to add a server configuration. Give it a name (E.G. MyServer) and fill in it's address under Host
Configure it's Path Mappings. This is important if the path to your source files is different on your PHPStorm computer from your server. You can see in my example that i'm relating my local checkout (~/Work/Symfony/) to my server install (/var/www/). I specifically added mappings for src, bin, web, app, and vendor by clicking in the space to the right under "Absolute path on the server" and typing in the path. I had issues just mapping the root's, so I had to add these paths to get my debugger to work.
Debug!
Once that is setup, select your configuration from the drop down in the debugging tool bar and click the bug icon (you can also use the Run menu) to start the debugger listening. This is similar to the default Telephone Button (circled in yellow), but it tells PHPStorm to use your new configuration.
Now simply run behat like you normally would from your server and your debugger should connect and stop on any breakpoints you've placed.
If you're having doubts about if it's working or not, try toggling the "Break on First Line" in the Run menu, as this should make the debugger break immediately when you run behat (in the bin/behat file)