You are viewing a plain text version of this content. The canonical link for it is here.
Posted to cvs@httpd.apache.org by bu...@apache.org on 2019/10/30 03:40:58 UTC

svn commit: r1052146 - in /websites/staging/httpd/trunk/content: ./ dev/debugging.html

Author: buildbot
Date: Wed Oct 30 03:40:58 2019
New Revision: 1052146

Log:
Staging update by buildbot for httpd

Modified:
    websites/staging/httpd/trunk/content/   (props changed)
    websites/staging/httpd/trunk/content/dev/debugging.html

Propchange: websites/staging/httpd/trunk/content/
------------------------------------------------------------------------------
--- cms:source-revision (original)
+++ cms:source-revision Wed Oct 30 03:40:58 2019
@@ -1 +1 @@
-1869143
+1869144

Modified: websites/staging/httpd/trunk/content/dev/debugging.html
==============================================================================
--- websites/staging/httpd/trunk/content/dev/debugging.html (original)
+++ websites/staging/httpd/trunk/content/dev/debugging.html Wed Oct 30 03:40:58 2019
@@ -158,85 +158,83 @@ use gdb's attach command to debug the ch
 shows the output of gdb run on a server executable (httpd) in the current
 working directory and using the server root of <code>/usr/local/apache</code> :
 <pre>
-    % gdb httpd
+    % <font color="green">gdb httpd</font>
     GDB is free software and you are welcome to 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.
     GDB 4.16.gnat.1.13 (sparc-sun-solaris2.5), 
     Copyright 1996 Free Software Foundation, Inc...
-    (gdb) b ap_process_request
+    (gdb) <font color="green">b ap_process_request</font>
     Breakpoint 1 at 0x49fb4: file http_request.c, line 1164.
