<html lang="en">
<head>
<title>Running - 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="prev" href="Commands.html#Commands" title="Commands">
<link rel="next" href="Stopping.html#Stopping" title="Stopping">
<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="Running"></a>
<p>
Next:&nbsp;<a rel="next" accesskey="n" href="Stopping.html#Stopping">Stopping</a>,
Previous:&nbsp;<a rel="previous" accesskey="p" href="Commands.html#Commands">Commands</a>,
Up:&nbsp;<a rel="up" accesskey="u" href="index.html#Top">Top</a>
<hr>
</div>

<h2 class="chapter">4 Running Programs Under <span class="sc">gdb</span></h2>

<p>When you run a program under <span class="sc">gdb</span>, you must first generate
debugging information when you compile it.

   <p>You may start <span class="sc">gdb</span> with its arguments, if any, in an environment
of your choice.  If you are doing native debugging, you may redirect
your program's input and output, debug an already running process, or
kill a child process.

<ul class="menu">
<li><a accesskey="1" href="Compilation.html#Compilation">Compilation</a>:                  Compiling for debugging
<li><a accesskey="2" href="Starting.html#Starting">Starting</a>:                     Starting your program
<li><a accesskey="3" href="Arguments.html#Arguments">Arguments</a>:                    Your program's arguments
<li><a accesskey="4" href="Environment.html#Environment">Environment</a>:                  Your program's environment

<li><a accesskey="5" href="Working-Directory.html#Working-Directory">Working Directory</a>:            Your program's working directory
<li><a accesskey="6" href="Input_002fOutput.html#Input_002fOutput">Input/Output</a>:                 Your program's input and output
<li><a accesskey="7" href="Attach.html#Attach">Attach</a>:                       Debugging an already-running process
<li><a accesskey="8" href="Kill-Process.html#Kill-Process">Kill Process</a>:                 Killing the child process

<li><a accesskey="9" href="Inferiors-and-Programs.html#Inferiors-and-Programs">Inferiors and Programs</a>:       Debugging multiple inferiors and programs
<li><a href="Threads.html#Threads">Threads</a>:                      Debugging programs with multiple threads
<li><a href="Forks.html#Forks">Forks</a>:                        Debugging forks
<li><a href="Checkpoint_002fRestart.html#Checkpoint_002fRestart">Checkpoint/Restart</a>:           Setting a <em>bookmark</em> to return to later
</ul>

   </body></html>

