/usr/share/doc/fweb/html-info/Debugging-with-macros.html is in fweb-doc 1.62-13.
This file is owned by root:root, with mode 0o644.
The actual contents of the file can be viewed below.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 | <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<!-- Created by GNU Texinfo 6.1, http://www.gnu.org/software/texinfo/ -->
<head>
<title>FWEB: Debugging with macros</title>
<meta name="description" content="FWEB: Debugging with macros">
<meta name="keywords" content="FWEB: Debugging with macros">
<meta name="resource-type" content="document">
<meta name="distribution" content="global">
<meta name="Generator" content="makeinfo">
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<link href="index.html#Top" rel="start" title="Top">
<link href="Concept-index.html#Concept-index" rel="index" title="Concept index">
<link href="Parameter-index.html#SEC_Contents" rel="contents" title="Table of Contents">
<link href="FWEB-macros.html#FWEB-macros" rel="up" title="FWEB macros">
<link href="Macros-and-formatting.html#Macros-and-formatting" rel="next" title="Macros and formatting">
<link href="_0024VERSION.html#g_t_0024VERSION" rel="prev" title="$VERSION">
<style type="text/css">
<!--
a.summary-letter {text-decoration: none}
blockquote.indentedblock {margin-right: 0em}
blockquote.smallindentedblock {margin-right: 0em; font-size: smaller}
blockquote.smallquotation {font-size: smaller}
div.display {margin-left: 3.2em}
div.example {margin-left: 3.2em}
div.lisp {margin-left: 3.2em}
div.smalldisplay {margin-left: 3.2em}
div.smallexample {margin-left: 3.2em}
div.smalllisp {margin-left: 3.2em}
kbd {font-style: oblique}
pre.display {font-family: inherit}
pre.format {font-family: inherit}
pre.menu-comment {font-family: serif}
pre.menu-preformatted {font-family: serif}
pre.smalldisplay {font-family: inherit; font-size: smaller}
pre.smallexample {font-size: smaller}
pre.smallformat {font-family: inherit; font-size: smaller}
pre.smalllisp {font-size: smaller}
span.nolinebreak {white-space: nowrap}
span.roman {font-family: initial; font-weight: normal}
span.sansserif {font-family: sans-serif; font-weight: normal}
ul.no-bullet {list-style: none}
-->
</style>
</head>
<body lang="en">
<a name="Debugging-with-macros"></a>
<div class="header">
<p>
Previous: <a href="Built_002din-functions.html#Built_002din-functions" accesskey="p" rel="prev">Built-in functions</a>, Up: <a href="FWEB-macros.html#FWEB-macros" accesskey="u" rel="up">FWEB macros</a> [<a href="Parameter-index.html#SEC_Contents" title="Table of contents" rel="contents">Contents</a>][<a href="Concept-index.html#Concept-index" title="Index" rel="index">Index</a>]</p>
</div>
<hr>
<a name="Debugging-with-macros-1"></a>
<h4 class="subsection">7.2.4 Debugging with macros</h4>
<a name="index-Macros_002c-debugging-with"></a>
<a name="index-_0023line"></a>
<p>If an <small>FWEB</small> macro expands to more than one output line, debugging
can be a bit confusing if the debugger (e.g., <code>gdb</code>) displays lines
in the <code>web</code> source file instead of the output file (as it normally
does for C and C++). While single-stepping through the code, the
debugger will incorrectly step the screen display for each output line
even if the macro call occupies just one line in the source file. To
localize the debugger’s confusion, insert a ‘<samp>@#line</samp>’ command after
the macro call. For example,
</p>
<div class="example">
<pre class="example">@c
@ Example of a macro that expands to several output lines.
@m UPDATE(i, delta_i)
i += delta_i;
store(i)@;
@a
main()
{
UPDATE(j, 5);
@#line
// More code. The debugger will be in sync from here on.
}
</pre></div>
<p>An alternative for highly confusing situations is to use the ‘<samp>-#</samp>’
option (see <a href="_002d_0023.html#g_t_002d_0023">-#</a>).
</p>
<p>Another potentially confusing situation occurs when ‘<samp>@%</samp>’ is used
to comment out a line. <small>FWEB</small> deals with the line-number problem
that arises here automatically; see <a href="_002dT_0023.html#g_t_002dT_0023">-T#</a>.
</p>
</body>
</html>
|