How to set environment variable within GDB using shell command?
When starting gdb from shell command-line, you can specify which program to run, with which arguments (with --args
), and even modify the environment of the program with the help of env
!
I just did it successfully like this:
gdb --ex=run --args env LD_BIND=now LD_DEBUG=libs \
apt-get install --yes $(cat pkgs-to-install-to-crash-apt)
--ex=run
is to ask gdb to run it immediately.
In your case, you would do env -i
.
It differs from the suggested env -i VAR=... gdb program
in that only your examined program is under the special environment, but not gdb.
Option 2 is possible.
(gdb) unset environment
(gdb) python gdb.execute("set environment Myvar=\xff")
(gdb) show environment
Myvar=ÿ
Option 1 can be done with env(1)
.
$ env -i MyVar=$(python -c 'print("xyz")') gdb
(gdb) show environment
MyVar=xyz
LINES=35
COLUMNS=80
Then you just have to clear LINES and COLUMNS.