public override async Task<ProcessAnalysisResult> Run()
        {
            ProcessAnalysisResult result = null;

            try
            {
                using (DataTarget target = DataTarget.AttachToProcess((int)_pid, Constants.MAX_ATTACH_TO_PPROCESS_TIMEOUT))
                {
                    if (CheckTargetBitness(target))
                    {
                        Console.WriteLine("Attached To Process Successfully");

                        var clrVer = target.ClrVersions[0];

                        var runtime = clrVer.CreateRuntime();

                        using (ProcessAnalyzer handler = new ProcessAnalyzer(target, runtime, (uint)_pid))
                        {
                            result = await handler.Handle();
                        }
                    }
                }
            }
            catch (ClrDiagnosticsException ex)
            {
                result = SetError(ex.Message);
            }

            return result;
        }
        public override async Task<ProcessAnalysisResult> Run()
        {
            ProcessAnalysisResult result = null;

            if (File.Exists(_filePath))
            {
                try
                {
                    using (DataTarget target = DataTarget.LoadCrashDump(_filePath))
                    {
                        if (CheckTargetBitness(target))
                        {
                            Console.WriteLine("Dump file loaded successfully.");

                            ClrRuntime runtime = target.ClrVersions[0].CreateRuntime();

                            using (ProcessAnalyzer handler = new ProcessAnalyzer(target, runtime, _filePath))
                            {
                                result = await handler.Handle();
                            }
                        }
                    }
                }
                catch (Exception ex)
                {
                    result = SetError(ex.Message);
                }
            }
            else
            {
                result = SetError("File Not Found");
            }

            return result;
        }