Skip to content

HTTPS clone URL

Subversion checkout URL

You can clone with
or
.
Download ZIP
Tree: bd76909734
Fetching contributors…

Cannot retrieve contributors at this time

executable file 59 lines (53 sloc) 2.305 kB
#!/bin/bash
# Copyright 2007-2011, VMware, Inc. All rights reserved.
#
# Redistribution and use in source and binary forms, with or without
# modification, are permitted provided that the following conditions are met:
# 1. Redistributions of source code must retain the above copyright notice,
# this list of conditions and the following disclaimer.
# 2. Redistributions in binary form must reproduce the above copyright
# notice, this list of conditions and the following disclaimer in the
# documentation and/or other materials provided with the distribution.
# 3. Neither the name of VMware, Inc. nor the names of its contributors may
# be used to endorse or promote products derived from this software with
# specific prior written permission.
# THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS AS IS'' AND ANY
# EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
# WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
# DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE FOR ANY
# DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
# (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
# SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
# CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
# LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
# OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH
# DAMAGE.
# pretty-print vprobes monitor/guest stack output, which looks like
# "VMM_addr..." Give this script a path to a .vmx, and it will parse the
# log file, fish out the symbols, tail the vprobe.out, and filter any
# monitor stacks it sees.
function die {
echo $1 >&2
exit 1
}
if [ $# -ne 1 ]; then
die "usage: $0 path-to.vmx"
fi
VMX=$1
VMDIR=$(dirname $VMX)
if [ -f $VMDIR/vmware.log ]; then
lgfile=$VMDIR/vmware.log
else
# here you go, Ole :)
lgfile=$VMDIR/log
fi
if ! [ -f $VMX ]; then
die "cannot open $VMX"
fi
if ! grep -i 'vprobe.guestSyms' $VMX > /dev/null 2>&1; then
die "no guest symbols in $VMX"
fi
if ! guestsyms=$(grep 'vprobe.guestSyms' $VMX | sed s'/.*=//;s/"//g;s/^ *//;'); then
die "could not parse $VMX for symbol file"
fi
exec stacks_resolve.pl $guestsyms
Jump to Line
Something went wrong with that request. Please try again.