• 设为首页
  • 点击收藏
  • 手机版
    手机扫一扫访问
    迪恩网络手机版
  • 关注官方公众号
    微信扫一扫关注
    迪恩网络公众号

Java DebuggerException类代码示例

原作者: [db:作者] 来自: [db:来源] 收藏 邀请

本文整理汇总了Java中sun.jvm.hotspot.debugger.DebuggerException的典型用法代码示例。如果您正苦于以下问题:Java DebuggerException类的具体用法?Java DebuggerException怎么用?Java DebuggerException使用的例子?那么恭喜您, 这里精选的类代码示例或许可以为您提供帮助。



DebuggerException类属于sun.jvm.hotspot.debugger包,在下文中一共展示了DebuggerException类的20个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于我们的系统推荐出更棒的Java代码示例。

示例1: run

import sun.jvm.hotspot.debugger.DebuggerException; //导入依赖的package包/类
public void run() {
   synchronized (workerThread) {
      for (;;) {
         if (task != null) {
            lastException = null;
            try {
               task.doit(debugger);
            } catch (DebuggerException exp) {
               lastException = exp;
            }
            task = null;
            workerThread.notifyAll();
         }

         try {
            workerThread.wait();
         } catch (InterruptedException x) {}
      }
   }
}
 
开发者ID:arodchen,项目名称:MaxSim,代码行数:21,代码来源:BsdDebuggerLocal.java


示例2: execute

import sun.jvm.hotspot.debugger.DebuggerException; //导入依赖的package包/类
public WorkerThreadTask execute(WorkerThreadTask task) throws DebuggerException {
   synchronized (workerThread) {
      this.task = task;
      workerThread.notifyAll();
      while (this.task != null) {
         try {
            workerThread.wait();
         } catch (InterruptedException x) {}
      }
      if (lastException != null) {
         throw new DebuggerException(lastException);
      } else {
         return task;
      }
   }
}
 
开发者ID:arodchen,项目名称:MaxSim,代码行数:17,代码来源:BsdDebuggerLocal.java


示例3: attach

import sun.jvm.hotspot.debugger.DebuggerException; //导入依赖的package包/类
/** From the Debugger interface via JVMDebugger */
public synchronized void attach(int processID) throws DebuggerException {
    checkAttached();
    threadList = new ArrayList();
    loadObjectList = new ArrayList();
    class AttachTask implements WorkerThreadTask {
       int pid;
       public void doit(BsdDebuggerLocal debugger) {
          debugger.attach0(pid);
          debugger.attached = true;
          debugger.isCore = false;
          findABIVersion();
       }
    }

    AttachTask task = new AttachTask();
    task.pid = processID;
    workerThread.execute(task);
}
 
开发者ID:arodchen,项目名称:MaxSim,代码行数:20,代码来源:BsdDebuggerLocal.java


示例4: getThreadIntegerRegisterSet

import sun.jvm.hotspot.debugger.DebuggerException; //导入依赖的package包/类
public synchronized long[] getThreadIntegerRegisterSet(long unique_thread_id)
                                        throws DebuggerException {
    requireAttach();
    if (isCore) {
        return getThreadIntegerRegisterSet0(unique_thread_id);
    } else {
        class GetThreadIntegerRegisterSetTask implements WorkerThreadTask {
            long unique_thread_id;
            long[] result;
            public void doit(BsdDebuggerLocal debugger) {
                result = debugger.getThreadIntegerRegisterSet0(unique_thread_id);
            }
        }

        GetThreadIntegerRegisterSetTask task = new GetThreadIntegerRegisterSetTask();
        task.unique_thread_id = unique_thread_id;
        workerThread.execute(task);
        return task.result;
    }
}
 
开发者ID:arodchen,项目名称:MaxSim,代码行数:21,代码来源:BsdDebuggerLocal.java


示例5: getThreadIntegerRegisterSet

