{"id":15134868,"url":"https://github.com/jetbrains/teamcity-symbol-server","last_synced_at":"2025-10-19T14:32:46.571Z","repository":{"id":65982695,"uuid":"59834447","full_name":"JetBrains/teamcity-symbol-server","owner":"JetBrains","description":"TeamCity Symbol Server plugin","archived":false,"fork":false,"pushed_at":"2024-07-11T09:15:41.000Z","size":9303,"stargazers_count":24,"open_issues_count":8,"forks_count":20,"subscribers_count":14,"default_branch":"master","last_synced_at":"2025-01-30T02:02:22.344Z","etag":null,"topics":["pdb","symbols","teamcity","teamcity-plugin"],"latest_commit_sha":null,"homepage":null,"language":"Java","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"apache-2.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/JetBrains.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2016-05-27T12:57:33.000Z","updated_at":"2025-01-25T23:15:23.000Z","dependencies_parsed_at":"2024-07-11T10:43:29.078Z","dependency_job_id":"6112a940-9765-4af3-a3ec-b19809f55c61","html_url":"https://github.com/JetBrains/teamcity-symbol-server","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/JetBrains%2Fteamcity-symbol-server","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/JetBrains%2Fteamcity-symbol-server/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/JetBrains%2Fteamcity-symbol-server/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/JetBrains%2Fteamcity-symbol-server/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/JetBrains","download_url":"https://codeload.github.com/JetBrains/teamcity-symbol-server/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":237152878,"owners_count":19263798,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["pdb","symbols","teamcity","teamcity-plugin"],"created_at":"2024-09-26T05:40:22.888Z","updated_at":"2025-10-19T14:32:46.153Z","avatar_url":"https://github.com/JetBrains.png","language":"Java","funding_links":[],"categories":[],"sub_categories":[],"readme":"# TeamCity Symbol Server plugin\n\n[![official JetBrains project](http://jb.gg/badges/official.svg)](https://confluence.jetbrains.com/display/ALL/JetBrains+on+GitHub)\n[![License](https://img.shields.io/badge/License-Apache%202.0-blue.svg)](https://opensource.org/licenses/Apache-2.0)\n[![build status](https://teamcity.jetbrains.com/app/rest/builds/buildType:(id:TeamCityPluginsByJetBrains_SymbolServer_BuildTrunk)/statusIcon.svg)](https://teamcity.jetbrains.com/viewType.html?buildTypeId=TeamCityPluginsByJetBrains_SymbolServer_BuildTrunk\u0026guest=1)\n\nAllows using TeamCity as a symbol and source server.\n\n## Features\n\n* [Symbol server](https://docs.microsoft.com/en-us/windows/desktop/Debug/symbol-servers-and-symbol-stores)\n* [Source Server](https://docs.microsoft.com/en-us/windows/desktop/Debug/source-server-and-source-indexing)\n\n## Download\n\nYou can [download the plugin](https://plugins.jetbrains.com/plugin/9123-symbol-server) and install it as [an additional TeamCity plugin](https://confluence.jetbrains.com/display/TCDL/Installing+Additional+Plugins) for TeamCity 10.0+.\n\n## Requirements\n\nOn the build agents should installed:\n* [.NET Framework 4.0+](https://www.microsoft.com/net/download/dotnet-framework-runtime)\n* [Debugging tools for Windows](https://docs.microsoft.com/en-us/windows-hardware/drivers/debugger/index)\n\n## Reported agent configuration parameters\n\nDuring initialization this plugin reports the following agent configuration parameters:\n\n* `WinDbg_Path` - is a path to Debugging tools for Windows.\n\n## Usage\n\nTeamCity as a symbol server should be referenced by the following URL `\u003cTEAMCITY_SERVER_URL\u003e/app/symbols`. The exact URL is available on the \u003cb\u003eAdministration | Integrations | Symbol Server\u003c/b\u003e page.\n\nTo enable symbols and sources indexing, add the \u003cb\u003eSymbol Files Indexer\u003c/b\u003e [build feature](https://confluence.jetbrains.com/display/TCDL/Adding+Build+Features) to the build configuration. After that all PDB files published as build artifacts of this configuration and all related sources will be indexed. The PDB files packed via TeamCity [artifact publishing rules](https://confluence.jetbrains.com/display/TCDL/Configuring+General+Settings#ConfiguringGeneralSettings-artifactPaths) will be handled correctly.\n\n\u003e For step-by-step instruction, see a related TeamCity [blog post](https://blog.jetbrains.com/teamcity/2015/02/setting-up-teamcity-as-symbol-and-source-server/).\n\n### Authentication/Authorization\n\nThe indexed data can be accessed in both modes: public (not requiring authorization) and authorized. The plugin uses standard authentication settings provided by the TeamCity server.\n\nThe following permissions are checked:\n\n* `View build runtime parameters and data` - while accessing symbols,\n* `View VCS file content` - while accessing sources.\n\nThese are the default permissions of [Project Developers](https://confluence.jetbrains.com/display/TCD18/Role+and+Permission).\n\nIf you are using the public URL to access symbols, you need to enable the [Guest user login](http://confluence.jetbrains.com/display/TCDL/Guest+User) and [assign](https://confluence.jetbrains.com/display/TCDL/Managing+Users+and+User+Groups#ManagingUsersandUserGroups-assigningRolesAssigningRolestoUsers) the project developer role to the Guest to the Developers group.\n\nWhen logging into TeamCity as a guest user, the corresponding permissions are checked to grant anonymous access to symbols and sources. If the guest user permissions are insufficient, all enabled HTTP [authentication modules](https://confluence.jetbrains.com/display/TCDL/Authentication+Modules) are applied and the user will be asked for credentials.\n\nThe access mode can be configured globally or on a project-level. Also, different access modes can be specified for the symbols and sources.\n\n### Using in docker containers\n\nTo use symbol indexing in build agents started from docker agent images you need to [build a derrived image](https://docs.docker.com/engine/reference/commandline/build/) like that:\n\n```dockerfile\nFROM jetbrains/teamcity-agent:latest-windowsservercore\n\n# Install Windows SDK\nRUN Invoke-WebRequest https://download.microsoft.com/download/5/A/0/5A08CEF4-3EC9-494A-9578-AB687E716C12/windowssdk/winsdksetup.exe?ocid=wdgcx1803-download-installer -OutFile winsdksetup.exe; \\\n    Start-Process winsdksetup.exe -Wait -ArgumentList /features + /q ; \\\n    Remove-Item -Force winsdksetup.exe\n```\n\n### Overriding source server paths\n\nIf the URL of your Teamcity server changes, source indexing will not work for old builds because the old PDB files will still be referencing the old Teamcity URL.  To fix this, you can override the Teamcity source path using the [srcsrv.ini file](https://docs.microsoft.com/en-us/windows-hardware/drivers/debugger/the-srcsrv-ini-file#using_a_different_location_or_file_name).  In the `[variables]` section, set `TEAMCITY_BASE_PATH` to the sources path of the new Teamcity server.  For example:\n\n```ini\n[variables]\nTEAMCITY_BASE_PATH=https://new_teamcity.example.com/app/sources\n```\n\n## Common Problems\n\n### Failed to find Source Server tools home directory\nPlease ensure that [Debugging tools for Windows](https://docs.microsoft.com/en-us/windows-hardware/drivers/debugger/index) were installed on the build agent.\n\n### Unable to view symbols in IDE\n\n* Ensure that required PDB file was indexed during the build by navigating to the [hidden TeamCity build artifacts](https://confluence.jetbrains.com/display/TCDL/Build+Artifact#BuildArtifact-HiddenArtifacts) and inspect the xml files under `./teamcity/symbols/` directory. In the xml file `sign` attribute contains file signature and `file` atttribute contains file name.\n* Navigate in your browser to the page `http://%teamcity%/app/symbols/%pdbFileName%/%fileSignature%/%pdbFileName%` and check that pdb file was downloaded.\n* Ensure that IDE use correct credentials to access TeamCity server. Normally VS uses Windows Credentials Manager to get and store credentials. Failed authentication attemps are logged in the `teamcity-auth.log` [server log file](https://confluence.jetbrains.com/display/TCDL/TeamCity+Server+Logs).\n\n## Build\n\nThis project uses gradle as a build system. You can easily open it in [IntelliJ IDEA](https://www.jetbrains.com/idea/help/importing-project-from-gradle-model.html) or [Eclipse](http://gradle.org/eclipse/).\n\n## Contributions\n\nWe appreciate all kinds of feedback, so please feel free to send a PR or file an issue in the [TeamCity tracker](https://youtrack.jetbrains.com/newIssue?project=TW\u0026summary=Symbol%20Server%3A\u0026c=Subsystem%20plugins%3A%20other\u0026c=tag%20pdb).\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fjetbrains%2Fteamcity-symbol-server","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fjetbrains%2Fteamcity-symbol-server","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fjetbrains%2Fteamcity-symbol-server/lists"}