Jumping.html 6.1 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129
  1. <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
  2. <html>
  3. <!-- Copyright (C) 1988-2020 Free Software Foundation, Inc.
  4. Permission is granted to copy, distribute and/or modify this document
  5. under the terms of the GNU Free Documentation License, Version 1.3 or
  6. any later version published by the Free Software Foundation; with the
  7. Invariant Sections being "Free Software" and "Free Software Needs
  8. Free Documentation", with the Front-Cover Texts being "A GNU Manual,"
  9. and with the Back-Cover Texts as in (a) below.
  10. (a) The FSF's Back-Cover Text is: "You are free to copy and modify
  11. this GNU Manual. Buying copies from GNU Press supports the FSF in
  12. developing GNU and promoting software freedom." -->
  13. <!-- Created by GNU Texinfo 5.1, http://www.gnu.org/software/texinfo/ -->
  14. <head>
  15. <title>Debugging with GDB: Jumping</title>
  16. <meta name="description" content="Debugging with GDB: Jumping">
  17. <meta name="keywords" content="Debugging with GDB: Jumping">
  18. <meta name="resource-type" content="document">
  19. <meta name="distribution" content="global">
  20. <meta name="Generator" content="makeinfo">
  21. <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
  22. <link href="index.html#Top" rel="start" title="Top">
  23. <link href="Concept-Index.html#Concept-Index" rel="index" title="Concept Index">
  24. <link href="index.html#SEC_Contents" rel="contents" title="Table of Contents">
  25. <link href="Altering.html#Altering" rel="up" title="Altering">
  26. <link href="Signaling.html#Signaling" rel="next" title="Signaling">
  27. <link href="Assignment.html#Assignment" rel="previous" title="Assignment">
  28. <style type="text/css">
  29. <!--
  30. a.summary-letter {text-decoration: none}
  31. blockquote.smallquotation {font-size: smaller}
  32. div.display {margin-left: 3.2em}
  33. div.example {margin-left: 3.2em}
  34. div.indentedblock {margin-left: 3.2em}
  35. div.lisp {margin-left: 3.2em}
  36. div.smalldisplay {margin-left: 3.2em}
  37. div.smallexample {margin-left: 3.2em}
  38. div.smallindentedblock {margin-left: 3.2em; font-size: smaller}
  39. div.smalllisp {margin-left: 3.2em}
  40. kbd {font-style:oblique}
  41. pre.display {font-family: inherit}
  42. pre.format {font-family: inherit}
  43. pre.menu-comment {font-family: serif}
  44. pre.menu-preformatted {font-family: serif}
  45. pre.smalldisplay {font-family: inherit; font-size: smaller}
  46. pre.smallexample {font-size: smaller}
  47. pre.smallformat {font-family: inherit; font-size: smaller}
  48. pre.smalllisp {font-size: smaller}
  49. span.nocodebreak {white-space:nowrap}
  50. span.nolinebreak {white-space:nowrap}
  51. span.roman {font-family:serif; font-weight:normal}
  52. span.sansserif {font-family:sans-serif; font-weight:normal}
  53. ul.no-bullet {list-style: none}
  54. -->
  55. </style>
  56. </head>
  57. <body lang="en" bgcolor="#FFFFFF" text="#000000" link="#0000FF" vlink="#800080" alink="#FF0000">
  58. <a name="Jumping"></a>
  59. <div class="header">
  60. <p>
  61. Next: <a href="Signaling.html#Signaling" accesskey="n" rel="next">Signaling</a>, Previous: <a href="Assignment.html#Assignment" accesskey="p" rel="previous">Assignment</a>, Up: <a href="Altering.html#Altering" accesskey="u" rel="up">Altering</a> &nbsp; [<a href="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>
  62. </div>
  63. <hr>
  64. <a name="Continuing-at-a-Different-Address"></a>
  65. <h3 class="section">17.2 Continuing at a Different Address</h3>
  66. <p>Ordinarily, when you continue your program, you do so at the place where
  67. it stopped, with the <code>continue</code> command. You can instead continue at
  68. an address of your own choosing, with the following commands:
  69. </p>
  70. <dl compact="compact">
  71. <dd><a name="index-jump"></a>
  72. <a name="index-j-_0028jump_0029"></a>
  73. </dd>
  74. <dt><code>jump <var>location</var></code></dt>
  75. <dt><code>j <var>location</var></code></dt>
  76. <dd><p>Resume execution at <var>location</var>. Execution stops again immediately
  77. if there is a breakpoint there. See <a href="Specify-Location.html#Specify-Location">Specify Location</a>, for a description
  78. of the different forms of <var>location</var>. It is common
  79. practice to use the <code>tbreak</code> command in conjunction with
  80. <code>jump</code>. See <a href="Set-Breaks.html#Set-Breaks">Setting Breakpoints</a>.
  81. </p>
  82. <p>The <code>jump</code> command does not change the current stack frame, or
  83. the stack pointer, or the contents of any memory location or any
  84. register other than the program counter. If <var>location</var> is in
  85. a different function from the one currently executing, the results may
  86. be bizarre if the two functions expect different patterns of arguments or
  87. of local variables. For this reason, the <code>jump</code> command requests
  88. confirmation if the specified line is not in the function currently
  89. executing. However, even bizarre results are predictable if you are
  90. well acquainted with the machine-language code of your program.
  91. </p></dd>
  92. </dl>
  93. <p>On many systems, you can get much the same effect as the <code>jump</code>
  94. command by storing a new value into the register <code>$pc</code>. The
  95. difference is that this does not start your program running; it only
  96. changes the address of where it <em>will</em> run when you continue. For
  97. example,
  98. </p>
  99. <div class="smallexample">
  100. <pre class="smallexample">set $pc = 0x485
  101. </pre></div>
  102. <p>makes the next <code>continue</code> command or stepping command execute at
  103. address <code>0x485</code>, rather than at the address where your program stopped.
  104. See <a href="Continuing-and-Stepping.html#Continuing-and-Stepping">Continuing and Stepping</a>.
  105. </p>
  106. <p>The most common occasion to use the <code>jump</code> command is to back
  107. up&mdash;perhaps with more breakpoints set&mdash;over a portion of a program
  108. that has already executed, in order to examine its execution in more
  109. detail.
  110. </p>
  111. <hr>
  112. <div class="header">
  113. <p>
  114. Next: <a href="Signaling.html#Signaling" accesskey="n" rel="next">Signaling</a>, Previous: <a href="Assignment.html#Assignment" accesskey="p" rel="previous">Assignment</a>, Up: <a href="Altering.html#Altering" accesskey="u" rel="up">Altering</a> &nbsp; [<a href="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>
  115. </div>
  116. </body>
  117. </html>