Very general advice:
Look again at that backtrace. Are any of the stack frames in code you control? If so, what line, and what is happening there?
Do you know what dlopen()
does? If not read the manual. If the backtrace does not include any of you code, this may well be failing at the time Apache
tries to load your code. Are you sure you've built the module with the right compiler options?
Effective debugging requires knowing your environment and tools. Sydius's advice is good here.
If you're stuck on other paths, check that you can write, load, and run a trivial module. Probably you'll find an example of this in almost any documentation on the subject.
To dave's clarification: Between beginner and expert can be a tough spot.
Are you calling in libraries in the offending code that you don't use elsewhere? Maybe the loader path is messed up just for that resource.
Aside from that I'm just about out of advice. Sorry.
NB: I had occasion to read David J. Agans' book Debugging last year. It is not software specific, but is a good read, and helpful even if you are already a pretty good debugger.