< prev index next >

src/jdk.hotspot.agent/share/classes/sun/jvm/hotspot/SALauncher.java

Print this page

        

*** 28,46 **** --- 28,48 ---- import java.util.Arrays; import sun.jvm.hotspot.tools.JStack; import sun.jvm.hotspot.tools.JMap; import sun.jvm.hotspot.tools.JInfo; + import sun.jvm.hotspot.tools.JSnap; public class SALauncher { private static boolean launcherHelp() { System.out.println(" clhsdb \tcommand line debugger"); System.out.println(" hsdb \tui debugger"); System.out.println(" jstack --help\tto get more information"); System.out.println(" jmap --help\tto get more information"); System.out.println(" jinfo --help\tto get more information"); + System.out.println(" jsnap \tdump PerfCounter"); return false; } private static boolean commonHelp() { // --pid <pid>
*** 93,103 **** return jinfoHelp(); } if (toolName.equals("jmap")) { return jmapHelp(); } ! if (toolName.equals("hsdb") || toolName.equals("clhsdb")) { return commonHelp(); } return launcherHelp(); } --- 95,105 ---- return jinfoHelp(); } if (toolName.equals("jmap")) { return jmapHelp(); } ! if (toolName.equals("hsdb") || toolName.equals("clhsdb") || toolName.equals("jsnap")) { return commonHelp(); } return launcherHelp(); }
*** 306,315 **** --- 308,351 ---- } JInfo.main(newArgs.toArray(new String[newArgs.size()])); } + private static void runJSNAP(String[] oldArgs) { + SAGetopt sg = new SAGetopt(oldArgs); + String[] longOpts = {"exe=", "core=", "pid="}; + + ArrayList<String> newArgs = new ArrayList(); + String exeORpid = null; + String core = null; + String s = null; + + while((s = sg.next(null, longOpts)) != null) { + if (s.equals("exe")) { + exeORpid = sg.getOptarg(); + continue; + } + if (s.equals("core")) { + core = sg.getOptarg(); + continue; + } + if (s.equals("pid")) { + exeORpid = sg.getOptarg(); + continue; + } + } + + if (exeORpid != null) { + newArgs.add(exeORpid); + if (core != null) { + newArgs.add(core); + } + } + + JSnap.main(newArgs.toArray(new String[newArgs.size()])); + } + public static void main(String[] args) { // Provide a help if (args.length == 0) { launcherHelp(); return;
*** 353,359 **** --- 389,400 ---- if (args[0].equals("jinfo")) { runJINFO(oldArgs); return; } + + if (args[0].equals("jsnap")) { + runJSNAP(oldArgs); + return; + } } }
< prev index next >