GNU/Linux >> LINUX-Kenntnisse >  >> Linux

Wie setze ich die Umgebungsvariable in GDB mit dem Shell-Befehl?

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.


Linux
  1. [Linux] :So schließen Sie das Verzeichnis aus, wenn Sie den Shell-Befehl „tar“ verwenden

  2. Wie weist man die Ausgabe eines Befehls einer Shell-Variablen zu?

  3. So legen Sie eine Benutzerumgebungsvariable fest (dauerhaft, nicht Sitzung)?

  4. Wie setze ich eine Umgebungsvariable in der Befehlszeile und lasse sie in Befehlen erscheinen?

  5. Wie setze ich programmgesteuert eine permanente Umgebungsvariable in Linux?

So legen Sie die Umgebungsvariable in Windows fest

So legen Sie Umgebungsvariablen in MacOS fest

So setzen/löschen Sie Umgebungsvariablen in Linux

So speichern Sie einen Linux-Befehl als Variable im Shell-Skript

So setzen/erstellen Sie Umgebungs- und Shell-Variablen in Linux

So setzen Sie die Umgebungsvariable in Bash