import sun.jvm.hotspot.debugger.DebuggerException; //导入依赖的package包/类
public synchronized long[] getThreadIntegerRegisterSet(int lwp_id)
                                        throws DebuggerException {
    requireAttach();
    if (isCore) {
        return getThreadIntegerRegisterSet0(lwp_id);
    } else {
        class GetThreadIntegerRegisterSetTask implements WorkerThreadTask {
            int lwp_id;
            long[] result;
            public void doit(LinuxDebuggerLocal debugger) {
                result = debugger.getThreadIntegerRegisterSet0(lwp_id);
            }
        }

        GetThreadIntegerRegisterSetTask task = new GetThreadIntegerRegisterSetTask();
        task.lwp_id = lwp_id;
        workerThread.execute(task);
        return task.result;
    }
}
 
开发者ID:AdoptOpenJDK,项目名称:openjdk-jdk10,代码行数:21,代码来源:LinuxDebuggerLocal.java


示例6: attach

import sun.jvm.hotspot.debugger.DebuggerException; //导入依赖的package包/类
/** From the Debugger interface via JVMDebugger */
public synchronized void attach(int processID) throws DebuggerException {
    checkAttached();
    threadList = new ArrayList();
    loadObjectList = new ArrayList();
    class AttachTask implements WorkerThreadTask {
       int pid;
       public void doit(LinuxDebuggerLocal debugger) {
          debugger.attach0(pid);
          debugger.attached = true;
          debugger.isCore = false;
          findABIVersion();
       }
    }

    AttachTask task = new AttachTask();
    task.pid = processID;
    workerThread.execute(task);
}
 
开发者ID:arodchen,项目名称:MaxSim,代码行数:20,代码来源:LinuxDebuggerLocal.java


示例7: startServer

import sun.jvm.hotspot.debugger.DebuggerException; //导入依赖的package包/类
/** This opens a core file on the local machine and starts a debug
  server, allowing remote machines to connect and examine this
  core file. Uses supplied uniqueID to uniquely identify a specific
  debugee */
public synchronized void startServer(String javaExecutableName,
String coreFileName,
String uniqueID) {
    if (debugger != null) {
        throw new DebuggerException("Already attached");
    }
    if ((javaExecutableName == null) || (coreFileName == null)) {
        throw new DebuggerException("Both the core file name and Java executable name must be specified");
    }
    this.javaExecutableName = javaExecutableName;
    this.coreFileName = coreFileName;
    startupMode = CORE_FILE_MODE;
    isServer = true;
    serverID = uniqueID;
    go();
}
 
开发者ID:arodchen,项目名称:MaxSim,代码行数:21,代码来源:HotSpotAgent.java


示例8: startServer

import sun.jvm.hotspot.debugger.DebuggerException; //导入依赖的package包/类
/** This attaches to a process running on the local machine and
  starts a debug server, allowing remote machines to connect and
  examine this process. Uses specified name to uniquely identify a
  specific debuggee on the server */
public synchronized void startServer(int processID, String uniqueID) {
    if (debugger != null) {
        throw new DebuggerException("Already attached");
    }
    pid = processID;
    startupMode = PROCESS_MODE;
    isServer = true;
    serverID = uniqueID;
    go();
}
 
开发者ID:AdoptOpenJDK,项目名称:openjdk-jdk10,代码行数:15,代码来源:HotSpotAgent.java


示例9: checkAttached

import sun.jvm.hotspot.debugger.DebuggerException; //导入依赖的package包/类
private void checkAttached() throws DebuggerException {
    if (attached) {
        if (isCore) {
            throw new DebuggerException("attached to a core dump already");
        } else {
            throw new DebuggerException("attached to a process already");
        }
    }
}
 
开发者ID:arodchen,项目名称:MaxSim,代码行数:10,代码来源:BsdDebuggerLocal.java


示例10: findABIVersion

