2

I am fairly new to remote debugging in Visual Studio, and by new I mean I have never done it before. Here are the steps I have taken to try to remotely debug an application on one of the servers in our network:

  • open a website in VS2008 "\\server\website"
  • Start the msvsmon service on "server" with "no authentication" and "allow any user to debug"
  • From VS2008, Attach to the w3wp process on "server" using remote transport

debugging starts and everything seems ok, but when i go to the page with the error, it doesn't break and let me debug. Am I missing something?

2
  • Do your breakpoints show up filled in, or hollow? Can you hit breakpoints on other pages? Commented Sep 23, 2009 at 16:10
  • breakpoint shows hollow and says no symbols are loaded. Commented Sep 23, 2009 at 16:20

2 Answers 2

9

You need to ensure you have the PDB files loaded correctly.

Visual Studio is going to look in that remote location for the PDB files (which contain the debugger information) and if it doesn't find them it doesn't have the necessary debug symbols to break on.

To add a pathname to the symbol file (.pdb or .dbg) locations list

  1. On the Tools menu, choose Options.
  2. In the Options dialog box, click the Debugging node to open it.
  3. Under Debugging, select the Symbols category.
  4. On the Symbols page, there is a box that says Symbol file (.pdb) locations. Above the box are four icons. Click the folder icon and editable text appears in the Symbol file (.pdb) locations box.
  5. Edit the text to add a new path. Statement completion helps you get the format right.
  6. Make sure Search the above locations only when symbols are loaded manually is not selected, unless you want to load symbols manually when you debug.
  7. If you are using symbols on a remote symbol server, you can improve performance by specifying a local directory that symbols can be copied to. To do this, use the Cache symbols from symbol server to this directory box. Note that if you are debugging a program on a remote computer the cache directory refers to a directory on the remote computer.
  8. Click OK.

http://msdn.microsoft.com/en-us/library/x54fht41.aspx

6
  • I tried this and no-go, I have th pdb file in the bin folder and it was compiled with debug and debug=true in the web config. Commented Sep 23, 2009 at 16:18
  • i think we're on the right track here, because all signs point to no symbols being loaded. in step 5, i am putting the path as \\server\website\bin, this is where the pdb file is. is this wrong? Commented Sep 23, 2009 at 16:31
  • No, that should work. Normally though I just load the local copy of my PDB's (which you can find in your local bin folder), that way I don't have to deal with permissions issues and such on the remote server.
    – The Matt
    Commented Sep 23, 2009 at 16:32
  • when i try to load the pdb manually, it says that it does not match the module Commented Sep 23, 2009 at 16:35
  • Try doing a clean of your build. Then do new compilation in debug. Copy the deployed files up manually to your remote server. It gets a little wacky if you do builds/compilations after you deployed. You basically want to ensure you have identical versions of all files on both your local machine and the remote machine.
    – The Matt
    Commented Sep 23, 2009 at 16:38
1

Here's a checklist.

Not the answer you're looking for? Browse other questions tagged or ask your own question.