1 /*
   2  * Copyright (c) 2001, 2011, Oracle and/or its affiliates. All rights reserved.
   3  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
   4  *
   5  * This code is free software; you can redistribute it and/or modify it
   6  * under the terms of the GNU General Public License version 2 only, as
   7  * published by the Free Software Foundation.  Oracle designates this
   8  * particular file as subject to the "Classpath" exception as provided
   9  * by Oracle in the LICENSE file that accompanied this code.
  10  *
  11  * This code is distributed in the hope that it will be useful, but WITHOUT
  12  * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
  13  * FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
  14  * version 2 for more details (a copy is included in the LICENSE file that
  15  * accompanied this code).
  16  *
  17  * You should have received a copy of the GNU General Public License version
  18  * 2 along with this work; if not, write to the Free Software Foundation,
  19  * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
  20  *
  21  * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
  22  * or visit www.oracle.com if you need additional information or have any
  23  * questions.
  24  */
  25 
  26 /*
  27  * This source code is provided to illustrate the usage of a given feature
  28  * or technique and has been deliberately simplified. Additional steps
  29  * required for a production-quality application, such as security checks,
  30  * input validation and proper error handling, might not be present in
  31  * this sample code.
  32  */
  33 
  34 
  35 package com.sun.tools.example.debug.tty;
  36 
  37 /**
  38  * <p> This class represents the <code>ResourceBundle</code>
  39  * for the following package(s):
  40  *
  41  * <ol>
  42  * <li> com.sun.tools.example.debug.tty
  43  * </ol>
  44  *
  45  */
  46 public class TTYResources extends java.util.ListResourceBundle {
  47 
  48 
  49     /**
  50      * Returns the contents of this <code>ResourceBundle</code>.
  51      *
  52      * <p>
  53      *
  54      * @return the contents of this <code>ResourceBundle</code>.
  55      */
  56     @Override
  57     public Object[][] getContents() {
  58         Object[][] temp = new Object[][] {
  59         // NOTE: The value strings in this file containing "{0}" are
  60         //       processed by the java.text.MessageFormat class.  Any
  61         //       single quotes appearing in these strings need to be
  62         //       doubled up.
  63         //
  64         // LOCALIZE THIS
  65         {"** classes list **", "** classes list **\n{0}"},
  66         {"** fields list **", "** fields list **\n{0}"},
  67         {"** methods list **", "** methods list **\n{0}"},
  68         {"*** Reading commands from", "*** Reading commands from {0}"},
  69         {"All threads resumed.", "All threads resumed."},
  70         {"All threads suspended.", "All threads suspended."},
  71         {"Argument is not defined for connector:", "Argument {0} is not defined for connector: {1}"},
  72         {"Arguments match no method", "Arguments match no method"},
  73         {"Array:", "Array: {0}"},
  74         {"Array element is not a method", "Array element is not a method"},
  75         {"Array index must be a integer type", "Array index must be a integer type"},
  76         {"base directory:", "base directory: {0}"},
  77         {"Breakpoint hit:", "Breakpoint hit: "},
  78         {"breakpoint", "breakpoint {0}"},
  79         {"Breakpoints set:", "Breakpoints set:"},
  80         {"Breakpoints can be located only in classes.", "Breakpoints can be located only in classes.  {0} is an interface or array."},
  81         {"Can only trace", "Can only trace 'methods' or 'method exit' or 'method exits'"},
  82         {"cannot redefine existing connection", "{0} cannot redefine existing connection"},
  83         {"Cannot assign to a method invocation", "Cannot assign to a method invocation"},
  84         {"Cannot specify command line with connector:", "Cannot specify command line with connector: {0}"},
  85         {"Cannot specify target vm arguments with connector:", "Cannot specify target VM arguments with connector: {0}"},
  86         {"Class containing field must be specified.", "Class containing field must be specified."},
  87         {"Class:", "Class: {0}"},
  88         {"Classic VM no longer supported.", "Classic VM no longer supported."},
  89         {"classpath:", "classpath: {0}"},
  90         {"colon mark", ":"},
  91         {"colon space", ": "},
  92         {"Command is not supported on the target VM", "Command ''{0}'' is not supported on the target VM"},
  93         {"Command is not supported on a read-only VM connection", "Command ''{0}'' is not supported on a read-only VM connection"},
  94         {"Command not valid until the VM is started with the run command", "Command ''{0}'' is not valid until the VM is started with the ''run'' command"},
  95         {"Condition must be boolean", "Condition must be boolean"},
  96         {"Connector and Transport name", "  Connector: {0}  Transport: {1}"},
  97         {"Connector argument nodefault", "    Argument: {0} (no default)"},
  98         {"Connector argument default", "    Argument: {0} Default value: {1}"},
  99         {"Connector description", "    description: {0}"},
 100         {"Connector required argument nodefault", "    Required Argument: {0} (no default)"},
 101         {"Connector required argument default", "    Required Argument: {0} Default value: {1}"},
 102         {"Connectors available", "Available connectors are:"},
 103         {"Constant is not a method", "Constant is not a method"},
 104         {"Could not open:", "Could not open: {0}"},
 105         {"Current method is native", "Current method is native"},
 106         {"Current thread died. Execution continuing...", "Current thread {0} died. Execution continuing..."},
 107         {"Current thread isnt suspended.", "Current thread isn't suspended."},
 108         {"Current thread not set.", "Current thread not set."},
 109         {"dbgtrace flag value must be an integer:", "dbgtrace flag value must be an integer: {0}"},
 110         {"Deferring.", "Deferring {0}.\nIt will be set after the class is loaded."},
 111         {"End of stack.", "End of stack."},
 112         {"Error popping frame", "Error popping frame - {0}"},
 113         {"Error reading file", "Error reading ''{0}'' - {1}"},
 114         {"Error redefining class to file", "Error redefining {0} to {1} - {2}"},
 115         {"exceptionSpec all", "all {0}"},
 116         {"exceptionSpec caught", "caught {0}"},
 117         {"exceptionSpec uncaught", "uncaught {0}"},
 118         {"Exception in expression:", "Exception in expression: {0}"},
 119         {"Exception occurred caught", "Exception occurred: {0} (to be caught at: {1})"},
 120         {"Exception occurred uncaught", "Exception occurred: {0} (uncaught)"},
 121         {"Exceptions caught:", "Break when these exceptions occur:"},
 122         {"expr is null", "{0} = null"},
 123         {"expr is value", "{0} = {1}"},
 124         {"expr is value <collected>", "  {0} = {1} <collected>"},
 125         {"Expression cannot be void", "Expression cannot be void"},
 126         {"Expression must evaluate to an object", "Expression must evaluate to an object"},
 127         {"extends:", "extends: {0}"},
 128         {"Failed reading output", "Failed reading output of child java interpreter."},
 129         {"Fatal error", "Fatal error:"},
 130         {"Field access encountered before after", "Field ({0}) is {1}, will be {2}: "},
 131         {"Field access encountered", "Field ({0}) access encountered: "},
 132         {"Field to unwatch not specified", "Field to unwatch not specified."},
 133         {"Field to watch not specified", "Field to watch not specified."},
 134         {"GC Disabled for", "GC Disabled for {0}:"},
 135         {"GC Enabled for", "GC Enabled for {0}:"},
 136         {"grouping begin character", "{"},
 137         {"grouping end character", "}"},
 138         {"Illegal Argument Exception", "Illegal Argument Exception"},
 139         {"Illegal connector argument", "Illegal connector argument: {0}"},
 140         {"implementor:", "implementor: {0}"},
 141         {"implements:", "implements: {0}"},
 142         {"Initializing progname", "Initializing {0} ..."},
 143         {"Input stream closed.", "Input stream closed."},
 144         {"Interface:", "Interface: {0}"},
 145         {"Internal debugger error.", "Internal debugger error."},
 146         {"Internal error: null ThreadInfo created", "Internal error: null ThreadInfo created"},
 147         {"Internal error; unable to set", "Internal error; unable to set {0}"},
 148         {"Internal exception during operation:", "Internal exception during operation:\n    {0}"},
 149         {"Internal exception:", "Internal exception:"},
 150         {"Invalid argument type name", "Invalid argument type name"},
 151         {"Invalid assignment syntax", "Invalid assignment syntax"},
 152         {"Invalid command syntax", "Invalid command syntax"},
 153         {"Invalid connect type", "Invalid connect type"},
 154         {"Invalid consecutive invocations", "Invalid consecutive invocations"},
 155         {"Invalid exception object", "Invalid exception object"},
 156         {"Invalid method specification:", "Invalid method specification: {0}"},
 157         {"Invalid option on class command", "Invalid option on class command"},
 158         {"invalid option", "invalid option: {0}"},
 159         {"Invalid thread status.", "Invalid thread status."},
 160         {"Invalid transport name:", "Invalid transport name: {0}"},
 161         {"I/O exception occurred:", "I/O Exception occurred: {0}"},
 162         {"is an ambiguous method name in", "\"{0}\" is an ambiguous method name in \"{1}\""},
 163         {"is an invalid line number for",  "{0,number,integer} is an invalid line number for {1}"},
 164         {"is not a valid class name", "\"{0}\" is not a valid class name."},
 165         {"is not a valid field name", "\"{0}\" is not a valid field name."},
 166         {"is not a valid id or class name", "\"{0}\" is not a valid id or class name."},
 167         {"is not a valid line number or method name for", "\"{0}\" is not a valid line number or method name for class \"{1}\""},
 168         {"is not a valid method name", "\"{0}\" is not a valid method name."},
 169         {"is not a valid thread id", "\"{0}\" is not a valid thread id."},
 170         {"is not a valid threadgroup name", "\"{0}\" is not a valid threadgroup name."},
 171         {"jdb prompt with no current thread", "> "},
 172         {"jdb prompt thread name and current stack frame", "{0}[{1,number,integer}] "},
 173         {"killed", "{0} killed"},
 174         {"killing thread:", "killing thread: {0}"},
 175         {"Line number information not available for", "Source line numbers not available for this location."},
 176         {"line number", ":{0,number,integer}"},
 177         {"list field typename and name", "{0} {1}\n"},
 178         {"list field typename and name inherited", "{0} {1} (inherited from {2})\n"},
 179         {"list field typename and name hidden", "{0} {1} (hidden)\n"},
 180         {"Listening at address:", "Listening at address: {0}"},
 181         {"Local variable information not available.", "Local variable information not available.  Compile with -g to generate variable information"},
 182         {"Local variables:", "Local variables:"},
 183         {"<location unavailable>", "<location unavailable>"},
 184         {"location", "\"thread={0}\", {1}"},
 185         {"locationString", "{0}.{1}(), line={2,number,integer} bci={3,number,integer}"},
 186         {"Main class and arguments must be specified", "Main class and arguments must be specified"},
 187         {"Method arguments:", "Method arguments:"},
 188         {"Method entered:", "Method entered: "},
 189         {"Method exited:",  "Method exited"},
 190         {"Method exitedValue:", "Method exited: return value = {0}, "},
 191         {"Method is overloaded; specify arguments", "Method {0} is overloaded; specify arguments"},
 192         {"minus version", "This is {0} version {1,number,integer}.{2,number,integer} (Java SE version {3})"},
 193         {"Monitor information for thread", "Monitor information for thread {0}:"},
 194         {"Monitor information for expr", "Monitor information for {0} ({1}):"},
 195         {"More than one class named", "More than one class named: ''{0}''"},
 196         {"native method", "native method"},
 197         {"nested:", "nested: {0}"},
 198         {"No attach address specified.", "No attach address specified."},
 199         {"No breakpoints set.", "No breakpoints set."},
 200         {"No class named", "No class named ''{0}''"},
 201         {"No class specified.", "No class specified."},
 202         {"No classpath specified.", "No classpath specified."},
 203         {"No code at line", "No code at line {0,number,integer} in {1}"},
 204         {"No connect specification.", "No connect specification."},
 205         {"No connector named:", "No connector named: {0}"},
 206         {"No current thread", "No current thread"},
 207         {"No default thread specified:", "No default thread specified: use the \"thread\" command first."},
 208         {"No exception object specified.", "No exception object specified."},
 209         {"No exceptions caught.", "No exceptions caught."},
 210         {"No expression specified.", "No expression specified."},
 211         {"No field in", "No field {0} in {1}"},
 212         {"No frames on the current call stack", "No frames on the current call stack"},
 213         {"No linenumber information for", "No linenumber information for {0}.  Try compiling with debugging on."},
 214         {"No local variables", "No local variables"},
 215         {"No method in", "No method {0} in {1}"},
 216         {"No method specified.", "No method specified."},
 217         {"No monitor numbered:", "No monitor numbered: {0}"},
 218         {"No monitors owned", "  No monitors owned"},
 219         {"No object specified.", "No object specified."},
 220         {"No objects specified.", "No objects specified."},
 221         {"No save index specified.", "No save index specified."},
 222         {"No saved values", "No saved values"},
 223         {"No source information available for:", "No source information available for: {0}"},
 224         {"No sourcedebugextension specified", "No SourceDebugExtension specified"},
 225         {"No sourcepath specified.", "No sourcepath specified."},
 226         {"No thread specified.", "No thread specified."},
 227         {"No VM connected", "No VM connected"},
 228         {"No waiters", "  No waiters"},
 229         {"not a class", "{0} is not a class"},
 230         {"Not a monitor number:", "Not a monitor number: ''{0}''"},
 231         {"not found (try the full name)", "{0} not found (try the full name)"},
 232         {"Not found:", "Not found: {0}"},
 233         {"not found", "{0} not found"},
 234         {"Not owned", "  Not owned"},
 235         {"Not waiting for a monitor", "  Not waiting for a monitor"},
 236         {"Nothing suspended.", "Nothing suspended."},
 237         {"object description and hex id", "({0}){1}"},
 238         {"Operation is not supported on the target VM", "Operation is not supported on the target VM"},
 239         {"operation not yet supported", "operation not yet supported"},
 240         {"Owned by:", "  Owned by: {0}, entry count: {1,number,integer}"},
 241         {"Owned monitor:", "  Owned monitor: {0}"},
 242         {"Parse exception:", "Parse Exception: {0}"},
 243         {"printbreakpointcommandusage", "Usage: {0} <class>:<line_number> or\n       {1} <class>.<method_name>[(argument_type,...)]"},
 244         {"Removed:", "Removed: {0}"},
 245         {"Requested stack frame is no longer active:", "Requested stack frame is no longer active: {0,number,integer}"},
 246         {"run <args> command is valid only with launched VMs", "'run <args>' command is valid only with launched VMs"},
 247         {"run", "run {0}"},
 248         {"saved", "{0} saved"},
 249         {"Set deferred", "Set deferred {0}"},
 250         {"Set", "Set {0}"},
 251         {"Source file not found:", "Source file not found: {0}"},
 252         {"source line number and line", "{0,number,integer}    {1}"},
 253         {"source line number current line and line", "{0,number,integer} => {1}"},
 254         {"sourcedebugextension", "SourceDebugExtension -- {0}"},
 255         {"Specify class and method", "Specify class and method"},
 256         {"Specify classes to redefine", "Specify classes to redefine"},
 257         {"Specify file name for class", "Specify file name for class {0}"},
 258         {"stack frame dump with pc", "  [{0,number,integer}] {1}.{2} ({3}), pc = {4}"},
 259         {"stack frame dump", "  [{0,number,integer}] {1}.{2} ({3})"},
 260         {"Step completed:", "Step completed: "},
 261         {"Stopping due to deferred breakpoint errors.", "Stopping due to deferred breakpoint errors.\n"},
 262         {"subclass:", "subclass: {0}"},
 263         {"subinterface:", "subinterface: {0}"},
 264         {"tab", "\t{0}"},
 265         {"Target VM failed to initialize.", "Target VM failed to initialize."},
 266         {"The application exited", "The application exited"},
 267         {"The application has been disconnected", "The application has been disconnected"},
 268         {"The gc command is no longer necessary.", "The 'gc' command is no longer necessary.\n" +
 269          "All objects are garbage collected as usual. Use 'enablegc' and 'disablegc'\n" +
 270          "commands to control garbage collection of individual objects."},
 271         {"The load command is no longer supported.", "The 'load' command is no longer supported."},
 272         {"The memory command is no longer supported.", "The 'memory' command is no longer supported."},
 273         {"The VM does not use paths", "The VM does not use paths"},
 274         {"Thread is not running (no stack).", "Thread is not running (no stack)."},
 275         {"Thread number not specified.", "Thread number not specified."},
 276         {"Thread:", "{0}:"},
 277         {"Thread Group:", "Group {0}:"},
 278         {"Thread description name unknownStatus BP",  "  {0} {1} unknown (at breakpoint)"},
 279         {"Thread description name unknownStatus",     "  {0} {1} unknown"},
 280         {"Thread description name zombieStatus BP",   "  {0} {1} zombie (at breakpoint)"},
 281         {"Thread description name zombieStatus",      "  {0} {1} zombie"},
 282         {"Thread description name runningStatus BP",  "  {0} {1} running (at breakpoint)"},
 283         {"Thread description name runningStatus",     "  {0} {1} running"},
 284         {"Thread description name sleepingStatus BP", "  {0} {1} sleeping (at breakpoint)"},
 285         {"Thread description name sleepingStatus",    "  {0} {1} sleeping"},
 286         {"Thread description name waitingStatus BP",  "  {0} {1} waiting in a monitor (at breakpoint)"},
 287         {"Thread description name waitingStatus",     "  {0} {1} waiting in a monitor"},
 288         {"Thread description name condWaitstatus BP", "  {0} {1} cond. waiting (at breakpoint)"},
 289         {"Thread description name condWaitstatus",    "  {0} {1} cond. waiting"},
 290         {"Thread has been resumed", "Thread has been resumed"},
 291         {"Thread not suspended", "Thread not suspended"},
 292         {"thread group number description name", "{0,number,integer}. {1} {2}"},
 293         {"Threadgroup name not specified.", "Threadgroup name not specified."},
 294         {"Threads must be suspended", "Threads must be suspended"},
 295         {"trace method exit in effect for", "trace method exit in effect for {0}"},
 296         {"trace method exits in effect", "trace method exits in effect"},
 297         {"trace methods in effect", "trace methods in effect"},
 298         {"trace go method exit in effect for", "trace go method exit in effect for {0}"},
 299         {"trace go method exits in effect", "trace go method exits in effect"},
 300         {"trace go methods in effect", "trace go methods in effect"},
 301         {"trace not in effect", "trace not in effect"},
 302         {"Unable to attach to target VM.", "Unable to attach to target VM."},
 303         {"Unable to display process output:", "Unable to display process output: {0}"},
 304         {"Unable to launch target VM.", "Unable to launch target VM."},
 305         {"Unable to set deferred", "Unable to set deferred {0} : {1}"},
 306         {"Unable to set main class and arguments", "Unable to set main class and arguments"},
 307         {"Unable to set", "Unable to set {0} : {1}"},
 308         {"Unexpected event type", "Unexpected event type: {0}"},
 309         {"unknown", "unknown"},
 310         {"Unmonitoring", "Unmonitoring {0} "},
 311         {"Unrecognized command.  Try help...", "Unrecognized command: ''{0}''.  Try help..."},
 312         {"Usage: catch exception", "Usage: catch [uncaught|caught|all] <class id>|<class pattern>"},
 313         {"Usage: ignore exception", "Usage: ignore [uncaught|caught|all] <class id>|<class pattern>"},
 314         {"Usage: down [n frames]", "Usage: down [n frames]"},
 315         {"Usage: kill <thread id> <throwable>", "Usage: kill <thread id> <throwable>"},
 316         {"Usage: read <command-filename>", "Usage: read <command-filename>"},
 317         {"Usage: unmonitor <monitor#>", "Usage: unmonitor <monitor#>"},
 318         {"Usage: up [n frames]", "Usage: up [n frames]"},
 319         {"Use java minus X to see", "Use 'java -X' to see the available non-standard options"},
 320         {"Use stop at to set a breakpoint at a line number", "Use 'stop at' to set a breakpoint at a line number"},
 321         {"VM already running. use cont to continue after events.", "VM already running. Use 'cont' to continue after events."},
 322         {"VM Started:", "VM Started: "},
 323         {"vmstartexception", "VM start exception: {0}"},
 324         {"Waiting for monitor:", "   Waiting for monitor: {0}"},
 325         {"Waiting thread:", " Waiting thread: {0}"},
 326         {"watch accesses of", "watch accesses of {0}.{1}"},
 327         {"watch modification of", "watch modification of {0}.{1}"},
 328         {"zz help text",
 329              "** command list **\n" +
 330              "connectors                -- list available connectors and transports in this VM\n" +
 331              "\n" +
 332              "run [class [args]]        -- start execution of application's main class\n" +
 333              "\n" +
 334              "threads [threadgroup]     -- list threads\n" +
 335              "thread <thread id>        -- set default thread\n" +
 336              "suspend [thread id(s)]    -- suspend threads (default: all)\n" +
 337              "resume [thread id(s)]     -- resume threads (default: all)\n" +
 338              "where [<thread id> | all] -- dump a thread's stack\n" +
 339              "wherei [<thread id> | all]-- dump a thread's stack, with pc info\n" +
 340              "up [n frames]             -- move up a thread's stack\n" +
 341              "down [n frames]           -- move down a thread's stack\n" +
 342              "kill <thread id> <expr>   -- kill a thread with the given exception object\n" +
 343              "interrupt <thread id>     -- interrupt a thread\n" +
 344              "\n" +
 345              "print <expr>              -- print value of expression\n" +
 346              "dump <expr>               -- print all object information\n" +
 347              "eval <expr>               -- evaluate expression (same as print)\n" +
 348              "set <lvalue> = <expr>     -- assign new value to field/variable/array element\n" +
 349              "locals                    -- print all local variables in current stack frame\n" +
 350              "\n" +
 351              "classes                   -- list currently known classes\n" +
 352              "class <class id>          -- show details of named class\n" +
 353              "methods <class id>        -- list a class's methods\n" +
 354              "fields <class id>         -- list a class's fields\n" +
 355              "\n" +
 356              "threadgroups              -- list threadgroups\n" +
 357              "threadgroup <name>        -- set current threadgroup\n" +
 358              "\n" +
 359              "stop in <class id>.<method>[(argument_type,...)]\n" +
 360              "                          -- set a breakpoint in a method\n" +
 361              "stop at <class id>:<line> -- set a breakpoint at a line\n" +
 362              "clear <class id>.<method>[(argument_type,...)]\n" +
 363              "                          -- clear a breakpoint in a method\n" +
 364              "clear <class id>:<line>   -- clear a breakpoint at a line\n" +
 365              "clear                     -- list breakpoints\n" +
 366              "catch [uncaught|caught|all] <class id>|<class pattern>\n" +
 367              "                          -- break when specified exception occurs\n" +
 368              "ignore [uncaught|caught|all] <class id>|<class pattern>\n" +
 369              "                          -- cancel 'catch' for the specified exception\n" +
 370              "watch [access|all] <class id>.<field name>\n" +
 371              "                          -- watch access/modifications to a field\n" +
 372              "unwatch [access|all] <class id>.<field name>\n" +
 373              "                          -- discontinue watching access/modifications to a field\n" +
 374              "trace [go] methods [thread]\n" +
 375              "                          -- trace method entries and exits.\n" +
 376              "                          -- All threads are suspended unless 'go' is specified\n" +
 377              "trace [go] method exit | exits [thread]\n" +
 378              "                          -- trace the current method's exit, or all methods' exits\n" +
 379              "                          -- All threads are suspended unless 'go' is specified\n" +
 380              "untrace [methods]         -- stop tracing method entrys and/or exits\n" +
 381              "step                      -- execute current line\n" +
 382              "step up                   -- execute until the current method returns to its caller\n" +
 383              "stepi                     -- execute current instruction\n" +
 384              "next                      -- step one line (step OVER calls)\n" +
 385              "cont                      -- continue execution from breakpoint\n" +
 386              "\n" +
 387              "list [line number|method] -- print source code\n" +
 388              "use (or sourcepath) [source file path]\n" +
 389              "                          -- display or change the source path\n" +
 390              "exclude [<class pattern>, ... | \"none\"]\n" +
 391              "                          -- do not report step or method events for specified classes\n" +
 392              "classpath                 -- print classpath info from target VM\n" +
 393              "\n" +
 394              "monitor <command>         -- execute command each time the program stops\n" +
 395              "monitor                   -- list monitors\n" +
 396              "unmonitor <monitor#>      -- delete a monitor\n" +
 397              "read <filename>           -- read and execute a command file\n" +
 398              "\n" +
 399              "lock <expr>               -- print lock info for an object\n" +
 400              "threadlocks [thread id]   -- print lock info for a thread\n" +
 401              "\n" +
 402              "pop                       -- pop the stack through and including the current frame\n" +
 403              "reenter                   -- same as pop, but current frame is reentered\n" +
 404              "redefine <class id> <class file name>\n" +
 405              "                          -- redefine the code for a class\n" +
 406              "\n" +
 407              "disablegc <expr>          -- prevent garbage collection of an object\n" +
 408              "enablegc <expr>           -- permit garbage collection of an object\n" +
 409              "\n" +
 410              "!!                        -- repeat last command\n" +
 411              "<n> <command>             -- repeat command n times\n" +
 412              "# <command>               -- discard (no-op)\n" +
 413              "help (or ?)               -- list commands\n" +
 414              "version                   -- print version information\n" +
 415              "exit (or quit)            -- exit debugger\n" +
 416              "\n" +
 417              "<class id>: a full class name with package qualifiers\n" +
 418              "<class pattern>: a class name with a leading or trailing wildcard ('*')\n" +
 419              "<thread id>: thread number as reported in the 'threads' command\n" +
 420              "<expr>: a Java(TM) Programming Language expression.\n" +
 421              "Most common syntax is supported.\n" +
 422              "\n" +
 423              "Startup commands can be placed in either \"jdb.ini\" or \".jdbrc\"\n" +
 424              "in user.home or user.dir"},
 425         {"zz usage text",
 426              "Usage: {0} <options> <class> <arguments>\n" +
 427              "\n" +
 428              "where options include:\n" +
 429              "    -help             print out this message and exit\n" +
 430              "    -sourcepath <directories separated by \"{1}\">\n" +
 431              "                      directories in which to look for source files\n" +
 432              "    -attach <address>\n" +
 433              "                      attach to a running VM at the specified address using standard connector\n" +
 434              "    -listen <address>\n" +
 435              "                      wait for a running VM to connect at the specified address using standard connector\n" +
 436              "    -listenany\n" +
 437              "                      wait for a running VM to connect at any available address using standard connector\n" +
 438              "    -launch\n" +
 439              "                      launch VM immediately instead of waiting for ''run'' command\n" +
 440              "    -listconnectors   list the connectors available in this VM\n" +
 441              "    -connect <connector-name>:<name1>=<value1>,...\n" +
 442              "                      connect to target VM using named connector with listed argument values\n" +
 443              "    -dbgtrace [flags] print info for debugging {0}\n" +
 444              "    -tclient          run the application in the HotSpot(TM) Client Compiler\n" +
 445              "    -tserver          run the application in the HotSpot(TM) Server Compiler\n" +
 446              "\n" +
 447              "options forwarded to debuggee process:\n" +
 448              "    -v -verbose[:class|gc|jni]\n" +
 449              "                      turn on verbose mode\n" +
 450              "    -D<name>=<value>  set a system property\n" +
 451              "    -classpath <directories separated by \"{1}\">\n" +
 452              "                      list directories in which to look for classes\n" +
 453              "    -X<option>        non-standard target VM option\n" +
 454              "\n" +
 455              "<class> is the name of the class to begin debugging\n" +
 456              "<arguments> are the arguments passed to the main() method of <class>\n" +
 457              "\n" +
 458              "For command help type ''help'' at {0} prompt"},
 459         // END OF MATERIAL TO LOCALIZE
 460         };
 461 
 462         return temp;
 463     }
 464 }