Symbol Server the source file paths in PDB don't resolve

I have configured Team City to act as a Symbol Server following the blog: http://blog.jetbrains.com/teamcity/2015/02/setting-up-teamcity-as-symbol-and-source-server/

My application is deployed, along with it's PDB files.

When I Debug this running application (I attach VS using the "Remote Debugger") , Visual Studio correctly uses Team City to obtain the symbol files on the fly.

However when I set a break point in my application - it tells me no symbols are loaded for the current source file.

On further inspection, if I inspect the Symbols that have been loaded from Team City, they contain source file paths like so:

"C:\TeamCity\buildAgent\work\fb2a8891267e7d5\SomeApp\SomeProj\MyFile.cs"

This seems like it could be the issue to me - shouldn't this path point to a Team City URL or something for obtaining the source file?

I am using a failry primitive application ti inspect the PDB file: http://www.codeproject.com/Articles/37456/How-To-Inspect-the-Content-of-a-Program-Database-P

Any help would be greatly appreicated!

7 comments
Comment actions Permalink

I can confirm this happening to my PDB files as well.

I'd expect the PDB files referencing source files from the VCS source defined by the TeamCity build configuration.

Could you solve this in the meantime?

0
Comment actions Permalink

Hi Darell, Christian
Please check what version of pdb file do you have on developer machine? Looks like you've resolved not-modified one. Maybe you use nuget package to publish your pdb's from TeamCity build, do you?

0
Comment actions Permalink

Hi Evgeniy,

yes that was the reason. I am using NuGet Pack. But how can I use NuGet Pack and Source Indexing?

Also it would be interesting where the source is stored by TeamCity.

0
Comment actions Permalink

As a workaround you can publish pdb's once again via TeamCity build artifacts feature. Please also watch for this issue in our tracker.
As for sources - it depends on VCS. e.g for Git we clone repo with working copy to get content of versioned files, for SVN we use remote call to SVN server.

0
Comment actions Permalink

Ok, thank you very much.

I am using Mercurial. So on source code request by Visual Studio TeamCity is doing a clone of the Mercurial repository with the credentials stored at the Build Configuratios VCS root?

0
Comment actions Permalink

TeamCity cloned hg repo at the very beginning. It is used to collect changes in build configuration, So when VS called TeamCity REST API to get sources all the data is already fetched to local clone.

0
Comment actions Permalink

But it's done this way when the TeamCity-local working directory does not exist anymore?

0

Please sign in to leave a comment.