当前位置: 首页>>代码示例>>Java>>正文


Java DebugProcessImpl.putUserData方法代码示例

本文整理汇总了Java中com.intellij.debugger.engine.DebugProcessImpl.putUserData方法的典型用法代码示例。如果您正苦于以下问题:Java DebugProcessImpl.putUserData方法的具体用法?Java DebugProcessImpl.putUserData怎么用?Java DebugProcessImpl.putUserData使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在com.intellij.debugger.engine.DebugProcessImpl的用法示例。


在下文中一共展示了DebugProcessImpl.putUserData方法的7个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Java代码示例。

示例1: attachVirtualMachine

import com.intellij.debugger.engine.DebugProcessImpl; //导入方法依赖的package包/类
@Nullable
public RunContentDescriptor attachVirtualMachine(DebugUIEnvironment environment) throws ExecutionException {
  final DebugEnvironment modelEnvironment = environment.getEnvironment();
  final DebuggerSession debuggerSession = DebuggerManagerEx.getInstanceEx(myProject).attachVirtualMachine(modelEnvironment);
  if (debuggerSession == null) {
    return null;
  }

  final DebugProcessImpl debugProcess = debuggerSession.getProcess();
  if (debugProcess.isDetached() || debugProcess.isDetaching()) {
    debuggerSession.dispose();
    return null;
  }
  if (modelEnvironment.isRemote()) {
    // optimization: that way BatchEvaluator will not try to lookup the class file in remote VM
    // which is an expensive operation when executed first time
    debugProcess.putUserData(BatchEvaluator.REMOTE_SESSION_KEY, Boolean.TRUE);
  }

  XDebugSession debugSession =
    XDebuggerManager.getInstance(myProject).startSessionAndShowTab(modelEnvironment.getSessionName(), environment.getReuseContent(), new XDebugProcessStarter() {
      @Override
      @NotNull
      public XDebugProcess start(@NotNull XDebugSession session) {
        return JavaDebugProcess.create(session, debuggerSession);
      }
    });
  return debugSession.getRunContentDescriptor();
}
 
开发者ID:jskierbi,项目名称:intellij-ce-playground,代码行数:30,代码来源:DebuggerPanelsManager.java

示例2: attachVirtualMachine

import com.intellij.debugger.engine.DebugProcessImpl; //导入方法依赖的package包/类
@Nullable
protected RunContentDescriptor attachVirtualMachine(RunProfileState state,
                                                    @NotNull ExecutionEnvironment env,
                                                    RemoteConnection connection,
                                                    boolean pollConnection) throws ExecutionException {
  DebugEnvironment environment = new DefaultDebugEnvironment(env, state, connection, pollConnection);
  final DebuggerSession debuggerSession = DebuggerManagerEx.getInstanceEx(env.getProject()).attachVirtualMachine(environment);
  if (debuggerSession == null) {
    return null;
  }

  final DebugProcessImpl debugProcess = debuggerSession.getProcess();
  if (debugProcess.isDetached() || debugProcess.isDetaching()) {
    debuggerSession.dispose();
    return null;
  }
  if (environment.isRemote()) {
    // optimization: that way BatchEvaluator will not try to lookup the class file in remote VM
    // which is an expensive operation when executed first time
    debugProcess.putUserData(BatchEvaluator.REMOTE_SESSION_KEY, Boolean.TRUE);
  }

  return XDebuggerManager.getInstance(env.getProject()).startSession(env, new XDebugProcessStarter() {
    @Override
    @NotNull
    public XDebugProcess start(@NotNull XDebugSession session) {
      XDebugSessionImpl sessionImpl = (XDebugSessionImpl)session;
      ExecutionResult executionResult = debugProcess.getExecutionResult();
      sessionImpl.addExtraActions(executionResult.getActions());
      if (executionResult instanceof DefaultExecutionResult) {
        sessionImpl.addRestartActions(((DefaultExecutionResult)executionResult).getRestartActions());
        sessionImpl.addExtraStopActions(((DefaultExecutionResult)executionResult).getAdditionalStopActions());
      }
      return JavaDebugProcess.create(session, debuggerSession);
    }
  }).getRunContentDescriptor();
}
 
