Uh oh!
There was an error while loading. Please reload this page.
EventPipe support for ProcessInfo - #87562
Conversation
ghost
commented
Jun 14, 2023
Tagging subscribers to this area: @tommcdon Issue DetailsMissing process information - work by @elinor-fung to support
|
ghost
commented
Jun 14, 2023
Tagging subscribers to this area: @agocke, @MichalStrehovsky, @jkotas Issue DetailsMissing process information - work by @elinor-fung to support
|
Uh oh!
There was an error while loading. Please reload this page.
Uh oh!
There was an error while loading. Please reload this page.
Uh oh!
There was an error while loading. Please reload this page.
Uh oh!
There was an error while loading. Please reload this page.
Uh oh!
There was an error while loading. Please reload this page.
| if (PalInterlockedCompareExchangePointer((void**)(&entrypoint_assembly_name), (void*)(entrypoint_assembly_name_local), nullptr) != nullptr) | ||
| delete[] entrypoint_assembly_name_local; | ||
| } | ||
| return reinterpret_cast<const char*>(entrypoint_assembly_name); |
There was a problem hiding this comment.
Is always returning the process name (minus extension) what we want? So if someone renames the executable or if someone uses a nativeaot library, they would get the name of the process which would not match the assembly.
There was a problem hiding this comment.
I think for the first iteration, using the process name without extension is fine. We can enhance if user feedback requests this.
Uh oh!
There was an error while loading. Please reload this page.
Uh oh!
There was an error while loading. Please reload this page.
Uh oh!
There was an error while loading. Please reload this page.
Uh oh!
There was an error while loading. Please reload this page.
Uh oh!
There was an error while loading. Please reload this page.
Uh oh!
There was an error while loading. Please reload this page.
Uh oh!
There was an error while loading. Please reload this page.
Uh oh!
There was an error while loading. Please reload this page.
Uh oh!
There was an error while loading. Please reload this page.
Uh oh!
There was an error while loading. Please reload this page.
Uh oh!
There was an error while loading. Please reload this page.
| const wchar_t* process_name_const = wcsrchr(wszModuleFileName, DIRECTORY_SEPARATOR_CHAR); | ||
| if (process_name_const != NULL) { | ||
| process_name_const++; | ||
| } | ||
| size_t len = -1; | ||
| const wchar_t* extension = wcsrchr(process_name_const, '.'); | ||
| if (extension != NULL) { | ||
| len = extension - process_name_const; | ||
| } |
There was a problem hiding this comment.
You could define something like _tcslen / _tcsrchr based on the platform and then share this logic for finding the start of the name and its length.
Uh oh!
There was an error while loading. Please reload this page.
Uh oh!
There was an error while loading. Please reload this page.
Uh oh!
There was an error while loading. Please reload this page.
Uh oh!
There was an error while loading. Please reload this page.
Missing process information - work by @elinor-fung to support
commandLineand addedmanagedEntrypointAssemblyName. Enabled the existing diagnostic tests related to this.