agent/test/jdi/runjdb.sh

Wed, 02 Apr 2008 12:09:59 -0700

author
jrose
date
Wed, 02 Apr 2008 12:09:59 -0700
changeset 535
c7c777385a15
parent 435
a61af66fc99e
child 1907
c18cbe5936b8
permissions
-rw-r--r--

6667042: PrintAssembly option does not work without special plugin
Summary: remove old private plugin interface, simplify, rework old plugin to use unchanged Gnu sources
Reviewed-by: kvn, rasbold

     1 #!/bin/sh
     2 #
     3 # Copyright 2002 Sun Microsystems, Inc.  All Rights Reserved.
     4 # DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
     5 #
     6 # This code is free software; you can redistribute it and/or modify it
     7 # under the terms of the GNU General Public License version 2 only, as
     8 # published by the Free Software Foundation.
     9 #
    10 # This code is distributed in the hope that it will be useful, but WITHOUT
    11 # ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
    12 # FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
    13 # version 2 for more details (a copy is included in the LICENSE file that
    14 # accompanied this code).
    15 #
    16 # You should have received a copy of the GNU General Public License version
    17 # 2 along with this work; if not, write to the Free Software Foundation,
    18 # Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
    19 #
    20 # Please contact Sun Microsystems, Inc., 4150 Network Circle, Santa Clara,
    21 # CA 95054 USA or visit www.sun.com if you need additional information or
    22 # have any questions.
    23 #  
    24 #
    26 #  jdb is a .c file that seems to discard the setting of CLASSPATH.
    27 # So, we have to run jdb by calling java directly :-(
    29 # License file for development version of dbx
    30 LM_LICENSE_FILE=7588@extend.eng:/usr/dist/local/config/sparcworks/license.dat:7588@setlicense
    31 export LM_LICENSE_FILE
    33 doUsage()
    34 {
    35    cat <<EOF
    36 Usage:  runjdb.sh corefile -jdk jdk-pathname -sa sa-pathname
    37     sa-pathname is the path of a JDI-SA build dir.
    38 EOF
    39 }
    41 jdk=
    42 javaArgs=
    43 args=
    44 sa=
    45 while [ $# != 0 ] ; do
    46     case $1 in
    47       -vv)
    48         set -x
    49         ;;
    50      -jdk)
    51         jdk=$2
    52         shift
    53         ;;
    54      -sa)
    55         sa=$2
    56         shift
    57         ;;
    58      -help | help)
    59         doUsage
    60         exit
    61         ;;
    62      -*)
    63         javaArgs="$javaArgs $1"
    64         ;;
    65      *)
    66         if [ ! -z "$args" ] ; then
    67             echo "Error: Only one core file or pid can be specified"
    68             exit 1
    69         fi
    70         echo "$1" | grep -s '^[0-9]*$' > /dev/null
    71         if [ $? = 0 ] ; then
    72             # it is a pid
    73             args="$args $1"
    74             echo "Error: A pid is not yet allowed"
    75             exit 1
    76         else
    77             # It is a core.        
    78             # We have to pass the name of the program that produced the
    79             # core, and the core file itself.
    80             args="$1"
    81         fi
    82         ;;
    83    esac
    84    shift
    85 done
    87 if [ -z "$jdk" ] ; then
    88     echo "Error:  -jdk jdk-pathname is required"
    89     exit 1
    90 fi
    91 if [ -z "$sa" ] ; then
    92     echo "Error:  -sa sa-pathname is required"
    93     exit 1
    94 fi
    96 if [ -z "$args" ] ; then
    97     echo "Error:  a core file or pid must be specified"
    98     exit 1
    99 fi
   101 set -x
   102 $jdk/bin/jdb -J-Xbootclasspath/a:$sa  -connect \
   103   sun.jvm.hotspot.jdi.SACoreAttachingConnector:core=$args,javaExecutable=$jdk/bin/java
   106 #$jdk/bin/java -Xbootclasspath/a:$mmm/ws/merlin-sa/build/agent \
   107 #  com.sun.tools.example.debug.tty.TTY -connect \
   108 #  sun.jvm.hotspot.jdi.SACoreAttachingConnector:core=sagcore,javaExecutable=$jdk/bin/java

mercurial