aboutsummaryrefslogtreecommitdiff
path: root/contrib/debug
blob: 6b34eccf35c26c63d89a0041536325d2e22bc1fb (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
#!/bin/bash

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