Team City builds with symbols?
Answered
Please ignore my ignorance, but until this morning I thought TeamCity might be some sports team...
The problem we're facing is that we need to investigate some Worker Role hang and do not have the .PDB symbols. From having done some searches on the topic, it appears that it is not possible to set up Team City to package the .PDB files along with the executables, but we will need to use the plugin and grab the symbols from the symbol server. Is this correct please? It appears that for the time being we can copy the .PDBs from the Team City build agent, but would like to have an easier solution for the future.
Thanks very much!
Please sign in to leave a comment.
Hello, Eugene
How exactly have you installed debugging tools? Please try to use Windows SDK 8.1 installer. That should work.
Hi Eugen,
You can set up the build configuration through the General Settings tab so that once TeamCity has run the build, it publishes any generated files you define as artifacts, be it executables, pdb files or even text files, and can even package them in a compressed archive if you want. Those artifacts would then be available for download via the Web UI, or for further automation in other builds through artifact dependencies. More information here:
https://confluence.jetbrains.com/display/TCD10/Build+Artifact
This blog post has information on how to use the plugin to make TeamCity run as a Symbol server so you can use the files directly from Visual Studio without having to move them manually:
https://blog.jetbrains.com/teamcity/2015/02/setting-up-teamcity-as-symbol-and-source-server/
If this misses a point of your question, it would be useful to know exactly what you want to do with them after being generated.
Thanks very much for your precise response! As I'm getting my head around this issue, I've noticed that our builds are set up to create only hidden artifacts - they go to .zip files in Dropbox. Will this fact interfere with setting up TeamCity as symbol and source server?
As long as they aren't explicitly set up not to create symbols you would require, then it shouldn't interfere. If you have any particular issue, please feel free to specify it.
Thanks again! I guess that if I stay on the current route of having .PDBs in individual release .ZIP files in Dropbox, I'll have to manually dig out which .PDBs match which running/failing executable, right?
Just to make sure I'm doing things right, the Symbol Server plugin needs to be installed onto the TeamCity Server only and not on any of the Build Agents, right?
You should install the plugin on the server, yes. Regarding your PDBs questions, that's definitely an option, but it should be easy to tune the build configuration to post the PDB file/s as artifact/s, so you could download directly the PDBs for each build, even without using the plugin.
Thanks again! I configured Team City to create the .EXE, *.DLL and *.PDB artifacts. I installed the latest TeamCity 10.0.x Symbol Server plugin (ver. 10.0.4) + installed the Debugging Tools for Windows on both agents. I added "Symbol Files Indexer" to "Build Features".
The indexing does not happen. The second line of the build log says "Failed to find Source Server tools home directory. No symbol and source indexing will be performed." What's also strange is that on the Administration -> Integrations -> Symbol Server tab I do not see any option to enable the plugin.
Can anyone please instruct on what do I need to do next to have this issue sorted out?
Thanks very much Evgeniy Koshkin, that fixed the issue. There were 8.0 -> 10 Windows Kits installed on the Build Agents, I installed the latest 8.1 debuggers and indexing works now.