You are viewing a plain text version of this content. The canonical link for it is here.
Posted to modperl-cvs@perl.apache.org by st...@apache.org on 2003/03/01 07:49:21 UTC
cvs commit: modperl-docs/src/docs/2.0/devel/debug/code .debug-modperl-init .debug-modperl-register .debug-modperl-xs
stas 2003/02/28 22:49:21
Modified: src/docs/2.0/devel/debug c.pod
src/docs/2.0/devel/debug/code .debug-modperl-init
.debug-modperl-register .debug-modperl-xs
Log:
add a note about preloading libpthread lib's symbols in order to be able
to debug the worker mpm
Revision Changes Path
1.5 +12 -2 modperl-docs/src/docs/2.0/devel/debug/c.pod
Index: c.pod
===================================================================
RCS file: /home/cvs/modperl-docs/src/docs/2.0/devel/debug/c.pod,v
retrieving revision 1.4
retrieving revision 1.5
diff -u -r1.4 -r1.5
--- c.pod 17 Feb 2003 03:28:06 -0000 1.4
+++ c.pod 1 Mar 2003 06:49:21 -0000 1.5
@@ -70,8 +70,8 @@
as early as possible in I<~/.gdbinit> file.
With this setting in effect, you can load only the needed dynamic
-libraries with I<sharedlibrary> command. Remember that in order to set
-a breakpoint and step through the code inside a certain dynamic
+libraries with I<sharedlibrary> gdb command. Remember that in order to
+set a breakpoint and step through the code inside a certain dynamic
library you have to load it first. For example consider this gdb
commands file:
@@ -167,6 +167,16 @@
in the beginning of this section and craft the startup script the way
you need to avoid extra typing and mistakes when repeating the same
debugging process again and again.
+
+Under threaded mpms (e.g. worker), it's possible that you won't be
+able to debug unless you tell gdb to load the symbols from the threads
+library. So for example if on your OS that library is called
+I<libpthread.so> make sure to add:
+
+ sharedlibrary libpthread
+
+somewhere after the program has started. See the L<Precooked gdb
+Startup Scripts|/Precooked_gdb_Startup_Scripts> section for examples.
Another important thing is that whenever you want to be able to see
the source code for the code you are stepping through, the library or
1.3 +2 -0 modperl-docs/src/docs/2.0/devel/debug/code/.debug-modperl-init
Index: .debug-modperl-init
===================================================================
RCS file: /home/cvs/modperl-docs/src/docs/2.0/devel/debug/code/.debug-modperl-init,v
retrieving revision 1.2
retrieving revision 1.3
diff -u -r1.2 -r1.3
--- .debug-modperl-init 31 Dec 2002 04:07:37 -0000 1.2
+++ .debug-modperl-init 1 Mar 2003 06:49:21 -0000 1.3
@@ -28,6 +28,8 @@
end
define sharedap
+ # ADJUST: uncomment next line to debug threaded mpms
+ #sharedlibrary libpthread
sharedlibrary apr
sharedlibrary aprutil
#sharedlibrary mod_ssl.so
1.3 +3 -0 modperl-docs/src/docs/2.0/devel/debug/code/.debug-modperl-register
Index: .debug-modperl-register
===================================================================
RCS file: /home/cvs/modperl-docs/src/docs/2.0/devel/debug/code/.debug-modperl-register,v
retrieving revision 1.2
retrieving revision 1.3
diff -u -r1.2 -r1.3
--- .debug-modperl-register 31 Dec 2002 04:07:37 -0000 1.2
+++ .debug-modperl-register 1 Mar 2003 06:49:21 -0000 1.3
@@ -77,6 +77,9 @@
#b modperl_cmd_load_module
#modperl_config_apply_PerlModule
+# ADJUST: uncomment next line to debug threaded mpms
+#sharedlibrary libpthread
+
# ADJUST: uncomment if you need to step through the code in apr libs
#sharedap
1.2 +2 -0 modperl-docs/src/docs/2.0/devel/debug/code/.debug-modperl-xs
Index: .debug-modperl-xs
===================================================================
RCS file: /home/cvs/modperl-docs/src/docs/2.0/devel/debug/code/.debug-modperl-xs,v
retrieving revision 1.1
retrieving revision 1.2
diff -u -r1.1 -r1.2
--- .debug-modperl-xs 9 Dec 2002 16:29:57 -0000 1.1
+++ .debug-modperl-xs 1 Mar 2003 06:49:21 -0000 1.2
@@ -26,6 +26,8 @@
end
define sharedap
+ # ADJUST: uncomment next line to debug threaded mpms
+ #sharedlibrary libpthread
sharedlibrary apr
sharedlibrary aprutil
#sharedlibrary mod_ssl.so