-    (gdb) run -X -d /usr/local/apache
-    Starting program: /usr/local/apache/src/httpd -X -d /usr/local/apache</p>
-<div class="codehilite"><pre><span class="k">[at this point I make a request from another window]</span>
-
-<span class="na">Breakpoint 1, ap_process_request (r</span><span class="o">=</span><span class="s">0x95250) at http_request.c:1164</span>
-<span class="err">1164</span>    <span class="err">if</span> <span class="err">(ap_extended_status)</span>
-<span class="err">(gdb)</span> <span class="err">s</span>
-<span class="err">1165</span>       
-<span class="err">ap_time_process_request(r-&amp;gt</span><span class="c">;connection-&amp;gt;child_num,...</span>
-<span class="err">(gdb)</span> <span class="err">n</span>
-<span class="err">1167</span>    <span class="err">process_request_internal(r)</span><span class="c">;</span>
-<span class="err">(gdb)</span> <span class="err">s</span>
-<span class="na">process_request_internal (r</span><span class="o">=</span><span class="s">0x95250) at http_request.c:1028</span>
-<span class="err">1028</span>    <span class="err">if</span> <span class="err">(!r-&amp;gt</span><span class="c">;proxyreq &amp;amp;&amp;amp; r-&amp;gt;parsed_uri.path) {</span>
-<span class="err">(gdb)</span> <span class="err">s</span>
-<span class="na">1029        access_status</span> <span class="o">=</span> <span class="s">ap_unescape_url(r-&amp;gt;parsed_uri.path);</span>
-<span class="err">(gdb)</span> <span class="err">n</span>
-<span class="err">1030</span>        <span class="err">if</span> <span class="err">(access_status)</span> <span class="err">{</span>
-<span class="err">(gdb)</span> <span class="err">s</span>
-<span class="err">1036</span>    <span class="err">ap_getparents(r-&amp;gt</span><span class="c">;uri);     /* OK...</span>
-<span class="err">(gdb)</span> <span class="err">n</span>
-<span class="na">1038    if ((access_status</span> <span class="o">=</span> <span class="s">location_walk(r))) {</span>
-<span class="err">(gdb)</span> <span class="err">n</span>
-<span class="na">1043    if ((access_status</span> <span class="o">=</span> <span class="s">ap_translate_name(r))) {</span>
-<span class="err">(gdb)</span> <span class="err">n</span>
-<span class="err">1048</span>    <span class="err">if</span> <span class="err">(!r-&amp;gt</span><span class="c">;proxyreq) {</span>
-<span class="err">(gdb)</span> <span class="err">n</span>
-<span class="na">1053        if (r-&amp;gt;method_number</span> <span class="o">=</span><span class="s">= M_TRACE) {</span>
-<span class="err">(gdb)</span> <span class="err">n</span>
-<span class="err">1062</span>    <span class="err">if</span> <span class="err">(r-&amp;gt</span><span class="c">;proto_num &amp;gt; HTTP_VERSION(1,0) &amp;amp;&amp;amp;</span>
-<span class="err">ap_...</span>
-<span class="err">(gdb)</span> <span class="err">n</span>
-<span class="na">1071    if ((access_status</span> <span class="o">=</span> <span class="s">directory_walk(r))) {</span>
-<span class="err">(gdb)</span> <span class="err">s</span>
-<span class="na">directory_walk (r</span><span class="o">=</span><span class="s">0x95250) at http_request.c:288</span>
-<span class="na">288     core_server_config *sconf</span> <span class="o">=</span> <span class="s">ap_get_module_...</span>
-<span class="err">(gdb)</span> <span class="err">b</span> <span class="err">ap_send_error_response</span>
-<span class="err">Breakpoint</span> <span class="err">2</span> <span class="err">at</span> <span class="err">0x47dcc:</span> <span class="err">file</span> <span class="err">http_protocol.c,</span> <span class="err">line</span> <span class="err">2090.</span>
-<span class="err">(gdb)</span> <span class="err">c</span>
-<span class="err">Continuing.</span>
-
-<span class="na">Breakpoint 2, ap_send_error_response (r</span><span class="o">=</span><span class="s">0x95250, recursive_error=0)</span>
-<span class="err">at</span> <span class="err">http_protocol.c:2090</span>
-<span class="na">2090    BUFF *fd</span> <span class="o">=</span> <span class="s">r-&amp;gt;connection-&amp;gt;client;</span>
-<span class="err">(gdb)</span> <span class="err">where</span>
-<span class="c">#0  ap_send_error_response (r=0x95250, recursive_error=0)</span>
-<span class="err">at</span> <span class="err">http_protocol.c:2090</span>
-<span class="c">#1  0x49b10 in ap_die (type=403, r=0x95250) at http_request.c:989</span>
-<span class="c">#2  0x49b60 in decl_die (status=403, phase=0x62db8 &quot;check access&quot;,</span>
-<span class="na">r</span><span class="o">=</span><span class="s">0x95250)</span>
-<span class="err">at</span> <span class="err">http_request.c:1000</span>
-<span class="c">#3  0x49f68 in process_request_internal (r=0x95250) at</span>
-<span class="err">http_request.c:1141</span>
-<span class="c">#4  0x49fe0 in ap_process_request (r=0x95250) at http_request.c:1167</span>
-<span class="c">#5  0x439d8 in child_main (child_num_arg=550608) at http_main.c:3826</span>
-<span class="c">#6  0x43b5c in make_child (s=0x7c3e8, slot=0, now=907958743)</span>
-<span class="err">at</span> <span class="err">http_main.c:3898</span>
-<span class="c">#7  0x43ca8 in startup_children (number_to_start=6) at http_main.c:3972</span>
-<span class="c">#8  0x44260 in standalone_main (argc=392552, argv=0x75800) at</span>
-<span class="err">http_main.c:4250</span>
-<span class="c">#9  0x449fc in main (argc=4, argv=0xefffee8c) at http_main.c:4534</span>
-<span class="err">(gdb)</span> <span class="err">s</span>
-<span class="na">2091    int status</span> <span class="o">=</span> <span class="s">r-&amp;gt;status;</span>
-<span class="err">(gdb)</span> <span class="err">p</span> <span class="err">status</span>
-<span class="na">$1</span> <span class="o">=</span> <span class="s">403</span>
-<span class="err">(gdb)</span>
-</pre></div>
-
-
-<p></pre>
+    (gdb) <font color="green">run -X -d /usr/local/apache</font>
+    Starting program: /usr/local/apache/src/httpd -X -d /usr/local/apache
+&nbsp;
+    [ at this point I make a request from another window ]
+&nbsp;
+    Breakpoint 1, ap_process_request (r=0x95250) at http_request.c:1164
+    1164    if (ap_extended_status)
+    (gdb) <font color="green">s</font>
+    1165     <br />
+    ap_time_process_request(r-&gt;connection-&gt;child_num,...
+    (gdb) <font color="green">n</font>
+    1167    process_request_internal(r);
+    (gdb) <font color="green">s</font>
+    process_request_internal (r=0x95250) at http_request.c:1028
+    1028    if (!r-&gt;proxyreq &amp;&amp; r-&gt;parsed_uri.path) {
+    (gdb) <font color="green">s</font>
+    1029        access_status = ap_unescape_url(r-&gt;parsed_uri.path);
+    (gdb) <font color="green">n</font>
+    1030        if (access_status) {
+    (gdb) <font color="green">s</font>
+    1036    ap_getparents(r-&gt;uri);     /<em> OK...
+    (gdb) <font color="green">n</font>
+    1038    if ((access_status = location_walk(r))) {
+    (gdb) <font color="green">n</font>
+    1043    if ((access_status = ap_translate_name(r))) {
+    (gdb) <font color="green">n</font>
+    1048    if (!r-&gt;proxyreq) {
+    (gdb) <font color="green">n</font>
+    1053        if (r-&gt;method_number == M_TRACE) {
+    (gdb) <font color="green">n</font>
+    1062    if (r-&gt;proto_num &gt; HTTP_VERSION(1,0) &amp;&amp;
+    ap_...
+    (gdb) <font color="green">n</font>
+    1071    if ((access_status = directory_walk(r))) {
+    (gdb) <font color="green">s</font>
+    directory_walk (r=0x95250) at http_request.c:288
+    288     core_server_config </em>sconf = ap_get_module_...
+    (gdb) <font color="green">b ap_send_error_response</font>
+    Breakpoint 2 at 0x47dcc: file http_protocol.c, line 2090.
+    (gdb) <font color="green">c</font>
+    Continuing.
+&nbsp;
+    Breakpoint 2, ap_send_error_response (r=0x95250, recursive_error=0)
+    at http_protocol.c:2090
+    2090    BUFF *fd = r-&gt;connection-&gt;client;
+    (gdb) <font color="green">where</font>
+    #0  ap_send_error_response (r=0x95250, recursive_error=0)
+    at http_protocol.c:2090
+    #1  0x49b10 in ap_die (type=403, r=0x95250) at http_request.c:989
+    #2  0x49b60 in decl_die (status=403, phase=0x62db8 "check access",
+    r=0x95250)
+    at http_request.c:1000
+    #3  0x49f68 in process_request_internal (r=0x95250) at
+    http_request.c:1141
+    #4  0x49fe0 in ap_process_request (r=0x95250) at http_request.c:1167
+    #5  0x439d8 in child_main (child_num_arg=550608) at http_main.c:3826
+    #6  0x43b5c in make_child (s=0x7c3e8, slot=0, now=907958743)
+    at http_main.c:3898
+    #7  0x43ca8 in startup_children (number_to_start=6) at http_main.c:3972
+    #8  0x44260 in standalone_main (argc=392552, argv=0x75800) at
+    http_main.c:4250
+    #9  0x449fc in main (argc=4, argv=0xefffee8c) at http_main.c:4534
+    (gdb) <font color="green">s</font>
+    2091    int status = r-&gt;status;
+    (gdb) <font color="green">p status</font>
+    $1 = 403
+    (gdb) 
+</pre>
 There are a few things to note about the above example:</p>
 <ol>
 <li>