public Factory(JoinableTaskContext taskContext, GrpcDebuggerFactory lldbDebuggerFactory,
                GrpcListenerFactory lldbListenerFactory,
                GrpcPlatformFactory lldbPlatformFactory,
                GrpcPlatformConnectOptionsFactory lldbPlatformConnectOptionsFactory,
                GrpcPlatformShellCommandFactory lldbPlatformShellCommandFactory,
                ILldbAttachedProgramFactory attachedProgramFactory,
                ActionRecorder actionRecorder,
                ModuleFileLoadMetricsRecorder.Factory moduleFileLoadRecorderFactory,
                LldbExceptionManager.Factory exceptionManagerFactory,
                IFileSystem fileSystem, bool fastExpressionEvaluation,
                IModuleFileFinder moduleFileFinder,
                IDumpModulesProvider dumpModulesProvider,
                IModuleSearchLogHolder moduleSearchLogHolder,
                ISymbolSettingsProvider symbolSettingsProvider,
                CoreAttachWarningDialogUtil warningDialog)
 {
     _taskContext         = taskContext;
     _lldbDebuggerFactory = lldbDebuggerFactory;
     _lldbListenerFactory = lldbListenerFactory;
     _lldbPlatformFactory = lldbPlatformFactory;
     _lldbPlatformConnectOptionsFactory = lldbPlatformConnectOptionsFactory;
     _lldbPlatformShellCommandFactory   = lldbPlatformShellCommandFactory;
     _attachedProgramFactory            = attachedProgramFactory;
     _actionRecorder = actionRecorder;
     _moduleFileLoadRecorderFactory = moduleFileLoadRecorderFactory;
     _exceptionManagerFactory       = exceptionManagerFactory;
     _fileSystem = fileSystem;
     _fastExpressionEvaluation = fastExpressionEvaluation;
     _moduleFileFinder         = moduleFileFinder;
     _dumpModulesProvider      = dumpModulesProvider;
     _moduleSearchLogHolder    = moduleSearchLogHolder;
     _symbolSettingsProvider   = symbolSettingsProvider;
     _warningDialog            = warningDialog;
 }
示例#2
0
 public Factory(CancelableTask.Factory cancelableTaskFactory,
                ActionRecorder actionRecorder,
                ModuleFileLoadMetricsRecorder.Factory moduleFileLoadRecorderFactory,
                ILldbModuleUtil moduleUtil,
                ISymbolSettingsProvider symbolSettingsProvider)
 {
     _cancelableTaskFactory         = cancelableTaskFactory;
     _actionRecorder                = actionRecorder;
     _moduleUtil                    = moduleUtil;
     _symbolSettingsProvider        = symbolSettingsProvider;
     _moduleFileLoadRecorderFactory = moduleFileLoadRecorderFactory;
 }
示例#3
0
        public override ISymbolSettingsProvider GetSymbolSettingsProvider()
        {
            if (_symbolSettingsProvider != null)
            {
                return(_symbolSettingsProvider);
            }

            var  taskContext           = GetJoinableTaskContext();
            var  symbolSettingsManager = Substitute.For <IVsDebuggerSymbolSettingsManager120A>();
            var  debuggerService       = Substitute.For <IVsDebugger2>();
            bool symbolServerEnabled   = GetVsiService().Options.SymbolServerSupport ==
                                         SymbolServerSupport.ENABLED;

            _symbolSettingsProvider = new SymbolSettingsProvider(
                symbolSettingsManager, debuggerService, symbolServerEnabled, taskContext);
            return(_symbolSettingsProvider);
        }
