protected override CLRTypeDebugInfo CreateDebugInfo(CorDebugStartDebuggingOptions options) { var dncOptions = (DotNetStartDebuggingOptions)options; string?hostFilename; if (!dncOptions.UseHost) { hostFilename = null; } else if (string.IsNullOrWhiteSpace(dncOptions.Host)) { hostFilename = DotNetHelpers.GetPathToDotNetExeHost(Bitness); if (!File.Exists(hostFilename)) { throw new Exception(string.Format(dnSpy_Debugger_DotNet_CorDebug_Resources.Error_CouldNotFindDotNetCoreHost, DotNetHelpers.DotNetExeName)); } } else { hostFilename = dncOptions.Host; } var hostCommandLine = dncOptions.HostArguments ?? string.Empty; return(new CoreCLRTypeDebugInfo(GetDbgShimAndVerify(), hostFilename, hostCommandLine)); }
string?GetPathToDotNetExeHost() => DotNetHelpers.GetPathToDotNetExeHost(IntPtr.Size * 8);