Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Fix source indexing to enable source debugging for official builds. #5669

Merged
merged 4 commits into from
Aug 12, 2021

Conversation

kmahone
Copy link
Member

@kmahone kmahone commented Aug 12, 2021

Fixes #5577

There are two methods that can be used to enable pdbs to find matching source code: SourceLink and Source Server. WinUI supports both. For Microsoft.UI.Xaml 2.6 both of these were broken in different ways.

SourceLink was generating invalid urls due to the build being run from an Azure DevOps fork of this repo instead of directly from GitHub. This should be resolved in the next release of 2.6.

For Source Server support we have a script, IndexPDBs.ps1, that writes the required file url mapping into the pdb using tools from the Windows Debugging Tools (pdbstr.exe, srctool.exe). However, this script stopped working when using the internal SDK which we use for official builds of WinUI. The internal SDK installs a more recent version of these tools, which fail silently when run in the Pipeline. I have not been able to reproduce the issue locally when using these tools. It only seems to happen when run in the Pipeline. So the solution is to not install the updated Windows Debugging Tools from this SDK and instead only install the specific SDK components that we need to build.

In addition to making this fix, I have updated IndexPDBs.ps1 with some extra logging to aid in debugging.

@ghost ghost added the needs-triage Issue needs to be triaged by the area owners label Aug 12, 2021
@kmahone
Copy link
Member Author

kmahone commented Aug 12, 2021

/azp run

@azure-pipelines
Copy link

Azure Pipelines successfully started running 1 pipeline(s).

@kmahone kmahone merged commit 3ec89e9 into main Aug 12, 2021
@kmahone kmahone deleted the user/kmahone/srcsrv2 branch August 12, 2021 20:16
@StephenLPeters StephenLPeters added area-DevInternal Internal build infrastructure, code cleanup, engineering efficiency team-Controls Issue for the Controls team and removed needs-triage Issue needs to be triaged by the area owners labels Aug 12, 2021
@ranjeshj ranjeshj added the needs-cherrypicktorelease PR tagged for cherry-pick to the current release branch (but not yet picked) label Aug 13, 2021
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
area-DevInternal Internal build infrastructure, code cleanup, engineering efficiency needs-cherrypicktorelease PR tagged for cherry-pick to the current release branch (but not yet picked) team-Controls Issue for the Controls team
Projects
None yet
Development

Successfully merging this pull request may close these issues.

Sourcelink not pointing to GitHub?
4 participants