Debugging: Frame not in module

PHP Tools [?] extends Visual Studio with set of advanced features to work more efficiently with PHP code.

Debugging: Frame not in module

Postby codemaverick » April 16th, 2013, 7:14 am

I managed to successfully get remote debugging up an running, and everything was working fine, but after installing the most recent update/patch to the plugin (PHP-Tools), I suddenly started getting this error every time I start debugging:

"The current stack frame was not found in a loaded module. Source cannot be shown for this location.".

I'm not sure what I did wrong here. All the results I found on Google for this error mentions .pdb files, but since this is PHP, I'm not sure that applies here.

Any suggestions?


Thanks.
codemaverick
 
Posts: 5
Joined: April 16th, 2013, 7:01 am

Re: Debugging: Frame not in module

Postby Miloslav Beno » April 16th, 2013, 9:12 am

Hello Jason,

Thanks for contacting us.

Do you know what version you had before or when you updated last time? I undestand that this happens only when remote debugging?

The message in PHP case basicaly means the debug engine couldn't find the source code on your local system.

-What do you see in output window?
-Do you have xdebug.log from the remote system?

I can prepare build for you that would give us detailed information what's happening inside.

Thank you,
Miloslav
Miloslav Beno │ DEVSENSE s.r.o. │ @miloslavbenomiloslav@devsense.com
User avatar
Miloslav Beno
 
Posts: 1252
Joined: January 7th, 2012, 8:36 pm

Re: Debugging: Frame not in module

Postby codemaverick » April 16th, 2013, 3:49 pm

Hello Miloslav,

Thanks for responding. I keep up with the updates quite regularly - my last update was a few days ago,

My current version is 1.6.4231

I didn't have any xdebug.remote_log configured.

Here is the output from my output window:
Auto-attach to process '[1740] PHP.Debugger.Systray.exe' on machine 'ZOE' succeeded.
Mapping dir "D:\DSK\Schoolnotes\personal" to "file:///var/www"
Auto-attach to process '[3676] php_remote.exe' on machine 'ZOE' succeeded.
The program '[3676] php_remote.exe' has exited with code -1 (0xffffffff).
Auto-attach to process '[5536] php_remote.exe' on machine 'ZOE' succeeded.
The program '[5536] php_remote.exe' has exited with code -1 (0xffffffff).
Auto-attach to process '[5036] php_remote.exe' on machine 'ZOE' succeeded.



Thanks,
Jason
codemaverick
 
Posts: 5
Joined: April 16th, 2013, 7:01 am

Re: Debugging: Frame not in module

Postby codeowl » April 16th, 2013, 11:32 pm

Jason,

I had this happen once before. My project was setup to use Custom Webserver, I was using Apache (WAMP), and I found this was caused because I had made a copy of my project and was running the copy, but I had not updated the URI for the Custom Webserver in the project properties and it was still set to the projects original location. So this meant that when I played up the project Apache was serving up the original site, but the debugger was trying to match that to the code in the copy, hence it could not find the current stack frame.

Hope this helps you,

Regards,

Scott
codeowl
 
Posts: 51
Joined: February 10th, 2013, 10:05 am

Re: Debugging: Frame not in module

Postby codemaverick » April 17th, 2013, 7:08 pm

Thanks for the reply codeowl. I've checked that. I deleted the current Visual Studio project file and recreated a new project. I re-uploaded all files on the remote server and restarted the server.

The breakpoints are still tripped, but as before,the same error - "Debugging: Frame not in module" is repeated.

For more background, my working machine is a windows machine running VS 2012. The remote machine is an ubuntu linux server running Apache.

Are there some project settings I should be checking in VS? As I mentioned before, everything works fine locally, just not for remote debugging
codemaverick
 
Posts: 5
Joined: April 16th, 2013, 7:01 am

Re: Debugging: Frame not in module

Postby codeowl » April 17th, 2013, 10:13 pm

Jason,

Sorry mate I have not attempted remote debugging where apache/php is running on a different machine.

Seeing how you had it running successfully before, it shouldn't be an issue with the port access.

Hopefully Miloslav can replicate the issue. Maybe you could create a small test site on the remote server, with a one simple page that has phpinfo(), replicate the issue by putting a break point on that line, and then give Miloslav the details so he can attempt to replicate it. Tis a pain, but may help speed up the resolution of the issue.

Regards,

Scott
codeowl
 
Posts: 51
Joined: February 10th, 2013, 10:05 am

Re: Debugging: Frame not in module

Postby codemaverick » April 18th, 2013, 4:12 am

