It does look odd. Maybe you are still loading some code before calling
Apache::DB->init(). Can you post your httpd.conf, or at least the mod_perl
part of it?
.... start of mod_perl configuration ...
<Perl>
use lib '/i4u/web/elres-mp';
# require Apache::DB;
# Apache::DB->init;
</Perl>
PerlRequire /i4u/web/elres-mp/etc/startup.pl
PerlModule Apache::DProf
PerlModule ELRes::ELRes
PerlModule ELRes::ApacheHandler
PerlTransHandler ELRes::ApacheHandler->trans_handler
PerlLogHandler ELRes::ApacheHandler->log_handler
PerlCleanupHandler ELRes::ApacheHandler->cleanup_handler
... end mod_perl configuration ...
the startup.pl script loads and require's all modules under ELRes::
namespace on startup time, as suggested in mod_perl documentation...
eval { $app->run }; if ($@) { $r->log_error("Server error: $@");
$app->send_error(err => $@); }
That's why I think you are loading some code before initializing the
debugger -- when it doesn't know about those other subs, they don't show up
in the profile.
the object that $app refer to is dynamically decided based on the hostname,
for example:
a.example.com ---> $app = ELRes::Property->new()
b.example.com ---> $app = ELRes::Property->new()
c.example.com ---> $app = ELRes::Distributor->new()
both ELRes::Property and ELRes::Distributor are children of
ELRes::TopLevelEntity and have run() method...
does this prevents the debugger to know which subroutine should be profiled?
all the test that I've done is on the hostname whose object is of class
ELRes::Property...
Anyway,
Hmmm... Where can I learn more about the debugger?
I didn't know profiling needs debugger, not until I was told about it in
this mailinglist...
Cheers...
---
Badai Aqrandista
Cheepy (?)
_________________________________________________________________
SEEK: Over 80,000 jobs across all industries at Australia's #1 job site.
http://ninemsn.seek.com.au?hotmail