32 lines
965 B
Bash
Executable File
32 lines
965 B
Bash
Executable File
#!/bin/bash
|
|
if [ "$1" == "-h" ]; then
|
|
echo "Usage: ${BASH_SOURCE[0]} [plugin process name] [port]"
|
|
exit
|
|
fi
|
|
|
|
PORT="${2:-3222}"
|
|
PLUGIN_NAME="${1:-zabbix-plugin_}"
|
|
|
|
# Build optimized for debug
|
|
make build-debug
|
|
|
|
# Reload plugin
|
|
pkill ${PLUGIN_NAME}
|
|
sleep 2
|
|
|
|
if [ "$OSTYPE" == "linux-gnu" ]; then
|
|
ptrace_scope=`cat /proc/sys/kernel/yama/ptrace_scope`
|
|
if [ "$ptrace_scope" != 0 ]; then
|
|
echo "WARNING: ptrace_scope set to value other than 0, this might prevent debugger from connecting, try writing \"0\" to /proc/sys/kernel/yama/ptrace_scope.
|
|
Read more at https://www.kernel.org/doc/Documentation/security/Yama.txt"
|
|
read -p "Set ptrace_scope to 0? y/N (default N)" set_ptrace_input
|
|
if [ "$set_ptrace_input" == "y" ] || [ "$set_ptrace_input" == "Y" ]; then
|
|
echo 0 | sudo tee /proc/sys/kernel/yama/ptrace_scope
|
|
fi
|
|
fi
|
|
fi
|
|
|
|
PLUGIN_PID=`pgrep ${PLUGIN_NAME}`
|
|
dlv attach ${PLUGIN_PID} --headless --listen=:${PORT} --api-version 2 --log
|
|
pkill dlv
|