httpd-modules-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Sorin Manolache <sor...@gmail.com>
Subject Re: Debuggin appears optimised but shouldn't be?
Date Mon, 13 Apr 2009 21:40:26 GMT
On Mon, Apr 13, 2009 at 13:46, Juhani Connolly <Juhani@ninja.co.jp> wrote:
> I'm currently trying to iron out some bugs in a module I'm working and have
> spent a day trying to get a debug environment working properly for apache.
>
> My ./configure for apache itself was the following:
> OPTIM=-O0\ ./configure --prefix=/usr/local/apache-dbg/
> --enable-maintainer-mode --with-apr=/usr/local/ --with-apr-util=/usr/local/
> --with-mpm=worker --enable-dbd --enable-so --enable-cgi

Your configuration seems ok.

Mine is
CFLAGS="-ggdb3 -O0 -fno-inline" ./configure and the rest...

and it works.

Sorin

>
> The apr/apr-util were also compiled with OPTIM=-O0 and maintainer-mode as
> well as some stuff like AP-DBD mysql.
>
> My problem is that whan I run apache through the debugger it still seems
> blatantly like I'm running optimised code as code jumps back and forth and
> certain variable are not visible at all.
>
> I would appreciate if someone could advise me as to what the problem is and
> how to resolve it.
>
>
> ************************************
>
> Some information that may be relevant:
>
> My module compiles in the following way when using apxs:
>
>> make
>
> /usr/local//build-1/libtool --silent --mode=compile gcc -Wall
> -Wmissing-prototypes -Wstrict-prototypes -Wmissing-declarations -pthread  -g
>  -DLINUX=2 -D_REENTRANT -D_GNU_SOURCE -DAP_DEBUG   -I/n/trunk/include/
>  -I/usr/local/apache-dbg//include -I. -I/usr/local//include/apr-1
> -prefer-pic -c mod_ninja_ads.c && touch mod_ninja_ads.slo
> /usr/local//build-1/libtool --silent --mode=link gcc -Wall
> -Wmissing-prototypes -Wstrict-prototypes -Wmissing-declarations -pthread  -g
>        -o mod_ninja_ads.la -rpath /usr/local/apache-dbg//modules -module
> -avoid-version  mod_ninja_ads.lo
>
> A sample of gdb output:
> The fact that it keeps telling me my source files are newer than my
> executable is certainly a cause of concern and I have no idea why this is
> the case as checking the library it has a last modified moments before I run
> it.
>
> ***********************************************************************************
> [root@stockx bin]# gdb ./httpd
> GNU gdb Red Hat Linux (6.5-37.el5_2.2rh)
> Copyright (C) 2006 Free Software Foundation, Inc.
> GDB is free software, covered by the GNU General Public License, and you are
> welcome to change it and/or distribute copies of it under certain
> conditions.
> Type "show copying" to see the conditions.
> There is absolutely no warranty for GDB.  Type "show warranty" for details.
> This GDB was configured as "x86_64-redhat-linux-gnu"...Using host
> libthread_db library "/lib64/libthread_db.so.1".
>
> (gdb) break ninja_ads_create_svr_conf
> Function "ninja_ads_create_svr_conf" not defined.
> Make breakpoint pending on future shared library load? (y or [n]) y
> Breakpoint 1 (ninja_ads_create_svr_conf) pending.
> (gdb) r -X
> Starting program: /usr/local/apache-dbg/bin/httpd -X
> [Thread debugging using libthread_db enabled]
> [New Thread 47407880549472 (LWP 23895)]
> Breakpoint 2 at 0x2b1e02016b80: file mod_ninja_ads.c, line 58.
> Pending breakpoint "ninja_ads_create_svr_conf" resolved
> [Switching to Thread 47407880549472 (LWP 23895)]
>
> Breakpoint 2, ninja_ads_create_svr_conf (p=0xa92d138, s=0xa945c20) at
> mod_ninja_ads.c:58
> warning: Source file is more recent than executable.
> 58      {
> (gdb) n
> 59              ninja_ads_srv_conf * svr = apr_pcalloc(p,
> sizeof(ninja_ads_srv_conf));
> (gdb)
> 61      //      memset(svr->axadFiles, 0, sizeof(svr->axadFiles));
> (gdb)
> 59              ninja_ads_srv_conf * svr = apr_pcalloc(p,
> sizeof(ninja_ads_srv_conf));
> (gdb) p svr
> No symbol "svr" in current context.
> (gdb) n
> 61      //      memset(svr->axadFiles, 0, sizeof(svr->axadFiles));
> (gdb)
> 60              svr->axadFileList = NULL;
> (gdb) p svr
>
> *************************************************************************
>



-- 
A: Because it reverses the logical flow of conversation.
Q: Why is top-posting frowned upon?
A: Top-posting.
Q: What is the most annoying thing in e-mail?

Mime
View raw message