private static ThreadDumpParameters TryParseThreadDumpParameters()

in src/Program.cs [149:170]


        private static ThreadDumpParameters TryParseThreadDumpParameters(string[] args, int pid, string threadDumpDir)
        {
            var parameters = new ThreadDumpParameters(pid, threadDumpDir);
            foreach (var arg in args)
            {
                if (TryParseFlag(arg, NoSuspend) && parameters.Suspend)
                {
                    parameters.Suspend = false;
                }
                else if (TryParseTimeout(arg, out var timeoutMs) && parameters.TimeoutMs == null)
                {
                    parameters.TimeoutMs = timeoutMs;
                }
                else if (TryParseFlag(arg, CreateSnapshotAndAttach) && !parameters.CreateSnapshotAndAttach && RuntimeInformation.IsOSPlatform(OSPlatform.Windows))
                {
                    parameters.CreateSnapshotAndAttach = true;
                }
                else return null;
            }

            return parameters;
        }