import sun.jvm.hotspot.debugger.DebuggerException; //导入依赖的package包/类
private void findABIVersion() throws DebuggerException {
    String libjvmName = isDarwin ? "libjvm.dylib" : "libjvm.so";
    String javaThreadVt = isDarwin ? "_vt_10JavaThread" : "__vt_10JavaThread";
    if (lookupByName0(libjvmName, javaThreadVt) != 0) {
        // old C++ ABI
        useGCC32ABI = false;
    } else {
        // new C++ ABI
        useGCC32ABI = true;
    }
}
 
开发者ID:arodchen,项目名称:MaxSim,代码行数:12,代码来源:BsdDebuggerLocal.java


示例11: handleGCC32ABI

import sun.jvm.hotspot.debugger.DebuggerException; //导入依赖的package包/类
private long handleGCC32ABI(long addr, String symbol) throws DebuggerException {
    if (useGCC32ABI && symbol.startsWith("_ZTV")) {
        return addr + (2 * machDesc.getAddressSize());
    } else {
        return addr;
    }
}
 
开发者ID:arodchen,项目名称:MaxSim,代码行数:8,代码来源:BsdDebuggerLocal.java


示例12: attach

import sun.jvm.hotspot.debugger.DebuggerException; //导入依赖的package包/类
/** This opens a core file on the local machine */
public synchronized void attach(String javaExecutableName, String coreFileName)
throws DebuggerException {
    if (debugger != null) {
        throw new DebuggerException("Already attached");
    }
    if ((javaExecutableName == null) || (coreFileName == null)) {
        throw new DebuggerException("Both the core file name and Java executable name must be specified");
    }
    this.javaExecutableName = javaExecutableName;
    this.coreFileName = coreFileName;
    startupMode = CORE_FILE_MODE;
    isServer = false;
    go();
}
 
开发者ID:AdoptOpenJDK,项目名称:openjdk-jdk10,代码行数:16,代码来源:HotSpotAgent.java


示例13: findABIVersion

import sun.jvm.hotspot.debugger.DebuggerException; //导入依赖的package包/类
private void findABIVersion() throws DebuggerException {
    if (lookupByName0("libjvm.so", "__vt_10JavaThread") != 0) {
        // old C++ ABI
        useGCC32ABI = false;
    } else {
        // new C++ ABI
        useGCC32ABI = true;
    }
}
 
开发者ID:arodchen,项目名称:MaxSim,代码行数:10,代码来源:LinuxDebuggerLocal.java


示例14: lookup

import sun.jvm.hotspot.debugger.DebuggerException; //导入依赖的package包/类
public static Remote lookup(String debugServerID) throws DebuggerException {
    // debugServerID follows the pattern [[email protected]]host[:port]
    // we have to transform this as //host[:port]/<serverNamePrefix>['_'<unique_id>]

    int index = debugServerID.indexOf('@');
    StringBuffer nameBuf = new StringBuffer("//");
    String uniqueID = null;
    if (index != -1) {
        nameBuf.append(debugServerID.substring(index + 1));
        uniqueID = debugServerID.substring(0, index);
    } else {
        nameBuf.append(debugServerID);
    }

    nameBuf.append('/');
    nameBuf.append(serverNamePrefix);
    if (uniqueID != null) {
        nameBuf.append('_');
        nameBuf.append(uniqueID);
    }

    try {
        return Naming.lookup(nameBuf.toString());
    } catch (Exception exp) {
        throw new DebuggerException(exp);
    }
}
 
开发者ID:AdoptOpenJDK,项目名称:openjdk-jdk10,代码行数:28,代码来源:RMIHelper.java


示例15: attach

import sun.jvm.hotspot.debugger.DebuggerException; //导入依赖的package包/类
/** This attaches to a process running on the local machine. */
public synchronized void attach(int processID)
throws DebuggerException {
    if (debugger != null) {
        throw new DebuggerException("Already attached");
    }
    pid = processID;
    startupMode = PROCESS_MODE;
    isServer = false;
    go();
}
 
