You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
The `ProcessInfo2` command queries the runtime for some basic information about the process. The returned payload has the same information as that of the `ProcessInfo` command in addition to the managed entrypoint assembly name and CLR product version.
799
+
800
+
In the event of an [error](#Errors), the runtime will attempt to send an error message and subsequently close the connection.
801
+
802
+
#### Inputs:
803
+
804
+
Header: `{ Magic; Size; 0x0402; 0x0000 }`
805
+
806
+
There is no payload.
807
+
808
+
#### Returns (as an IPC Message Payload):
809
+
810
+
Header: `{ Magic; size; 0xFF00; 0x0000; }`
811
+
812
+
Payload:
813
+
*`int64 processId`: the process id in the process's PID-space
814
+
*`GUID runtimeCookie`: a 128-bit GUID that should be unique across PID-spaces
815
+
*`string commandLine`: the command line that invoked the process
816
+
* Windows: will be the same as the output of `GetCommandLineW`
817
+
* Non-Windows: will be the fully qualified path of the executable in `argv[0]` followed by all arguments as the appear in `argv` separated by spaces, i.e., `/full/path/to/argv[0] argv[1] argv[2] ...`
818
+
*`string OS`: the operating system that the process is running on
819
+
* macOS => `"macOS"`
820
+
* Windows => `"Windows"`
821
+
* Linux => `"Linux"`
822
+
* other => `"Unknown"`
823
+
*`string arch`: the architecture of the process
824
+
* 32-bit => `"x86"`
825
+
* 64-bit => `"x64"`
826
+
* ARM32 => `"arm32"`
827
+
* ARM64 => `"arm64"`
828
+
* Other => `"Unknown"`
829
+
*`string managedEntrypointAssemblyName`: the assembly name from the assembly identity of the entrypoint assembly of the process. This is the same value that is returned from executing `System.Reflection.Assembly.GetEntryAssembly().GetName().Name` in the target process.
830
+
*`string clrProductVersion`: the product version of the CLR of the process; may contain prerelease label information e.g. `6.0.0-preview.6.#####`
831
+
832
+
##### Details:
833
+
834
+
Returns:
835
+
```c++
836
+
structPayload
837
+
{
838
+
uint64_t ProcessId;
839
+
LPCWSTR CommandLine;
840
+
LPCWSTR OS;
841
+
LPCWSTR Arch;
842
+
GUID RuntimeCookie;
843
+
LPCWSTR ManagedEntrypointAssemblyName;
844
+
LPCWSTR ClrProductVersion;
845
+
}
846
+
```
847
+
790
848
## Errors
791
849
792
850
In the event an error occurs in the handling of an Ipc Message, the Diagnostic Server will attempt to send an Ipc Message encoding the error and subsequently close the connection. The connection will be closed **regardless** of the success of sending the error message. The Client is expected to be resilient in the event of a connection being abruptly closed.
#### 8. Set an ICorProfiler to be used as the startup profiler
234
235
236
+
This sample shows how to request that the runtime use an ICorProfiler as the startup profiler (not as an attaching profiler). It is only valid to issue this command while the runtime is paused in "reverse server" mode.
0 commit comments