Signaling.html 7.1 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144
  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: Signaling</title>
  16. <meta name="description" content="Debugging with GDB: Signaling">
  17. <meta name="keywords" content="Debugging with GDB: Signaling">
  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="Returning.html#Returning" rel="next" title="Returning">
  27. <link href="Jumping.html#Jumping" rel="previous" title="Jumping">
  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="Signaling"></a>
  59. <div class="header">
  60. <p>
  61. Next: <a href="Returning.html#Returning" accesskey="n" rel="next">Returning</a>, Previous: <a href="Jumping.html#Jumping" accesskey="p" rel="previous">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>
  62. </div>
  63. <hr>
  64. <a name="Giving-your-Program-a-Signal"></a>
  65. <h3 class="section">17.3 Giving your Program a Signal</h3>
  66. <a name="index-deliver-a-signal-to-a-program"></a>
  67. <dl compact="compact">
  68. <dd><a name="index-signal"></a>
  69. </dd>
  70. <dt><code>signal <var>signal</var></code></dt>
  71. <dd><p>Resume execution where your program is stopped, but immediately give it the
  72. signal <var>signal</var>. The <var>signal</var> can be the name or the number of a
  73. signal. For example, on many systems <code>signal 2</code> and <code>signal
  74. SIGINT</code> are both ways of sending an interrupt signal.
  75. </p>
  76. <p>Alternatively, if <var>signal</var> is zero, continue execution without
  77. giving a signal. This is useful when your program stopped on account of
  78. a signal and would ordinarily see the signal when resumed with the
  79. <code>continue</code> command; &lsquo;<samp>signal 0</samp>&rsquo; causes it to resume without a
  80. signal.
  81. </p>
  82. <p><em>Note:</em> When resuming a multi-threaded program, <var>signal</var> is
  83. delivered to the currently selected thread, not the thread that last
  84. reported a stop. This includes the situation where a thread was
  85. stopped due to a signal. So if you want to continue execution
  86. suppressing the signal that stopped a thread, you should select that
  87. same thread before issuing the &lsquo;<samp>signal 0</samp>&rsquo; command. If you issue
  88. the &lsquo;<samp>signal 0</samp>&rsquo; command with another thread as the selected one,
  89. <small>GDB</small> detects that and asks for confirmation.
  90. </p>
  91. <p>Invoking the <code>signal</code> command is not the same as invoking the
  92. <code>kill</code> utility from the shell. Sending a signal with <code>kill</code>
  93. causes <small>GDB</small> to decide what to do with the signal depending on
  94. the signal handling tables (see <a href="Signals.html#Signals">Signals</a>). The <code>signal</code> command
  95. passes the signal directly to your program.
  96. </p>
  97. <p><code>signal</code> does not repeat when you press <tt class="key">RET</tt> a second time
  98. after executing the command.
  99. </p>
  100. <a name="index-queue_002dsignal"></a>
  101. </dd>
  102. <dt><code>queue-signal <var>signal</var></code></dt>
  103. <dd><p>Queue <var>signal</var> to be delivered immediately to the current thread
  104. when execution of the thread resumes. The <var>signal</var> can be the name or
  105. the number of a signal. For example, on many systems <code>signal 2</code> and
  106. <code>signal SIGINT</code> are both ways of sending an interrupt signal.
  107. The handling of the signal must be set to pass the signal to the program,
  108. otherwise <small>GDB</small> will report an error.
  109. You can control the handling of signals from <small>GDB</small> with the
  110. <code>handle</code> command (see <a href="Signals.html#Signals">Signals</a>).
  111. </p>
  112. <p>Alternatively, if <var>signal</var> is zero, any currently queued signal
  113. for the current thread is discarded and when execution resumes no signal
  114. will be delivered. This is useful when your program stopped on account
  115. of a signal and would ordinarily see the signal when resumed with the
  116. <code>continue</code> command.
  117. </p>
  118. <p>This command differs from the <code>signal</code> command in that the signal
  119. is just queued, execution is not resumed. And <code>queue-signal</code> cannot
  120. be used to pass a signal whose handling state has been set to <code>nopass</code>
  121. (see <a href="Signals.html#Signals">Signals</a>).
  122. </p></dd>
  123. </dl>
  124. <p>See <a href="Signals.html#stepping-into-signal-handlers">stepping into signal handlers</a>, for information on how stepping
  125. commands behave when the thread has a signal queued.
  126. </p>
  127. <hr>
  128. <div class="header">
  129. <p>
  130. Next: <a href="Returning.html#Returning" accesskey="n" rel="next">Returning</a>, Previous: <a href="Jumping.html#Jumping" accesskey="p" rel="previous">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>
  131. </div>
  132. </body>
  133. </html>