Ви не можете вибрати більше 25 тем Теми мають розпочинатися з літери або цифри, можуть містити дефіси (-) і не повинні перевищувати 35 символів.

144 lines
7.0KB

  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 6.5, http://www.gnu.org/software/texinfo/ -->
  14. <head>
  15. <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
  16. <title>Signaling (Debugging with GDB)</title>
  17. <meta name="description" content="Signaling (Debugging with GDB)">
  18. <meta name="keywords" content="Signaling (Debugging with GDB)">
  19. <meta name="resource-type" content="document">
  20. <meta name="distribution" content="global">
  21. <meta name="Generator" content="makeinfo">
  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="Returning.html#Returning" rel="next" title="Returning">
  27. <link href="Jumping.html#Jumping" rel="prev" title="Jumping">
  28. <style type="text/css">
  29. <!--
  30. a.summary-letter {text-decoration: none}
  31. blockquote.indentedblock {margin-right: 0em}
  32. blockquote.smallindentedblock {margin-right: 0em; font-size: smaller}
  33. blockquote.smallquotation {font-size: smaller}
  34. div.display {margin-left: 3.2em}
  35. div.example {margin-left: 3.2em}
  36. div.lisp {margin-left: 3.2em}
  37. div.smalldisplay {margin-left: 3.2em}
  38. div.smallexample {margin-left: 3.2em}
  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.nolinebreak {white-space: nowrap}
  50. span.roman {font-family: initial; font-weight: normal}
  51. span.sansserif {font-family: sans-serif; font-weight: normal}
  52. ul.no-bullet {list-style: none}
  53. -->
  54. </style>
  55. </head>
  56. <body lang="en">
  57. <a name="Signaling"></a>
  58. <div class="header">
  59. <p>
  60. Next: <a href="Returning.html#Returning" accesskey="n" rel="next">Returning</a>, Previous: <a href="Jumping.html#Jumping" accesskey="p" rel="prev">Jumping</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>
  61. </div>
  62. <hr>
  63. <a name="Giving-your-Program-a-Signal"></a>
  64. <h3 class="section">17.3 Giving your Program a Signal</h3>
  65. <a name="index-deliver-a-signal-to-a-program"></a>
  66. <dl compact="compact">
  67. <dd><a name="index-signal"></a>
  68. </dd>
  69. <dt><code>signal <var>signal</var></code></dt>
  70. <dd><p>Resume execution where your program is stopped, but immediately give it the
  71. signal <var>signal</var>. The <var>signal</var> can be the name or the number of a
  72. signal. For example, on many systems <code>signal 2</code> and <code>signal
  73. SIGINT</code> are both ways of sending an interrupt signal.
  74. </p>
  75. <p>Alternatively, if <var>signal</var> is zero, continue execution without
  76. giving a signal. This is useful when your program stopped on account of
  77. a signal and would ordinarily see the signal when resumed with the
  78. <code>continue</code> command; &lsquo;<samp>signal 0</samp>&rsquo; causes it to resume without a
  79. signal.
  80. </p>
  81. <p><em>Note:</em> When resuming a multi-threaded program, <var>signal</var> is
  82. delivered to the currently selected thread, not the thread that last
  83. reported a stop. This includes the situation where a thread was
  84. stopped due to a signal. So if you want to continue execution
  85. suppressing the signal that stopped a thread, you should select that
  86. same thread before issuing the &lsquo;<samp>signal 0</samp>&rsquo; command. If you issue
  87. the &lsquo;<samp>signal 0</samp>&rsquo; command with another thread as the selected one,
  88. <small>GDB</small> detects that and asks for confirmation.
  89. </p>
  90. <p>Invoking the <code>signal</code> command is not the same as invoking the
  91. <code>kill</code> utility from the shell. Sending a signal with <code>kill</code>
  92. causes <small>GDB</small> to decide what to do with the signal depending on
  93. the signal handling tables (see <a href="Signals.html#Signals">Signals</a>). The <code>signal</code> command
  94. passes the signal directly to your program.
  95. </p>
  96. <p><code>signal</code> does not repeat when you press <tt class="key">RET</tt> a second time
  97. after executing the command.
  98. </p>
  99. <a name="index-queue_002dsignal"></a>
  100. </dd>
  101. <dt><code>queue-signal <var>signal</var></code></dt>
  102. <dd><p>Queue <var>signal</var> to be delivered immediately to the current thread
  103. when execution of the thread resumes. The <var>signal</var> can be the name or
  104. the number of a signal. For example, on many systems <code>signal 2</code> and
  105. <code>signal SIGINT</code> are both ways of sending an interrupt signal.
  106. The handling of the signal must be set to pass the signal to the program,
  107. otherwise <small>GDB</small> will report an error.
  108. You can control the handling of signals from <small>GDB</small> with the
  109. <code>handle</code> command (see <a href="Signals.html#Signals">Signals</a>).
  110. </p>
  111. <p>Alternatively, if <var>signal</var> is zero, any currently queued signal
  112. for the current thread is discarded and when execution resumes no signal
  113. will be delivered. This is useful when your program stopped on account
  114. of a signal and would ordinarily see the signal when resumed with the
  115. <code>continue</code> command.
  116. </p>
  117. <p>This command differs from the <code>signal</code> command in that the signal
  118. is just queued, execution is not resumed. And <code>queue-signal</code> cannot
  119. be used to pass a signal whose handling state has been set to <code>nopass</code>
  120. (see <a href="Signals.html#Signals">Signals</a>).
  121. </p></dd>
  122. </dl>
  123. <p>See <a href="Signals.html#stepping-into-signal-handlers">stepping into signal handlers</a>, for information on how stepping
  124. commands behave when the thread has a signal queued.
  125. </p>
  126. <hr>
  127. <div class="header">
  128. <p>
  129. Next: <a href="Returning.html#Returning" accesskey="n" rel="next">Returning</a>, Previous: <a href="Jumping.html#Jumping" accesskey="p" rel="prev">Jumping</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>
  130. </div>
  131. </body>
  132. </html>