Wenn Sie gdb von der Shell-Befehlszeile aus starten, können Sie angeben, welches Programm mit welchen Argumenten ausgeführt werden soll (mit --args
) und sogar die Umgebung des Programms mit Hilfe von env
ändern !
Ich habe es gerade erfolgreich so gemacht:
gdb --ex=run --args env LD_BIND=now LD_DEBUG=libs \
apt-get install --yes $(cat pkgs-to-install-to-crash-apt)
--ex=run
ist, gdb zu bitten, es sofort auszuführen.
In Ihrem Fall würden Sie env -i
ausführen .
Er weicht vom vorgeschlagenen env -i VAR=... gdb program
ab , dass nur Ihr untersuchtes Programm unter der speziellen Umgebung ist, aber nicht gdb.
Variante 2 ist möglich.
(gdb) unset environment
(gdb) python gdb.execute("set environment Myvar=\xff")
(gdb) show environment
Myvar=ÿ
Option 1 kann mit env(1)
durchgeführt werden .
$ env -i MyVar=$(python -c 'print("xyz")') gdb
(gdb) show environment
MyVar=xyz
LINES=35
COLUMNS=80
Dann müssen Sie nur noch LINES und COLUMNS löschen.