示例#4
0
 DebugModule(CancelableTask.Factory cancelableTaskFactory, ActionRecorder actionRecorder,
             ModuleFileLoadMetricsRecorder.Factory moduleFileLoadRecorderFactory,
             ILldbModuleUtil moduleUtil, IModuleFileLoader moduleFileLoader,
             IModuleSearchLogHolder moduleSearchLogHolder, SbModule lldbModule,
             uint loadOrder, IDebugEngineHandler engineHandler, IGgpDebugProgram program,
             ISymbolSettingsProvider symbolSettingsProvider)
 {
     _cancelableTaskFactory         = cancelableTaskFactory;
     _actionRecorder                = actionRecorder;
     _moduleFileLoadRecorderFactory = moduleFileLoadRecorderFactory;
     _moduleUtil            = moduleUtil;
     _moduleFileLoader      = moduleFileLoader;
     _moduleSearchLogHolder = moduleSearchLogHolder;
     _lldbModule            = lldbModule;
     _loadOrder             = loadOrder;
     _engineHandler         = engineHandler;
     _program = program;
     _symbolSettingsProvider = symbolSettingsProvider;
 }
        public virtual ISymbolSettingsProvider GetSymbolSettingsProvider()
        {
            GetJoinableTaskContext().ThrowIfNotOnMainThread();

            if (_symbolSettingsProvider == null)
            {
                var symbolManager = CreateServiceManager().GetGlobalService(
                    typeof(SVsShellDebugger)) as IVsDebuggerSymbolSettingsManager120A;

                var symbolServerEnabled =
                    GetVsiService().Options.SymbolServerSupport == SymbolServerSupport.ENABLED;

                var debuggerService =
                    (IVsDebugger2) new ServiceManager().GetGlobalService(typeof(SVsShellDebugger));

                _symbolSettingsProvider = new SymbolSettingsProvider(
                    symbolManager, debuggerService, symbolServerEnabled, GetJoinableTaskContext());
            }

            return(_symbolSettingsProvider);
        }
 public DebugSessionLauncher(
     JoinableTaskContext taskContext, GrpcDebuggerFactory lldbDebuggerFactory,
     GrpcListenerFactory lldbListenerFactory, GrpcPlatformFactory lldbPlatformFactory,
     GrpcPlatformConnectOptionsFactory lldbPlatformConnectOptionsFactory,
     GrpcPlatformShellCommandFactory lldbPlatformShellCommandFactory,
     ILldbAttachedProgramFactory attachedProgramFactory, IDebugEngine3 debugEngine,
     LaunchOption launchOption, ActionRecorder actionRecorder,
     ModuleFileLoadMetricsRecorder.Factory moduleFileLoadRecorderFactory,
     string coreFilePath, string executableFileName, string executableFullPath,
     LldbExceptionManager.Factory exceptionManagerFactory, IFileSystem fileSystem,
     bool fastExpressionEvaluation, IModuleFileFinder moduleFileFinder,
     IDumpModulesProvider dumpModulesProvider, IModuleSearchLogHolder moduleSearchLogHolder,
     ISymbolSettingsProvider symbolSettingsProvider,
     CoreAttachWarningDialogUtil warningDialog, IVsiGameLaunch gameLaunch)
 {
     _taskContext         = taskContext;
     _lldbDebuggerFactory = lldbDebuggerFactory;
     _lldbListenerFactory = lldbListenerFactory;
     _lldbPlatformFactory = lldbPlatformFactory;
     _lldbPlatformConnectOptionsFactory = lldbPlatformConnectOptionsFactory;
     _lldbPlatformShellCommandFactory   = lldbPlatformShellCommandFactory;
     _attachedProgramFactory            = attachedProgramFactory;
     _debugEngine             = debugEngine;
     _exceptionManagerFactory = exceptionManagerFactory;
     _fileSystem = fileSystem;
     _fastExpressionEvaluation      = fastExpressionEvaluation;
     _launchOption                  = launchOption;
     _actionRecorder                = actionRecorder;
     _moduleFileLoadRecorderFactory = moduleFileLoadRecorderFactory;
     _coreFilePath                  = coreFilePath;
     _executableFileName            = executableFileName;
     _executableFullPath            = executableFullPath;
     _moduleFileFinder              = moduleFileFinder;
     _dumpModulesProvider           = dumpModulesProvider;
     _moduleSearchLogHolder         = moduleSearchLogHolder;
     _symbolSettingsProvider        = symbolSettingsProvider;
     _warningDialog                 = warningDialog;
     _gameLaunch = gameLaunch;
 }
示例#7
0
        public void SetUp()
        {
            _mockCancelableTaskFactory = Substitute.For <CancelableTask.Factory>();
            _mockModuleUtil            = Substitute.For <ILldbModuleUtil>();
            _mockModuleUtil.HasSymbolsLoaded(Arg.Any <SbModule>()).Returns(false);
            _mockModuleFileLoader      = Substitute.For <IModuleFileLoader>();
            _mockModuleSearchLogHolder = Substitute.For <IModuleSearchLogHolder>();
            _mockModule         = Substitute.For <SbModule>();
            _mockActionRecorder = Substitute.For <ActionRecorder>(null, null);
            var mockModuleFileLoadRecorderFactory =
                Substitute.For <ModuleFileLoadMetricsRecorder.Factory>();

            _mockEngineHandler          = Substitute.For <IDebugEngineHandler>();
            _mockDebugProgram           = Substitute.For <IGgpDebugProgram>();
            _mockSymbolSettingsProvider = Substitute.For <ISymbolSettingsProvider>();
            _debugModule =
                new DebugModule
                .Factory(_mockCancelableTaskFactory, _mockActionRecorder,
                         mockModuleFileLoadRecorderFactory, _mockModuleUtil,
                         _mockSymbolSettingsProvider)
                .Create(_mockModuleFileLoader, _mockModuleSearchLogHolder, _mockModule,
                        _testLoadOrder, _mockEngineHandler, _mockDebugProgram);
        }