Al iniciar gdb desde la línea de comandos de shell, puede especificar qué programa ejecutar, con qué argumentos (con --args
), e incluso modificar el entorno del programa con la ayuda de env
!
Lo acabo de hacer con éxito así:
gdb --ex=run --args env LD_BIND=now LD_DEBUG=libs \
apt-get install --yes $(cat pkgs-to-install-to-crash-apt)
--ex=run
es pedirle a gdb que lo ejecute inmediatamente.
En tu caso, harías env -i
.
Difiere del env -i VAR=... gdb program
sugerido en que solo su programa examinado está bajo el entorno especial, pero no gdb.
La opción 2 es posible.
(gdb) unset environment
(gdb) python gdb.execute("set environment Myvar=\xff")
(gdb) show environment
Myvar=ÿ
La opción 1 se puede hacer con env(1)
.
$ env -i MyVar=$(python -c 'print("xyz")') gdb
(gdb) show environment
MyVar=xyz
LINES=35
COLUMNS=80
Luego solo tienes que borrar LÍNEAS y COLUMNAS.