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

XUnitLogChecker: Ensure missing stack frames are resolved on Windows using dotnet-sos #98397

Merged
merged 8 commits into from
Feb 27, 2024
13 changes: 12 additions & 1 deletion src/libraries/sendtohelixhelp.proj
Original file line number Diff line number Diff line change
Expand Up @@ -240,9 +240,20 @@
</ItemGroup>
</Target>

<!-- XUnitLogChecker required configuration -->
<ItemGroup Condition="Exists('$(XUnitLogCheckerLibrariesOutDir)')">
<HelixCorrelationPayload Include="$(XUnitLogCheckerLibrariesOutDir)" />
</ItemGroup>
<HelixCorrelationPayload Condition="'$(WindowsShell)' == 'true'" Include="dotnet-sos">
<Destination>sos</Destination>
<Uri>https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-tools/nuget/v3/flat2/dotnet-sos/$(DotnetSosVersion)/dotnet-sos.$(DotnetSosVersion).nupkg</Uri>
</HelixCorrelationPayload>
</ItemGroup>

<PropertyGroup Condition="'$(TargetOS)' == 'windows'">
<NtSymbolPathEnvVar>set _NT_SYMBOL_PATH=%25HELIX_CORRELATION_PAYLOAD%25%3B%25HELIX_CORRELATION_PAYLOAD%25\PDB%3B%25HELIX_CORRELATION_PAYLOAD%25\shared\$(MicrosoftNetCoreAppFrameworkName)\$(ProductVersion)</NtSymbolPathEnvVar>
<ExecuteDotNetSos>%25HELIX_CORRELATION_PAYLOAD%25\dotnet %25HELIX_CORRELATION_PAYLOAD%25\sos\tools\net$(DotnetSosTargetFrameworkVersion)\any\dotnet-sos.dll install --architecture $(TargetArchitecture)</ExecuteDotNetSos>
<HelixPreCommands>$(HelixPreCommands);$(NtSymbolPathEnvVar);$(ExecuteDotNetSos)</HelixPreCommands>
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

If it works, LGTM. Otherwise use %3B to escape the ;

Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@hoyosjs In line 255? No, in that specific case I do want to use the real behavior of ; so that each property value gets printed in a separate line.

In line 253 I did use %3B, as it was necessary to ensure the different values were all in the same line when setting the env var.

I also made sure to escape all the % to %25 in 253 and 254.

</PropertyGroup>

<!--
Create all the Helix data to start a set of jobs. Create a set of work items, one for each libraries
Expand Down
Loading