stas 02/03/18 08:31:15 Modified: src/docs/2.0/devel/debug_c debug_c.pod Added: src/docs/2.0/devel/debug_c/code .debug-modperl-xs Log: add another startup script for debugging XS modules Revision Changes Path 1.5 +14 -1 modperl-docs/src/docs/2.0/devel/debug_c/debug_c.pod Index: debug_c.pod =================================================================== RCS file: /home/cvs/modperl-docs/src/docs/2.0/devel/debug_c/debug_c.pod,v retrieving revision 1.4 retrieving revision 1.5 diff -u -r1.4 -r1.5 --- debug_c.pod 18 Mar 2002 07:19:18 -0000 1.4 +++ debug_c.pod 18 Mar 2002 16:31:15 -0000 1.5 @@ -205,12 +205,25 @@ =over -=item Debugging mod_perl Initialization +=item * Debugging mod_perl Initialization The F<code/.debug-modperl-init> startup script breaks at the modperl_hook_init() function, which is useful for debugging code at the modperl's initialization phase. +=item * Debugging mod_perl XS Extensions + +The F<code/.debug-modperl-xs> startup script breaks at the +mpxs_Apache__Filter_print() function implemented in +I<xs/Apache/Filter/Apache__Filter.h>. This is an example of debugging +code in XS Extensions. For this particular example the complete test +case is: + + % ddd -command=.debug-modperl-xs & \ + t/TEST -v -run -ping=block filter/api + +When I<filter/api> test is running it calls +mpxs_Apache__Filter_print() which is when the breakpoint is reached. =back 1.1 modperl-docs/src/docs/2.0/devel/debug_c/code/.debug-modperl-xs Index: .debug-modperl-xs =================================================================== # This gdb startup script breaks at the mpxs_Apache__Filter_print() # function from the XS code, as an example how you can debug the code # in XS extensions. # # Invoke as: # gdb -command=.debug-modperl-xs # and then run: # t/TEST -v -run -ping=block filter/api # # see ADJUST notes for things that may need to be adjusted # ADJUST: the path to the httpd executable if needed file /home/stas/httpd/worker/bin/httpd handle SIGPIPE nostop handle SIGPIPE pass define myrun tbreak main break ap_run_pre_config # ADJUST: the httpd.conf file's path if needed # ADJUST: add -DPERL_USEITHREADS to debug threaded mpms run -d `pwd`/t -f `pwd`/t/conf/httpd.conf \ -DONE_PROCESS -DNO_DETATCH -DAPACHE2 set auto-solib-add 0 continue end define gopoll b apr_poll continue continue end # threads specific, for some reason needs to go through apr_poll many # times before getting to the next breakpoint, so we skip these define bring_me_there # ignoring apr_poll (bp #3) 12 times ignore 3 12 continue end define mybp # load Apache/Filter.so sharedlibrary Filter b mpxs_Apache__Filter_print end myrun gopoll mybp # ADJUST: uncomment for threaded mpm #bring_me_there
--------------------------------------------------------------------- To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]