本文整理汇总了Java中sun.jvm.hotspot.HotSpotAgent.attach方法的典型用法代码示例。如果您正苦于以下问题:Java HotSpotAgent.attach方法的具体用法?Java HotSpotAgent.attach怎么用?Java HotSpotAgent.attach使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类sun.jvm.hotspot.HotSpotAgent
的用法示例。
在下文中一共展示了HotSpotAgent.attach方法的6个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Java代码示例。
示例1: SAInstanceKlassSize
import sun.jvm.hotspot.HotSpotAgent; //导入方法依赖的package包/类
private static void SAInstanceKlassSize(int lingeredAppPid,
String[] instanceKlassNames) {
HotSpotAgent agent = new HotSpotAgent();
try {
agent.attach(lingeredAppPid);
}
catch (DebuggerException e) {
System.out.println(e.getMessage());
System.err.println("Unable to connect to process ID: " + lingeredAppPid);
agent.detach();
e.printStackTrace();
}
for (String instanceKlassName : instanceKlassNames) {
InstanceKlass iKlass = SystemDictionaryHelper.findInstanceKlass(
instanceKlassName);
Asserts.assertNotNull(iKlass,
String.format("Unable to find instance klass for %s", instanceKlassName));
System.out.println("SA: The size of " + instanceKlassName +
" is " + iKlass.getSize());
}
agent.detach();
}
示例2: SAInstanceKlassSize
import sun.jvm.hotspot.HotSpotAgent; //导入方法依赖的package包/类
private static void SAInstanceKlassSize(int pid,
String[] SAInstanceKlassNames) {
HotSpotAgent agent = new HotSpotAgent();
try {
agent.attach(pid);
}
catch (DebuggerException e) {
System.out.println(e.getMessage());
System.err.println("Unable to connect to process ID: " + pid);
agent.detach();
e.printStackTrace();
}
for (String SAInstanceKlassName : SAInstanceKlassNames) {
InstanceKlass ik = SystemDictionaryHelper.findInstanceKlass(
SAInstanceKlassName);
Asserts.assertNotNull(ik,
String.format("Unable to find instance klass for %s", ik));
System.out.println("SA: The size of " + SAInstanceKlassName +
" is " + ik.getSize());
}
agent.detach();
}
示例3: start
import sun.jvm.hotspot.HotSpotAgent; //导入方法依赖的package包/类
public void start() {
if (jvmDebugger == null) {
throw new RuntimeException("Tool.start() called with no JVMDebugger set.");
}
agent = new HotSpotAgent();
agent.attach(jvmDebugger);
startInternal();
}
示例4: printBytecodes
import sun.jvm.hotspot.HotSpotAgent; //导入方法依赖的package包/类
private static void printBytecodes(String pid,
String[] instanceKlassNames) {
HotSpotAgent agent = new HotSpotAgent();
try {
agent.attach(Integer.parseInt(pid));
}
catch (DebuggerException e) {
System.out.println(e.getMessage());
System.err.println("Unable to connect to process ID: " + pid);
agent.detach();
e.printStackTrace();
}
for (String instanceKlassName : instanceKlassNames) {
InstanceKlass iKlass = SystemDictionaryHelper.findInstanceKlass(instanceKlassName);
MethodArray methods = iKlass.getMethods();
for (int i = 0; i < methods.length(); i++) {
Method m = methods.at(i);
System.out.println("Method: " + m.getName().asString() +
" in instance klass: " + instanceKlassName);
HTMLGenerator gen = new HTMLGenerator(false);
System.out.println(gen.genHTML(m));
}
}
agent.detach();
}
示例5: printDefaultMethods
import sun.jvm.hotspot.HotSpotAgent; //导入方法依赖的package包/类
private static void printDefaultMethods(String pid,
String[] instanceKlassNames) {
HotSpotAgent agent = new HotSpotAgent();
try {
agent.attach(Integer.parseInt(pid));
}
catch (DebuggerException e) {
System.out.println(e.getMessage());
System.err.println("Unable to connect to process ID: " + pid);
agent.detach();
e.printStackTrace();
}
for (String instanceKlassName : instanceKlassNames) {
InstanceKlass iKlass = SystemDictionaryHelper.findInstanceKlass(instanceKlassName);
MethodArray methods = iKlass.getMethods();
MethodArray defaultMethods = iKlass.getDefaultMethods();
for (int i = 0; i < methods.length(); i++) {
Method m = methods.at(i);
System.out.println("Method: " + m.getName().asString() +
" in instance klass: " + instanceKlassName);
}
if (defaultMethods != null) {
for (int j = 0; j < defaultMethods.length(); j++) {
Method dm = defaultMethods.at(j);
System.out.println("Default method: " + dm.getName().asString() +
" in instance klass: " + instanceKlassName);
}
} else {
System.out.println("No default methods in " + instanceKlassName);
}
}
agent.detach();
}
示例6: attachSAAgent
import sun.jvm.hotspot.HotSpotAgent; //导入方法依赖的package包/类
public static VM attachSAAgent(String pid) {
HotSpotAgent agent = new HotSpotAgent();
agent.attach(Integer.parseInt(pid));
return VM.getVM();
}