Categories:
Audio (13)
Biotech (29)
Bytecode (36)
Database (77)
Framework (7)
Game (7)
General (507)
Graphics (53)
I/O (35)
IDE (2)
JAR Tools (102)
JavaBeans (21)
JDBC (121)
JDK (426)
JSP (20)
Logging (108)
Mail (58)
Messaging (8)
Network (84)
PDF (97)
Report (7)
Scripting (84)
Security (32)
Server (121)
Servlet (26)
SOAP (24)
Testing (54)
Web (15)
XML (322)
Collections:
Other Resources:
JDK 17 jdk.jdi.jmod - JDI Tool
JDK 17 jdk.jdi.jmod is the JMOD file for JDK 17 JDI (Java Debug Interface) tool.
JDK 17 JDI tool compiled class files are stored in \fyicenter\jdk-17.0.5\jmods\jdk.jdi.jmod.
JDK 17 JDI tool compiled class files are also linked and stored in the \fyicenter\jdk-17.0.5\lib\modules JImage file.
JDK 17 JDI tool source code files are stored in \fyicenter\jdk-17.0.5\lib\src.zip\jdk.jdi.
You can click and view the content of each source code file in the list below.
✍: FYIcenter
⏎ com/sun/tools/jdi/ProcessAttachingConnector.java
/*
* Copyright (c) 2005, 2017, Oracle and/or its affiliates. All rights reserved.
* ORACLE PROPRIETARY/CONFIDENTIAL. Use is subject to license terms.
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*/
package com.sun.tools.jdi;
import java.io.IOException;
import java.util.Map;
import java.util.Properties;
import com.sun.jdi.Bootstrap;
import com.sun.jdi.VirtualMachine;
import com.sun.jdi.connect.AttachingConnector;
import com.sun.jdi.connect.Connector;
import com.sun.jdi.connect.IllegalConnectorArgumentsException;
import com.sun.jdi.connect.Transport;
import com.sun.jdi.connect.spi.Connection;
import com.sun.jdi.connect.spi.TransportService;
/*
* An AttachingConnector that connects to a debuggee by specifying the process
* id (pid) as the connector argument. If the process is a debuggee listening
* on a transport address then this connector reads the transport address
* and attempts to attach to it using the appropriate transport.
*/
public class ProcessAttachingConnector
extends ConnectorImpl implements AttachingConnector
{
/*
* The arguments that this connector supports
*/
static final String ARG_PID = "pid";
static final String ARG_TIMEOUT = "timeout";
com.sun.tools.attach.VirtualMachine vm;
Transport transport;
public ProcessAttachingConnector() {
addStringArgument(
ARG_PID,
getString("process_attaching.pid.label"),
getString("process_attaching.pid"),
"",
true);
addIntegerArgument(
ARG_TIMEOUT,
getString("generic_attaching.timeout.label"), // use generic keys to keep
getString("generic_attaching.timeout"), // resource bundle small
"",
false,
0, Integer.MAX_VALUE);
transport = new Transport() {
public String name() {
return "local";
}
};
}
/**
* Attach to a target VM using the specified address and Connector arguments.
*/
public VirtualMachine attach(Map<String,? extends Connector.Argument> args)
throws IOException, IllegalConnectorArgumentsException
{
String pid = argument(ARG_PID, args).value();
String t = argument(ARG_TIMEOUT, args).value();
int timeout = 0;
if (t.length() > 0) {
timeout = Integer.decode(t).intValue();
}
// Use Attach API to attach to target VM and read value of
// sun.jdwp.listenAddress property.
String address = null;
com.sun.tools.attach.VirtualMachine vm = null;
try {
vm = com.sun.tools.attach.VirtualMachine.attach(pid);
Properties props = vm.getAgentProperties();
address = props.getProperty("sun.jdwp.listenerAddress");
} catch (Exception x) {
throw new IOException(x.getMessage());
} finally {
if (vm != null) vm.detach();
}
// check that the property value is formatted correctly
if (address == null) {
throw new IOException("Not a debuggee, or not listening for debugger to attach");
}
int pos = address.indexOf(':');
if (pos < 1) {
throw new IOException("Unable to determine transport endpoint");
}
// parse into transport library name and address
final String lib = address.substring(0, pos);
address = address.substring(pos+1, address.length());
TransportService ts = null;
if (lib.equals("dt_socket")) {
ts = new SocketTransportService();
} else {
if (lib.equals("dt_shmem")) {
try {
Class<?> c = Class.forName("com.sun.tools.jdi.SharedMemoryTransportService");
@SuppressWarnings("deprecation")
Object tmp = c.newInstance();
ts = (TransportService)tmp;
} catch (Exception x) { }
}
}
if (ts == null) {
throw new IOException("Transport " + lib + " not recognized");
}
// connect to the debuggee
Connection connection = ts.attach(address, timeout, 0);
return Bootstrap.virtualMachineManager().createVirtualMachine(connection);
}
public String name() {
return "com.sun.jdi.ProcessAttach";
}
public String description() {
return getString("process_attaching.description");
}
public Transport transport() {
if (transport == null) {
return new Transport() {
public String name() {
return "local";
}
};
}
return transport;
}
}
⏎ com/sun/tools/jdi/ProcessAttachingConnector.java
Or download all of them as a single archive file:
File name: jdk.jdi-17.0.5-src.zip File size: 476972 bytes Release date: 2022-09-13 Download
⇒ JDK 17 jdk.jdwp.agent.jmod - JDWP Agent Module
2023-04-17, ≈59🔥, 0💬
Popular Posts:
Java Servlet 3.0 Specification API. JAR File Size and Download Location: File name: servlet-api.jar,...
How to download and install JDK (Java Development Kit) 1.4? If you want to write Java applications, ...
JDK 8 tools.jar is the JAR file for JDK 8 tools. It contains Java classes to support different JDK t...
What is the sax\Counter.java provided in the Apache Xerces package? I have Apache Xerces 2.11.0 inst...
jlGui is a music player for the Java platform. It is based on Java Sound 1.0 (i.e. JDK 1.3+). It sup...