From 41ef2965ab38c28fb46dfc21695d6ed676a6b911 Mon Sep 17 00:00:00 2001 From: Pedro Alves Date: Fri, 10 Jan 2014 15:46:59 +0000 Subject: [PATCH] [doc] Mention that "set environment" affects the shell too. gdb/doc/ 2014-01-10 Pedro Alves * gdb.texinfo (Your Program's Environment) : Mention the shell, and point at 'set exec-wrapper'. --- gdb/doc/ChangeLog | 5 +++++ gdb/doc/gdb.texinfo | 14 +++++++++++--- 2 files changed, 16 insertions(+), 3 deletions(-) diff --git a/gdb/doc/ChangeLog b/gdb/doc/ChangeLog index afcfbd9..ecab738 100644 --- a/gdb/doc/ChangeLog +++ b/gdb/doc/ChangeLog @@ -1,3 +1,8 @@ +2014-01-10 Pedro Alves + + * gdb.texinfo (Your Program's Environment) : + Mention the shell, and point at 'set exec-wrapper'. + 2014-01-07 Joel Brobecker * gdb.texinfo (Types In Python): Document new attribute Types.name. diff --git a/gdb/doc/gdb.texinfo b/gdb/doc/gdb.texinfo index 74ddcf5..e4cff84 100644 --- a/gdb/doc/gdb.texinfo +++ b/gdb/doc/gdb.texinfo @@ -2089,6 +2089,7 @@ your program too late, as the program would have already completed the elaboration phase. Under these circumstances, insert breakpoints in your elaboration code before running your program. +@anchor{set exec-wrapper} @kindex set exec-wrapper @item set exec-wrapper @var{wrapper} @itemx show exec-wrapper @@ -2279,9 +2280,10 @@ your program. You can abbreviate @code{environment} as @code{env}. @kindex set environment @item set environment @var{varname} @r{[}=@var{value}@r{]} Set environment variable @var{varname} to @var{value}. The value -changes for your program only, not for @value{GDBN} itself. @var{value} may -be any string; the values of environment variables are just strings, and -any interpretation is supplied by your program itself. The @var{value} +changes for your program (and the shell @value{GDBN} uses to launch +it), not for @value{GDBN} itself. @var{value} may be any string; the +values of environment variables are just strings, and any +interpretation is supplied by your program itself. The @var{value} parameter is optional; if it is eliminated, the variable is set to a null value. @c "any string" here does not include leading, trailing @@ -2298,6 +2300,12 @@ tells the debugged program, when subsequently run, that its user is named @samp{foo}. (The spaces around @samp{=} are used for clarity here; they are not actually required.) +Note that on Unix systems, @value{GDBN} runs your program via a shell, +which also inherits the environment set with @code{set environment}. +If necessary, you can avoid that by using the @samp{env} program as a +wrapper instead of using @code{set environment}. @xref{set +exec-wrapper}, for an example doing just that. + @kindex unset environment @item unset environment @var{varname} Remove variable @var{varname} from the environment to be passed to your -- 2.7.4