Implement support for Source Server
Implement Source Server Support within GitLab. Source server enables a client to retrieve the exact version of the source files that were used to build an executable/dll. Source server retrieves the appropriate files from source control.
Links / references
Source Server allows developers writing C# and/or C/C++ to easily manage debugging over an applications lifecycle
- many packages (as is the case of microservices architecture).
- diagnosing crash dumps.
Generally, binaries are source indexed during the build process after the application has been built. The information needed by source server is stored in the PDB files.
The benefit is that the user now no longer needs to reset their HEAD to the tag/branch that the crash dump came from, it will automatically be identified using the Source Server and retrieved from Source Control and loaded within Visual Studio. In the case of packages (which are stored in multiple repositories), one can simply load the crash dump, Visual Studio will retrieve the PDBs from a Symbol Server and the PDBs will contain the information on where to find the Source Code (GitLab Source Server implementation). This also means that a developer might not need to have the repository cloned on the machine at all to be able to debug.
Make sure these are completed before closing the issue, with a link to the relevant commit.