blob: 045eace17aab47a95f9fb99d680a5b346949b555 [file] [log] [blame]
<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, 1989, 1990, 1991, 1992, 1993, 1994, 1995, 1996,
1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010
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>
<link rel="stylesheet" type="text/css" href="../cs.css">
</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.4.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-345"></a>
<a name="index-thread-breakpoints-346"></a>
<a name="index-break-_0040dots_007b_007d-thread-_0040var_007bthreadno_007d-347"></a>
<dl><dt><code>break </code><var>linespec</var><code> thread </code><var>threadno</var><dt><code>break </code><var>linespec</var><code> thread </code><var>threadno</var><code> if ...</code><dd><var>linespec</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>threadno</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. <var>threadno</var> is one of the
numeric 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>threadno</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>threadno</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>
</body></html>