So, I've been hunting desperately for the cause of this weird error. All indications appear to be that the debugger cannot seem to map the files on the remote ubuntu server running apache to the location of the files on my machine, which again is odd because it worked just fine before.

I finally got the xdebug remote logging working, here is the output from my last run (my ip is redacted )

Code: Select all
Log opened at 2013-04-18 03:54:11
I: Connecting to configured address/port: *.*.*.*:9000.
I: Connected to client. :-)
-> <init xmlns="urn:debugger_protocol_v1" xmlns:xdebug="http://xdebug.org/dbgp/xdebug" fileuri="file:///var/www/app/webroot/index.php" language="PHP" protocol_version="1.0" appid="13376" idekey="1"><engine version="2.2.2"><![CDATA[Xdebug]]></engine><author><![CDATA[Derick Rethans]]></author><url><![CDATA[http://xdebug.org]]></url><copyright><![CDATA[Copyright (c) 2002-2013 by Derick Rethans]]></copyright></init>

<- feature_get -i 0 -n max_children
-> <response xmlns="urn:debugger_protocol_v1" xmlns:xdebug="http://xdebug.org/dbgp/xdebug" command="feature_get" transaction_id="0" feature_name="max_children" supported="1"><![CDATA[32]]></response>

<- breakpoint_set -i 1-0 -t line -f file:///var/www/app/controllers/AccountsController.php -n 195
-> <response xmlns="urn:debugger_protocol_v1" xmlns:xdebug="http://xdebug.org/dbgp/xdebug" command="breakpoint_set" transaction_id="1-0" id="133760004"></response>

<- breakpoint_set -i 2-1 -t line -f file:///var/www/app/controllers/BetaController.php -n 86
-> <response xmlns="urn:debugger_protocol_v1" xmlns:xdebug="http://xdebug.org/dbgp/xdebug" command="breakpoint_set" transaction_id="2-1" id="133760005"></response>

<- run -i 3
-> <response xmlns="urn:debugger_protocol_v1" xmlns:xdebug="http://xdebug.org/dbgp/xdebug" command="run" transaction_id="3" status="break" reason="ok"><xdebug:message filename="file:///var/www/app/controllers/BetaController.php" lineno="86"></xdebug:message></response>

<- stack_get -i 4-0
-> <response xmlns="urn:debugger_protocol_v1" xmlns:xdebug="http://xdebug.org/dbgp/xdebug" command="stack_get" transaction_id="4-0"><stack where="app\controllers\BetaController-&gt;inviteRequests" level="0" type="file" filename="file:///var/www/app/controllers/BetaController.php" lineno="86"></stack><stack where="lithium\core\Object-&gt;invokeMethod" level="1" type="file" filename="file:///var/www/libraries/lithium/core/Object.php" lineno="165"></stack><stack where="lithium\action\Controller-&gt;lithium\action\{closure}" level="2" type="file" filename="file:///var/www/libraries/lithium/action/Controller.php" lineno="184"></stack><stack where="lithium\core\Object-&gt;_filter" level="3" type="file" filename="file:///var/www/libraries/lithium/core/Object.php" lineno="238"></stack><stack where="lithium\action\Controller-&gt;__invoke" level="4" type="file" filename="file:///var/www/libraries/lithium/action/Controller.php" lineno="198"></stack><stack where="lithium\action\Dispatcher::lithium\action\{closure}" level="5" type="file" filename="file:///var/www/libraries/lithium/action/Dispatcher.php" lineno="262"></stack><stack where="lithium\util\collection\Filters-&gt;next" level="6" type="file" filename="file:///var/www/libraries/lithium/util/collection/Filters.php" lineno="202"></stack><stack where="{closure:/var/www/app/config/bootstrap/action.php:192-210}" level="7" type="file" filename="file:///var/www/app/config/bootstrap/action.php" lineno="208"></stack><stack where="lithium\util\collection\Filters::run" level="8" type="file" filename="file:///var/www/libraries/lithium/util/collection/Filters.php" lineno="183"></stack><stack where="lithium\core\StaticObject::_filter" level="9" type="file" filename="file:///var/www/libraries/lithium/core/StaticObject.php" lineno="126"></stack><stack where="lithium\action\Dispatcher::_call" level="10" type="file" filename="file:///var/www/libraries/lithium/action/Dispatcher.php" lineno="265"></stack><stack where="lithium\core\StaticObject::invokeMethod" level="11" type="file" filename="file:///var/www/libraries/lithium/core/StaticObject.php" lineno="75"></stack><stack where="lithium\action\Dispatcher::lithium\action\{closure}" level="12" type="file" filename="file:///var/www/libraries/lithium/action/Dispatcher.php" lineno="154"></stack><stack where="lithium\util\collection\Filters-&gt;next" level="13" type="file" filename="file:///var/www/libraries/lithium/util/collection/Filters.php" lineno="202"></stack><stack where="{closure:/var/www/app/config/bootstrap/action.php:127-137}" level="14" type="file" filename="file:///var/www/app/config/bootstrap/action.php" lineno="135"></stack><stack where="lithium\util\collection\Filters-&gt;next" level="15" type="file" filename="file:///var/www/libraries/lithium/util/collection/Filters.php" lineno="202"></stack><stack where="{closure:/var/www/app/config/bootstrap/action.php:114-125}" level="16" type="file" filename="file:///var/www/app/config/bootstrap/action.php" lineno="124"></stack><stack where="lithium\util\collection\Filters-&gt;next" level="17" type="file" filename="file:///var/www/libraries/lithium/util/collection/Filters.php" lineno="202"></stack><stack where="{closure:/var/www/app/config/bootstrap/cache.php:47-60}" level="18" type="file" filename="file:///var/www/app/config/bootstrap/cache.php" lineno="54"></stack><stack where="lithium\util\collection\Filters::run" level="19" type="file" filename="file:///var/www/libraries/lithium/util/collection/Filters.php" lineno="183"></stack><stack where="lithium\core\StaticObject::_filter" level="20" type="file" filename="file:///var/www/libraries/lithium/core/StaticObject.php" lineno="126"></stack><stack where="lithium\action\Dispatcher::run" level="21" type="file" filename="file:///var/www/libraries/lithium/action/Dispatcher.php" lineno="155"></stack><stack where="{main}" level="22" type="file" filename="file:///var/www/app/webroot/index.php" lineno="41"></stack></response>

<- run -i 5
-> <response xmlns="urn:debugger_protocol_v1" xmlns:xdebug="http://xdebug.org/dbgp/xdebug" command="run" transaction_id="5" status="stopping" reason="ok"></response>

Log closed at 2013-04-18 03:54:16


Thanks
codemaverick
 
Posts: 5
Joined: April 16th, 2013, 7:01 am

Re: Debugging: Frame not in module

Postby Miloslav Beno » April 18th, 2013, 12:00 pm

Hi Guys!

Scott, if you are ever in Prague I'll invite you for a beer!:)

Jason, Thank you for sending the log.

If it worked version before, I'll review the changes in the newest update to see if there's something that could influence the mapping behaviour.

I'm also going to setup test project with the same directory structure based on information from output window and xdebug log. To see if I'm able to replicate this.

So correct me please if this is wrong:

This is your project path on local system: "D:\DSK\Schoolnotes\personal"
this is project path on remote system "file:///var/www"

Structure of your project is:
/
.. webroot/
.. app/
..... controllers/
.. libraries/
..... [lot of dirs]

Your phpproj and sln file is located directly at D:\DSK\Schoolnotes\personal?

Thanks,
Miloslav
Miloslav Beno │ DEVSENSE s.r.o. │ @miloslavbenomiloslav@devsense.com
User avatar
Miloslav Beno
 
Posts: 1252
Joined: January 7th, 2012, 8:36 pm

Re: Debugging: Frame not in module

Postby Miloslav Beno » April 18th, 2013, 2:58 pm

I think I've found what might have caused this.

Jason, I've attached the package with the fix. If you could try it and confirm it solves the issue. It would be great.

Thanks,
Miloslav
You do not have the required permissions to view the files attached to this post.
Miloslav Beno │ DEVSENSE s.r.o. │ @miloslavbenomiloslav@devsense.com
User avatar
Miloslav Beno
 
Posts: 1252
Joined: January 7th, 2012, 8:36 pm

Re: Debugging: Frame not in module

Postby codemaverick » April 18th, 2013, 6:57 pm

Miloslav,

Yay! Whatever you did fixed it! Thank You, thank you, thank you. This bug was driving me a little nuts.

Ok, Now I can get back to work.

And thanks again codeowl for your help.

Jason
codemaverick
 
Posts: 5
Joined: April 16th, 2013, 7:01 am

Next

Return to PHP Tools

Who is online

Users browsing this forum: No registered users and 44 guests

cron

User Control Panel

Login

Who is online

In total there are 44 users online :: 0 registered, 0 hidden and 44 guests (based on users active over the past 5 minutes)
Most users ever online was 399 on April 19th, 2024, 11:49 pm

Users browsing this forum: No registered users and 44 guests