<html lang="en">
<head>
<title>Delete Breaks - 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="Breakpoints.html#Breakpoints" title="Breakpoints">
<link rel="prev" href="Set-Catchpoints.html#Set-Catchpoints" title="Set Catchpoints">
<link rel="next" href="Disabling.html#Disabling" title="Disabling">
<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="Delete-Breaks"></a>
<p>
Next:&nbsp;<a rel="next" accesskey="n" href="Disabling.html#Disabling">Disabling</a>,
Previous:&nbsp;<a rel="previous" accesskey="p" href="Set-Catchpoints.html#Set-Catchpoints">Set Catchpoints</a>,
Up:&nbsp;<a rel="up" accesskey="u" href="Breakpoints.html#Breakpoints">Breakpoints</a>
<hr>
</div>

<h4 class="subsection">5.1.4 Deleting Breakpoints</h4>

<p><a name="index-clearing-breakpoints_002c-watchpoints_002c-catchpoints-262"></a><a name="index-deleting-breakpoints_002c-watchpoints_002c-catchpoints-263"></a>It is often necessary to eliminate a breakpoint, watchpoint, or
catchpoint once it has done its job and you no longer want your program
to stop there.  This is called <dfn>deleting</dfn> the breakpoint.  A
breakpoint that has been deleted no longer exists; it is forgotten.

   <p>With the <code>clear</code> command you can delete breakpoints according to
where they are in your program.  With the <code>delete</code> command you can
delete individual breakpoints, watchpoints, or catchpoints by specifying
their breakpoint numbers.

   <p>It is not necessary to delete a breakpoint to proceed past it.  <span class="sc">gdb</span>
automatically ignores breakpoints on the first instruction to be executed
when you continue execution without changing the execution address.

     
<a name="index-clear-264"></a>
<dl><dt><code>clear</code><dd>Delete any breakpoints at the next instruction to be executed in the
selected stack frame (see <a href="Selection.html#Selection">Selecting a Frame</a>).  When
the innermost frame is selected, this is a good way to delete a
breakpoint where your program just stopped.

     <br><dt><code>clear </code><var>location</var><dd>Delete any breakpoints set at the specified <var>location</var>. 
See <a href="Specify-Location.html#Specify-Location">Specify Location</a>, for the various forms of <var>location</var>; the
most useful ones are listed below:

          <dl>
<dt><code>clear </code><var>function</var><dt><code>clear </code><var>filename</var><code>:</code><var>function</var><dd>Delete any breakpoints set at entry to the named <var>function</var>.

          <br><dt><code>clear </code><var>linenum</var><dt><code>clear </code><var>filename</var><code>:</code><var>linenum</var><dd>Delete any breakpoints set at or within the code of the specified
<var>linenum</var> of the specified <var>filename</var>. 
</dl>

     <p><a name="index-delete-breakpoints-265"></a><a name="index-delete-266"></a><a name="index-d-_0040r_007b_0028_0040code_007bdelete_007d_0029_007d-267"></a><br><dt><code>delete </code><span class="roman">[</span><code>breakpoints</code><span class="roman">]</span> <span class="roman">[</span><var>range</var><code>...</code><span class="roman">]</span><dd>Delete the breakpoints, watchpoints, or catchpoints of the breakpoint
ranges specified as arguments.  If no argument is specified, delete all
breakpoints (<span class="sc">gdb</span> asks confirmation, unless you have <code>set
confirm off</code>).  You can abbreviate this command as <code>d</code>. 
</dl>

   </body></html>

