#!/usr/bin/env bash # # Command-line script for controlling (start/stop) the BSim database # maximum heap memory (may be increased) MAXMEM=768M # launch mode (fg, bg, debug, debug-suspend) LAUNCH_MODE=fg VMARG_LIST="-Djava.awt.headless=true " # Resolve symbolic link if present and get the directory this script lives in. # NOTE: "readlink -f" is best but works on Linux only, "readlink" will only work if your PWD # contains the link you are calling (which is the best we can do on macOS), and the "echo" is the # fallback, which doesn't attempt to do anything with links. SCRIPT_FILE="$(readlink -f "$0" 2>/dev/null || readlink "$0" 2>/dev/null || echo "$0")" SCRIPT_DIR="${SCRIPT_FILE%/*}" # Some JVM's with class data sharing enabled have issues with BSim starting with Ghidra's custom # classloader, so we will disable sharing VMARG_LIST="-Xshare:off" ${SCRIPT_DIR}/launch.sh $LAUNCH_MODE jdk "BSimControl" $MAXMEM "${VMARG_LIST}" ghidra.features.bsim.query.BSimControlLaunchable "$@"