< prev index next >

src/jdk.jcmd/share/classes/sun/tools/jstack/JStack.java

Print this page
rev 50303 : Thread Dump Extension (memory allocation)

*** 46,55 **** --- 46,56 ---- } checkForUnsupportedOptions(args); boolean locks = false; + boolean extended = false; // Parse the options (arguments starting with "-" ) int optionCount = 0; while (optionCount < args.length) { String arg = args[optionCount];
*** 65,77 **** --- 66,82 ---- } else { if (arg.equals("-l")) { locks = true; } else { + if (arg.equals("-e")) { + extended = true; + } else { usage(1); } } + } optionCount++; } // Next we check the parameter count. int paramCount = args.length - optionCount;
*** 79,94 **** usage(1); } // pass -l to thread dump operation to get extra lock info String pidArg = args[optionCount]; ! String params[]; if (locks) { ! params = new String[] { "-l" }; ! } else { ! params = new String[0]; } ProcessArgumentMatcher ap = new ProcessArgumentMatcher(pidArg); Collection<String> pids = ap.getVirtualMachinePids(JStack.class); if (pids.isEmpty()) { System.err.println("Could not find any processes matching : '" + pidArg + "'"); --- 84,101 ---- usage(1); } // pass -l to thread dump operation to get extra lock info String pidArg = args[optionCount]; ! String params[]= new String[] { "" }; ! if (extended) { ! params[0] += "-e "; ! } if (locks) { ! params[0] += "-l"; } + ProcessArgumentMatcher ap = new ProcessArgumentMatcher(pidArg); Collection<String> pids = ap.getVirtualMachinePids(JStack.class); if (pids.isEmpty()) { System.err.println("Could not find any processes matching : '" + pidArg + "'");
*** 168,181 **** } // print usage message private static void usage(int exit) { System.err.println("Usage:"); ! System.err.println(" jstack [-l] <pid>"); System.err.println(" (to connect to running process)"); System.err.println(""); System.err.println("Options:"); System.err.println(" -l long listing. Prints additional information about locks"); System.err.println(" -? -h --help -help to print this help message"); System.exit(exit); } } --- 175,189 ---- } // print usage message private static void usage(int exit) { System.err.println("Usage:"); ! System.err.println(" jstack [-l][-e] <pid>"); System.err.println(" (to connect to running process)"); System.err.println(""); System.err.println("Options:"); System.err.println(" -l long listing. Prints additional information about locks"); + System.err.println(" -e extended listing. Prints additional information about threads"); System.err.println(" -? -h --help -help to print this help message"); System.exit(exit); } }
< prev index next >