-
Notifications
You must be signed in to change notification settings - Fork 7
Expand file tree
/
Copy pathapachegdb.sh
More file actions
executable file
·53 lines (42 loc) · 1.45 KB
/
apachegdb.sh
File metadata and controls
executable file
·53 lines (42 loc) · 1.45 KB
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
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
#!/bin/bash
# set -x
# Fire up gdb with LD_LIBRARY_PATH setup for apache
# If you're following the setup I used then this
# should help if you wanna use gdb for apache
# where our builds are...
CODETOP=$HOME/code/openssl-upstream-master
ATOP=$HOME/code/httpd
RUNTOP=$HOME/lt
export ATOP
export RUNTOP
# name of apache config we're using - used to decide what processes to
# kill off before starting gdb, and when starting gdb as well
AP_CFGNAME=$HOME/code/ech-dev-utils/configs/apachemin.conf
OSSL_LP=$CODETOP
HTTPD_LP=$ATOP/.libs
APR_LP=$ATOP/srclib/apr/.libs
MO_LP=$ATOP/modules/ssl/.libs
AAA_LP=$ATOP/modules/aaa/.libs
ENV_LP=$ATOP/modules/metadata/.libs/
CFG_LP=$ATOP/modules/loggers/.libs/
UNIX_LP=$ATOP/modules/arch/unix/.libs/
export LD_LIBRARY_PATH="$OSSL_LP:$HTTPD_LP:$APR_LP:$MO_LP:$ENV_LP:$CFG_LP:$UNIX_LP"
# kill off other processes
procs=`ps -ef | grep httpd | grep $AP_CFGNAME | grep -v grep | awk '{print $2}'`
for proc in $procs
do
echo "Killing $proc"
kill -9 $proc
done
sleep 2
# go to the right place and fire up gdb, as needed
cd $RUNTOP
# we take one argument that can be a breakpoint
if [[ "$1" != "" ]]
then
echo "Setting breakpoint to $1"
gdb -ex "set breakpoint pending on" -ex "b \"$1\"" -exec $ATOP/.libs/httpd -ex "run -X -d . -f $AP_CFGNAME -DFOREGROUND"
else
# gdb -exec $ATOP/.libs/httpd -ex "run -X -d . -f $AP_CFGNAME -DFOREGROUND"
valgrind --leak-check=full -s $ATOP/.libs/httpd -X -d . -f $AP_CFGNAME -DFOREGROUND
fi