コード例 #1
0
        public void BasicProcessInfoTest()
        {
            using TestRunner runner = new TestRunner(CommonHelper.GetTraceePathWithArgs(targetFramework: "net5.0"), output);
            runner.Start();

            try
            {
                DiagnosticsClient client = new DiagnosticsClient(runner.Pid);

                ProcessInfo processInfo = client.GetProcessInfo();

                Assert.NotNull(processInfo);
                Assert.Equal(runner.Pid, (int)processInfo.ProcessId);
                Assert.NotNull(processInfo.CommandLine);
                Assert.NotNull(processInfo.OperatingSystem);
                Assert.NotNull(processInfo.ProcessArchitecture);
                //Assert.Equal("Tracee", processInfo.ManagedEntrypointAssemblyName);
                //Version clrVersion = ParseVersionRemoveLabel(processInfo.ClrProductVersionString);
                //Assert.True(clrVersion >= new Version(6, 0, 0));
            }
            finally
            {
                runner.PrintStatus();
            }
        }
コード例 #2
0
 public async Task<ProcessInfo> GetProcessInfo(TimeSpan timeout)
 {
     if (_useAsync)
     {
         using CancellationTokenSource cancellation = new CancellationTokenSource(timeout);
         return await _client.GetProcessInfoAsync(cancellation.Token).ConfigureAwait(false);
     }
     else
     {
         return _client.GetProcessInfo();
     }
 }