Page 3 of 3

Re: Debugger doesn't brake whatever I do

PostPosted: April 12th, 2018, 6:47 am
by jensa
To be more specific:

I have mounted U:\ from a samba share /var/www/clients/client3/web2/web/ on an Ubuntu server

In project settings i have Path mapping set to:
File/Directory =U:\
Absolute path on server=/var/www/clients/client3/web2/web/

Things worked very well when using PHPTools 1.25, then I installed a VS2017 update and also updated PHPTools to 1.27

Activitylog gives me:
<time>2018/04/12 06:35:22.597</time>
<description>System.UriFormatException: Invalid URI: The format of the URI could not be determined.&#x000D;&#x000A; at System.Uri.CreateThis(String uri, Boolean dontEscape, UriKind uriKind)&#x000D;&#x000A; at System.Uri..ctor(String uriString)&#x000D;&#x000A; at PHP.VisualStudio.Debugger.PhpProcess.EnsureLocalPath(String path)&#x000D;&#x000A; at PHP.VisualStudio.Debugger.PhpProcess.MapFile(String file, Boolean toDebuggee)&#x000D;&#x000A; at PHP.VisualStudio.Debugger.PhpProcess.HandleStepDone(ResponseMessage msg)&#x000D;&#x000A; at PHP.VisualStudio.Debugger.PhpProcess.DebugEventThread()</description>

Pls point me to a solution?
How do I debug PHPTools from another instance of VS?

Re: Debugger doesn't brake whatever I do

PostPosted: April 13th, 2018, 11:19 am
by jensa
More info on this case:
Mapping to the Network drive doesnt work i.e U:\
Instead mapping directly to the unc path works i.e \\someserver\someshare

I think this need to be fixed, also hiding exceptions related to PHPtools should not go into activitylog, instead they should show up in the Output window, so users know directly if something is wrong.

Re: Debugger doesn't brake whatever I do

PostPosted: April 16th, 2018, 9:32 am
by Miloslav Beno
Hi jensa,

Thanks for reaching to us with this issue.

You can try to open a new VS instance - A and before starting to PHP debug in another VS instance-B you attach A to B.

Debug | Attach to Process

Then you find the B instance. Make sure Attach t o shows Managed (v4.6, v4.5, v4.0) code

When you are attached. You replicate the issue in B

The exception breakpoint should get called. You switch the frame to EnsureLocalPath method and take a look at variable path. Please send it to me.

If you want we can plan TeamViewer and take a look at it together. Meanwhile I'm going to try to replicate this in our environment.

Thanks so much!