开发者ID:jskierbi,项目名称:intellij-ce-playground,代码行数:38,代码来源:GenericDebuggerRunner.java

示例3: attachVirtualMachine

import com.intellij.debugger.engine.DebugProcessImpl; //导入方法依赖的package包/类
@Nullable
protected RunContentDescriptor attachVirtualMachine(RunProfileState state,
                                                    @NotNull ExecutionEnvironment env,
                                                    RemoteConnection connection,
                                                    boolean pollConnection) throws ExecutionException {
    DebugEnvironment environment = new DefaultDebugUIEnvironment(env, state, connection, pollConnection).getEnvironment();
    final DebuggerSession debuggerSession = DebuggerManagerEx.getInstanceEx(env.getProject()).attachVirtualMachine(environment);
    if (debuggerSession == null) {
        return null;
    }

    final DebugProcessImpl debugProcess = debuggerSession.getProcess();
    if (debugProcess.isDetached() || debugProcess.isDetaching()) {
        debuggerSession.dispose();
        return null;
    }
    // optimization: that way BatchEvaluator will not try to lookup the class file in remote VM
    // which is an expensive operation when executed first time
    debugProcess.putUserData(BatchEvaluator.REMOTE_SESSION_KEY, Boolean.TRUE);

    return XDebuggerManager.getInstance(env.getProject()).startSession(env, new XDebugProcessStarter() {
        @Override
        @NotNull
        public XDebugProcess start(@NotNull XDebugSession session) {
            XDebugSessionImpl sessionImpl = (XDebugSessionImpl)session;
            ExecutionResult executionResult = debugProcess.getExecutionResult();
            sessionImpl.addExtraActions(executionResult.getActions());
            if (executionResult instanceof DefaultExecutionResult) {
                sessionImpl.addRestartActions(((DefaultExecutionResult)executionResult).getRestartActions());
                sessionImpl.addExtraStopActions(((DefaultExecutionResult)executionResult).getAdditionalStopActions());
            }
            return JavaDebugProcess.create(session, debuggerSession);
        }
    }).getRunContentDescriptor();
}
 
开发者ID:robovm,项目名称:robovm-idea,代码行数:36,代码来源:RoboVmRunner.java

示例4: attachVirtualMachine

import com.intellij.debugger.engine.DebugProcessImpl; //导入方法依赖的package包/类
@Nullable
public RunContentDescriptor attachVirtualMachine(DebugUIEnvironment environment) throws ExecutionException {
  final DebugEnvironment modelEnvironment = environment.getEnvironment();
  final DebuggerSession debuggerSession = DebuggerManagerEx.getInstanceEx(myProject).attachVirtualMachine(modelEnvironment);
  if (debuggerSession == null) {
    return null;
  }

  final DebugProcessImpl debugProcess = debuggerSession.getProcess();
  if (debugProcess.isDetached() || debugProcess.isDetaching()) {
    debuggerSession.dispose();
    return null;
  }
  if (modelEnvironment.isRemote()) {
    // optimization: that way BatchEvaluator will not try to lookup the class file in remote VM
    // which is an expensive operation when executed first time
    debugProcess.putUserData(BatchEvaluator.REMOTE_SESSION_KEY, Boolean.TRUE);
  }

  final DebuggerSessionTab sessionTab = new DebuggerSessionTab(myProject, modelEnvironment.getSessionName(), environment, debuggerSession);
  RunContentDescriptor runContentDescriptor = sessionTab.getRunContentDescriptor();
  RunContentDescriptor reuseContent = environment.getReuseContent();
  if (reuseContent != null) {
    final ProcessHandler prevHandler = reuseContent.getProcessHandler();
    if (prevHandler != null) {
      final DebuggerSessionTab prevSession = mySessionTabs.get(prevHandler);
      if (prevSession != null) {
        sessionTab.reuse(prevSession);
      }
    }
  }
  mySessionTabs.put(runContentDescriptor.getProcessHandler(), sessionTab);
  return runContentDescriptor;
}
 
开发者ID:lshain-android-source,项目名称:tools-idea,代码行数:35,代码来源:DebuggerPanelsManager.java

示例5: attachVirtualMachine

