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

<h3 class="section">4.5 Your Program's Working Directory</h3>

<p><a name="index-working-directory-_0028of-your-program_0029-119"></a>Each time you start your program with <code>run</code>, it inherits its
working directory from the current working directory of <span class="sc">gdb</span>. 
The <span class="sc">gdb</span> working directory is initially whatever it inherited
from its parent process (typically the shell), but you can specify a new
working directory in <span class="sc">gdb</span> with the <code>cd</code> command.

   <p>The <span class="sc">gdb</span> working directory also serves as a default for the commands
that specify files for <span class="sc">gdb</span> to operate on.  See <a href="Files.html#Files">Commands to Specify Files</a>.

     
<a name="index-cd-120"></a>
<a name="index-change-working-directory-121"></a>
<dl><dt><code>cd </code><var>directory</var><dd>Set the <span class="sc">gdb</span> working directory to <var>directory</var>.

     <p><a name="index-pwd-122"></a><br><dt><code>pwd</code><dd>Print the <span class="sc">gdb</span> working directory. 
</dl>

   <p>It is generally impossible to find the current working directory of
the process being debugged (since a program can change its directory
during its run).  If you work on a system where <span class="sc">gdb</span> is
configured with the <samp><span class="file">/proc</span></samp> support, you can use the <code>info
proc</code> command (see <a href="SVR4-Process-Information.html#SVR4-Process-Information">SVR4 Process Information</a>) to find out the
current working directory of the debuggee.

   </body></html>

