Rider Attach to remote process not loading processes

Answered

I am on a Mac running Mojave 10.14.6

I have a virtualbox VM running windows 10.

I am able to SSH into the vm, and I have successfully attached to remote processes and debugged the code running on my VM.

 

The problem is that it is hit or miss whether Rider will load the remote processes. I can SSH in, I can navigate to the app in my browser, I am running rider as root/admin. Sometimes if I restart rider or restart my VM it will work when it wasn't working previously. Sometimes I restart my mac and it loads them. Sometimes it loads them first try no problem. I can't recreate the issue, but I know that it is an issue which makes Using rider on my Mac annoying, to the point it's easier to do development work and debug using visual studio in the vm. Please Help!!

4 comments
Comment actions Permalink

Hello,

As far as I can see you have also created a request on our bug tracker. We were able to reproduce the issue and now are investigating. Please keep watching the issue for monitoring the status: RIDER-33767.

1
Comment actions Permalink

Thank you! My team and I are waiting with bated breath for a solution. 

0
Comment actions Permalink

I don't really know how the remote debugger agent finds out the processes that are running to be debugged on a remote Linux VM. Does the RiderClrProcessEnumeratorIL.exe agent look for "mono" in the process list? How does it find the processes that are mono in debug mode?

Rider on my laptop always says "No processes to attach to" when I look for processes on the remote VM.

I fear that it could be that I am running a mkbundled mono executable with the following environment variable:

export MONO_ENV_OPTIONS="--debug --debugger-agent=transport=dt_socket,server=y,suspend=y,setpgid=y"

It starts, suspends, and prints out 127.0.0.1:55555, which I presume is the debugger port for that executable.

The process is in the list with the name of the executable (not "mono") and netstat states that the localhost port 55555 is in LISTEN mode.

I can confirm that both the RiderClrProcessEnumeratorIL.exe and my intended process are running.

Is there anyway on the remote vm to check if VM's copy of RiderClrProcessEnumeratorIL.exe is actually recognizing the process?

 And I guess, my question is really, can Rider remote debugging compatible with running a mkbundled mono application?


0
Comment actions Permalink

Hello,

When Rider is looking for processes it checks using the specific pattern in the command line which consists of mono name and address=([\\d.\\w]+):(\\d+). It does not check environmental variables, that is why your process is not listed as a result.

0

Please sign in to leave a comment.