import com.intellij.debugger.engine.DebugProcessImpl; //导入方法依赖的package包/类
@Nullable
public RunContentDescriptor attachVirtualMachine(DebugUIEnvironment environment) throws ExecutionException
{
	final DebugEnvironment modelEnvironment = environment.getEnvironment();
	final DebuggerSession debuggerSession = DebuggerManagerEx.getInstanceEx(myProject).attachVirtualMachine(modelEnvironment);
	if(debuggerSession == null)
	{
		return null;
	}

	final DebugProcessImpl debugProcess = debuggerSession.getProcess();
	if(debugProcess.isDetached() || debugProcess.isDetaching())
	{
		debuggerSession.dispose();
		return null;
	}
	if(modelEnvironment.isRemote())
	{
		// optimization: that way BatchEvaluator will not try to lookup the class file in remote VM
		// which is an expensive operation when executed first time
		debugProcess.putUserData(BatchEvaluator.REMOTE_SESSION_KEY, Boolean.TRUE);
	}

	XDebugSession debugSession = XDebuggerManager.getInstance(myProject).startSessionAndShowTab(modelEnvironment.getSessionName(), environment.getReuseContent(), new XDebugProcessStarter()
	{
		@Override
		@NotNull
		public XDebugProcess start(@NotNull XDebugSession session)
		{
			return JavaDebugProcess.create(session, debuggerSession);
		}
	});
	return debugSession.getRunContentDescriptor();
}
 
开发者ID:consulo,项目名称:consulo-java,代码行数:35,代码来源:DebuggerPanelsManager.java

示例6: putProcessUserData

import com.intellij.debugger.engine.DebugProcessImpl; //导入方法依赖的package包/类
public static <T> void putProcessUserData(@NotNull Key<T> key, @Nullable T value, DebugProcessImpl debugProcess)
{
	debugProcess.putUserData(key, value);
	debugProcess.addDebugProcessListener(new DebugProcessListener()
	{
		@Override
		public void processDetached(DebugProcess process, boolean closedByUser)
		{
			process.putUserData(key, null);
		}
	});
}
 
开发者ID:consulo,项目名称:consulo-java,代码行数:13,代码来源:StackCapturingLineBreakpoint.java

示例7: attachVirtualMachine

import com.intellij.debugger.engine.DebugProcessImpl; //导入方法依赖的package包/类
@Nullable
protected RunContentDescriptor attachVirtualMachine(RunProfileState state, @NotNull ExecutionEnvironment env, RemoteConnection connection, boolean pollConnection) throws ExecutionException
{
	DebugEnvironment environment = new DefaultDebugEnvironment(env, state, connection, pollConnection);
	final DebuggerSession debuggerSession = DebuggerManagerEx.getInstanceEx(env.getProject()).attachVirtualMachine(environment);
	if(debuggerSession == null)
	{
		return null;
	}

	final DebugProcessImpl debugProcess = debuggerSession.getProcess();
	if(debugProcess.isDetached() || debugProcess.isDetaching())
	{
		debuggerSession.dispose();
		return null;
	}
	if(environment.isRemote())
	{
		// optimization: that way BatchEvaluator will not try to lookup the class file in remote VM
		// which is an expensive operation when executed first time
		debugProcess.putUserData(BatchEvaluator.REMOTE_SESSION_KEY, Boolean.TRUE);
	}

	return XDebuggerManager.getInstance(env.getProject()).startSession(env, session ->
	{
		XDebugSessionImpl sessionImpl = (XDebugSessionImpl) session;
		ExecutionResult executionResult = debugProcess.getExecutionResult();
		sessionImpl.addExtraActions(executionResult.getActions());
		if(executionResult instanceof DefaultExecutionResult)
		{
			sessionImpl.addRestartActions(((DefaultExecutionResult) executionResult).getRestartActions());
			sessionImpl.addExtraStopActions(((DefaultExecutionResult) executionResult).getAdditionalStopActions());
		}
		return JavaDebugProcess.create(session, debuggerSession);
	}).getRunContentDescriptor();
}
 
开发者ID:consulo,项目名称:consulo-java,代码行数:37,代码来源:GenericDebuggerRunner.java


注:本文中的com.intellij.debugger.engine.DebugProcessImpl.putUserData方法示例由纯净天空整理自Github/MSDocs等开源代码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。