<html lang="en">
<head>
<title>Thread-Specific Breakpoints - Debugging with GDB</title>
<meta http-equiv="Content-Type" content="text/html">
<meta name="description" content="Debugging with GDB">
<meta name="generator" content="makeinfo 4.13">
<link title="Top" rel="start" href="index.html#Top">
<link rel="up" href="Thread-Stops.html#Thread-Stops" title="Thread Stops">
<link rel="prev" href="Background-Execution.html#Background-Execution" title="Background Execution">
<link rel="next" href="Interrupted-System-Calls.html#Interrupted-System-Calls" title="Interrupted System Calls">
<link href="http://www.gnu.org/software/texinfo/" rel="generator-home" title="Texinfo Homepage">
<!--
Copyright (C) 1988-2019 Free Software Foundation, Inc.

Permission is granted to copy, distribute and/or modify this document
under the terms of the GNU Free Documentation License, Version 1.3 or
any later version published by the Free Software Foundation; with the
Invariant Sections being ``Free Software'' and ``Free Software Needs
Free Documentation'', with the Front-Cover Texts being ``A GNU Manual,''
and with the Back-Cover Texts as in (a) below.

(a) The FSF's Back-Cover Text is: ``You are free to copy and modify
this GNU Manual.  Buying copies from GNU Press supports the FSF in
developing GNU and promoting software freedom.''
-->
<meta http-equiv="Content-Style-Type" content="text/css">
<style type="text/css"><!--
  pre.display { font-family:inherit }
  pre.format  { font-family:inherit }
  pre.smalldisplay { font-family:inherit; font-size:smaller }
  pre.smallformat  { font-family:inherit; font-size:smaller }
  pre.smallexample { font-size:smaller }
  pre.smalllisp    { font-size:smaller }
  span.sc    { font-variant:small-caps }
  span.roman { font-family:serif; font-weight:normal; } 
  span.sansserif { font-family:sans-serif; font-weight:normal; } 
--></style>
</head>
<body>
<div class="node">
<a name="Thread-Specific-Breakpoints"></a>
<a name="Thread_002dSpecific-Breakpoints"></a>
<p>
Next:&nbsp;<a rel="next" accesskey="n" href="Interrupted-System-Calls.html#Interrupted-System-Calls">Interrupted System Calls</a>,
Previous:&nbsp;<a rel="previous" accesskey="p" href="Background-Execution.html#Background-Execution">Background Execution</a>,
Up:&nbsp;<a rel="up" accesskey="u" href="Thread-Stops.html#Thread-Stops">Thread Stops</a>
<hr>
</div>

<h4 class="subsection">5.5.4 Thread-Specific Breakpoints</h4>

<p>When your program has multiple threads (see <a href="Threads.html#Threads">Debugging Programs with Multiple Threads</a>), you can choose whether to set
breakpoints on all threads, or on a particular thread.

     
<a name="index-breakpoints-and-threads-428"></a>
<a name="index-thread-breakpoints-429"></a>
<a name="index-break-_0040dots_007b_007d-thread-_0040var_007bthread_002did_007d-430"></a>
<dl><dt><code>break </code><var>location</var><code> thread </code><var>thread-id</var><dt><code>break </code><var>location</var><code> thread </code><var>thread-id</var><code> if ...</code><dd><var>location</var> specifies source lines; there are several ways of
writing them (see <a href="Specify-Location.html#Specify-Location">Specify Location</a>), but the effect is always to
specify some source line.

     <p>Use the qualifier &lsquo;<samp><span class="samp">thread </span><var>thread-id</var></samp>&rsquo; with a breakpoint command
to specify that you only want <span class="sc">gdb</span> to stop the program when a
particular thread reaches this breakpoint.  The <var>thread-id</var> specifier
is one of the thread identifiers assigned by <span class="sc">gdb</span>, shown
in the first column of the &lsquo;<samp><span class="samp">info threads</span></samp>&rsquo; display.

     <p>If you do not specify &lsquo;<samp><span class="samp">thread </span><var>thread-id</var></samp>&rsquo; when you set a
breakpoint, the breakpoint applies to <em>all</em> threads of your
program.

     <p>You can use the <code>thread</code> qualifier on conditional breakpoints as
well; in this case, place &lsquo;<samp><span class="samp">thread </span><var>thread-id</var></samp>&rsquo; before or
after the breakpoint condition, like this:

     <pre class="smallexample">          (gdb) break frik.c:13 thread 28 if bartab &gt; lim
</pre>
     </dl>

   <p>Thread-specific breakpoints are automatically deleted when
<span class="sc">gdb</span> detects the corresponding thread is no longer in the
thread list.  For example:

<pre class="smallexample">     (gdb) c
     Thread-specific breakpoint 3 deleted - thread 28 no longer in the thread list.
</pre>
   <p>There are several ways for a thread to disappear, such as a regular
thread exit, but also when you detach from the process with the
<code>detach</code> command (see <a href="Attach.html#Attach">Debugging an Already-running Process</a>), or if <span class="sc">gdb</span> loses the remote connection
(see <a href="Remote-Debugging.html#Remote-Debugging">Remote Debugging</a>), etc.  Note that with some targets,
<span class="sc">gdb</span> is only able to detect a thread has exited when the user
explictly asks for the thread list with the <code>info threads</code>
command.

   </body></html>

