本文整理汇总了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;未经允许,请勿转载。 |
请发表评论