ghidra/Ghidra/RuntimeScripts/Linux/support/bsim_ctl
2025-09-03 01:46:15 +09:00

24 lines
1,000 B
Bash
Executable file

#!/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 "$@"