12345678910111213141516171819202122232425262728293031323334353637 |
- #!/bin/sh
- # /proc/sys/kernel/core_pattern should be core.%p.%E
- COREPID=$1
- COREFILES=`ls -1 *core.$COREPID* 2>/dev/null | wc -l`
- COREFILE=`ls -1 *core.$COREPID* 2>/dev/null | head -n 1`
- if [ $COREFILES -gt 1 ]; then
- echo "Multiple files, using $COREFILE"
- fi
- if [ $COREFILES -eq 0 ]; then
- SERVICENAME=$1
- COREFILES=`ls -1 core.*.*$SERVICENAME 2>/dev/null | wc -l`
- COREFILE=`ls -1 core.*.*$SERVICENAME 2>/dev/null | head -n 1`
- if [ $COREFILES -gt 1 ]; then
- echo "Multiple files, using $COREFILE"
- fi
- fi
- if [ $COREFILES -eq 0 ]; then
- echo "Core file for $1 not found"
- exit 1
- fi
- echo "Using $COREFILE"
- EXECPATH=${COREFILE#*!}
- EXECPATH=`echo $EXECPATH | sed -e 's/!/\//g'`
- echo $EXECPATH
- echo ""
- echo ""
- gdb --core $COREFILE /$EXECPATH
|