Problem
One is trying to remote debug a SharePoint solution. The binaries are deployed to C:\Windows\Microsoft.Net\assembly\GAC_MSIL\ through some specific deployment procedure. Then one attaches to some .exe (that is part of SharePoint application), that loads these binaries. For example: owstimer.exe . After remote attaching the debugger, it loads no .pdb and can't resolve breakpoints.
Cause [Optional]
In this scenario the remote machine is missing .pdb in the end. Meantime Rider debugger requires it.
Resolution
Unfortunately, Rider can't debug a remote application having no .pdb on a remote machine. The exclusion here is when embedded pdb is used: no dedicated .pdb is produced on build, but the debugging information is emitted into .dll/exe.
So, the available options are:
- To have .pdb on a remote machine nearby the .dll;
- To have .pdb on a remote machine by the path specified in .dll (it is written there during the build);
- To try embedding pdb information into .dll (it is done by rebuilding the project with
<PropertyGroup..><DebugType>embedded</DebugType></PropertyGroup>, then re-deploy the way you do it. Unfortunately, I have no opportunity to verify whether it would work in your exact scenario, but it probably will.
Last, one might want to upvote this feature request: RIDER-21114 Decompile external code during remote debug. Yes, it is old, but we do plan to implement it in the future. It will allow debugging remote apps having no .pdb on a remote machine and/or having no source files on a local machine.
Comments
0 comments
Please sign in to leave a comment.