• Home
  • History
  • Annotate
  • Line#
  • Navigate
  • Raw
  • Download
  • only in /asuswrt-rt-n18u-9.0.0.4.380.2695/release/src-rt-6.x.4708/toolchains/hndtools-armeabi-2011.09/share/doc/arm-arm-none-eabi/html/gdb/
1<html lang="en">
2<head>
3<title>Patching - Debugging with GDB</title>
4<meta http-equiv="Content-Type" content="text/html">
5<meta name="description" content="Debugging with GDB">
6<meta name="generator" content="makeinfo 4.13">
7<link title="Top" rel="start" href="index.html#Top">
8<link rel="up" href="Altering.html#Altering" title="Altering">
9<link rel="prev" href="Calling.html#Calling" title="Calling">
10<link href="http://www.gnu.org/software/texinfo/" rel="generator-home" title="Texinfo Homepage">
11<!--
12Copyright (C) 1988, 1989, 1990, 1991, 1992, 1993, 1994, 1995, 1996,
131998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010
14Free Software Foundation, Inc.
15
16Permission is granted to copy, distribute and/or modify this document
17under the terms of the GNU Free Documentation License, Version 1.3 or
18any later version published by the Free Software Foundation; with the
19Invariant Sections being ``Free Software'' and ``Free Software Needs
20Free Documentation'', with the Front-Cover Texts being ``A GNU Manual,''
21and with the Back-Cover Texts as in (a) below.
22
23(a) The FSF's Back-Cover Text is: ``You are free to copy and modify
24this GNU Manual.  Buying copies from GNU Press supports the FSF in
25developing GNU and promoting software freedom.''-->
26<meta http-equiv="Content-Style-Type" content="text/css">
27<style type="text/css"><!--
28  pre.display { font-family:inherit }
29  pre.format  { font-family:inherit }
30  pre.smalldisplay { font-family:inherit; font-size:smaller }
31  pre.smallformat  { font-family:inherit; font-size:smaller }
32  pre.smallexample { font-size:smaller }
33  pre.smalllisp    { font-size:smaller }
34  span.sc    { font-variant:small-caps }
35  span.roman { font-family:serif; font-weight:normal; } 
36  span.sansserif { font-family:sans-serif; font-weight:normal; } 
37--></style>
38<link rel="stylesheet" type="text/css" href="../cs.css">
39</head>
40<body>
41<div class="node">
42<a name="Patching"></a>
43<p>
44Previous:&nbsp;<a rel="previous" accesskey="p" href="Calling.html#Calling">Calling</a>,
45Up:&nbsp;<a rel="up" accesskey="u" href="Altering.html#Altering">Altering</a>
46<hr>
47</div>
48
49<h3 class="section">17.6 Patching Programs</h3>
50
51<p><a name="index-patching-binaries-945"></a><a name="index-writing-into-executables-946"></a><a name="index-writing-into-corefiles-947"></a>
52By default, <span class="sc">gdb</span> opens the file containing your program's
53executable code (or the corefile) read-only.  This prevents accidental
54alterations to machine code; but it also prevents you from intentionally
55patching your program's binary.
56
57   <p>If you'd like to be able to patch the binary, you can specify that
58explicitly with the <code>set write</code> command.  For example, you might
59want to turn on internal debugging flags, or even to make emergency
60repairs.
61
62     
63<a name="index-set-write-948"></a>
64<dl><dt><code>set write on</code><dt><code>set write off</code><dd>If you specify &lsquo;<samp><span class="samp">set write on</span></samp>&rsquo;, <span class="sc">gdb</span> opens executable and
65core files for both reading and writing; if you specify <kbd>set write
66off</kbd> (the default), <span class="sc">gdb</span> opens them read-only.
67
68     <p>If you have already loaded a file, you must load it again (using the
69<code>exec-file</code> or <code>core-file</code> command) after changing <code>set
70write</code>, for your new setting to take effect.
71
72     <br><dt><code>show write</code><dd><a name="index-show-write-949"></a>Display whether executable files and core files are opened for writing
73as well as reading. 
74</dl>
75
76   </body></html>
77
78