[release/8.0-staging] Store entry assembly path for easy access for diagnostics#95045
Conversation
- Add `g_EntryAssemblyPath` global variable holding the full path to the entry assembly - Set right before loading the entry assembly (so also before startup hooks are run) - NULL if there is no entry assembly - Ensure value is included dumps - For triage dumps, the dumped value is updated to only be the assembly file name instead of the full path
|
Tagging subscribers to this area: @vitek-karas, @agocke, @VSadov Issue Details
Port of #95027 Customer ImpactThe entry assembly is currently not exposed in a way that is easy to access for diagnostics - for example, crash dumps. This means that for an application started via the dotnet executable ( TestingManual validation that dumps created contain expected information: RiskLow. This is a small change that adds a global variable and ensures it is enumerated for dumps.
|
|
/backport to release/7.0-staging |
|
Started backporting to release/7.0-staging: https://github.com/dotnet/runtime/actions/runs/6938037825 |
|
/backport to release/6.0-staging |
|
Started backporting to release/6.0-staging: https://github.com/dotnet/runtime/actions/runs/6938052768 |
jeffschwMSFT
left a comment
There was a problem hiding this comment.
approved. we will take for consideration in 8.0.x
|
Tagging subscribers to this area: @vitek-karas, @agocke, @VSadov Issue Details
Port of #95027 Customer ImpactThe entry assembly is currently not exposed in a way that is easy to access for diagnostics - for example, crash dumps. This means that for an application started via the dotnet executable ( See #94474 TestingManual validation that dumps created contain expected information: RiskLow. This is a small change that adds a global variable and ensures it is enumerated for dumps.
|
g_EntryAssemblyPathglobal variable holding the full path to the entry assemblyPort of #95027
Customer Impact
The entry assembly is currently not exposed in a way that is easy to access for diagnostics - for example, crash dumps. This means that for an application started via the dotnet executable (
dotnet app.dll), there isn't a good way to determine the managed assembly from a dump - particularly so for a non-heap dump.See #94474
Testing
Manual validation that dumps created contain expected information:
Risk
Low. This is a small change that adds a global variable and ensures it is enumerated for dumps.