开发者ID:arodchen,项目名称:MaxSim,代码行数:12,代码来源:HotSpotAgent.java


示例16: shutdownServer

import sun.jvm.hotspot.debugger.DebuggerException; //导入依赖的package包/类
/** This may only be called on the server side after startServer()
  has been called */
public synchronized boolean shutdownServer() throws DebuggerException {
    if (!isServer) {
        throw new DebuggerException("Should not call shutdownServer() for client configuration");
    }
    return detachInternal();
}
 
开发者ID:AdoptOpenJDK,项目名称:openjdk-jdk10,代码行数:9,代码来源:HotSpotAgent.java


示例17: detach

import sun.jvm.hotspot.debugger.DebuggerException; //导入依赖的package包/类
/** This should only be called by the user on the client machine,
  not the server machine */
public synchronized boolean detach() throws DebuggerException {
    if (isServer) {
        throw new DebuggerException("Should not call detach() for server configuration");
    }
    return detachInternal();
}
 
开发者ID:AdoptOpenJDK,项目名称:openjdk-jdk10,代码行数:9,代码来源:HotSpotAgent.java


示例18: connectRemoteDebugger

import sun.jvm.hotspot.debugger.DebuggerException; //导入依赖的package包/类
private void connectRemoteDebugger() throws DebuggerException {
    RemoteDebugger remote =
    (RemoteDebugger) RMIHelper.lookup(debugServerID);
    debugger = new RemoteDebuggerClient(remote);
    machDesc = ((RemoteDebuggerClient) debugger).getMachineDescription();
    os = debugger.getOS();
    setupJVMLibNames(os);
    cpu = debugger.getCPU();
}
 
开发者ID:arodchen,项目名称:MaxSim,代码行数:10,代码来源:HotSpotAgent.java


示例19: setupDebuggerDarwin

import sun.jvm.hotspot.debugger.DebuggerException; //导入依赖的package包/类
private void setupDebuggerDarwin() {
    setupJVMLibNamesDarwin();

    if (cpu.equals("amd64") || cpu.equals("x86_64")) {
        machDesc = new MachineDescriptionAMD64();
    } else {
        throw new DebuggerException("Darwin only supported on x86_64. Current arch: " + cpu);
    }

    BsdDebuggerLocal dbg = new BsdDebuggerLocal(machDesc, !isServer);
    debugger = dbg;

    attachDebugger();
}
 
开发者ID:arodchen,项目名称:MaxSim,代码行数:15,代码来源:HotSpotAgent.java


示例20: attachDebugger

import sun.jvm.hotspot.debugger.DebuggerException; //导入依赖的package包/类
/** Convenience routine which should be called by per-platform
  debugger setup. Should not be called when startupMode is
  REMOTE_MODE. */
private void attachDebugger() {
    if (startupMode == PROCESS_MODE) {
        debugger.attach(pid);
    } else if (startupMode == CORE_FILE_MODE) {
        debugger.attach(javaExecutableName, coreFileName);
    } else {
        throw new DebuggerException("Should not call attach() for startupMode == " + startupMode);
    }
}
 
开发者ID:arodchen,项目名称:MaxSim,代码行数:13,代码来源:HotSpotAgent.java



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


鲜花

握手

雷人

路过

鸡蛋
该文章已有0人参与评论

请发表评论

全部评论

专题导读
上一篇:
Java Size类代码示例发布时间:2022-05-22
下一篇:
Java MaterialSimpleListItem类代码示例发布时间:2022-05-22
热门推荐
阅读排行榜

扫描微信二维码

查看手机版网站

随时了解更新最新资讯

139-2527-9053

在线客服(服务时间 9:00~18:00)

在线QQ客服
地址:深圳市南山区西丽大学城创智工业园
电邮:jeky_zhao#qq.com
移动电话:139-2527-9053

Powered by 互联科技 X3.4© 2001-2213 极客世界.|Sitemap