3 <title>Debugging with GDB
</title>
4 <meta http-equiv=
"Content-Type" content=
"text/html">
5 <meta name=
"description" content=
"Debugging with GDB">
6 <meta name=
"generator" content=
"makeinfo 4.3">
7 <link href=
"http://www.gnu.org/software/texinfo/" rel=
"generator-home">
12 Node:
<a name=
"Deviations">Deviations
</a>,
13 Next:
<a rel=
"next" accesskey=
"n" href=
"M2-Checks.html#M2%20Checks">M2 Checks
</a>,
14 Previous:
<a rel=
"previous" accesskey=
"p" href=
"M2-Defaults.html#M2%20Defaults">M2 Defaults
</a>,
15 Up:
<a rel=
"up" accesskey=
"u" href=
"Modula-2.html#Modula-2">Modula-
2</a>
19 <h5 class=
"subsubsection">Deviations from standard Modula-
2</h5>
21 <p>A few changes have been made to make Modula-
2 programs easier to debug.
22 This is done primarily via loosening its type strictness:
25 <li>Unlike in standard Modula-
2, pointer constants can be formed by
26 integers. This allows you to modify pointer variables during
27 debugging. (In standard Modula-
2, the actual address contained in a
28 pointer variable is hidden from you; it can only be modified
29 through direct assignment to another pointer variable or expression that
32 <li>C escape sequences can be used in strings and characters to represent
33 non-printable characters. GDB prints out strings with these
34 escape sequences embedded. Single non-printable characters are
35 printed using the
<code>CHR(
</code><var>nnn
</var><code>)
</code> format.
37 <li>The assignment operator (
<code>:=
</code>) returns the value of its right-hand
40 <li>All built-in procedures both modify
<em>and
</em> return their argument.