Как установить переменную среды в GDB с помощью команды оболочки? - PullRequest
3 голосов
/ 09 апреля 2019

Я хочу запустить gdb только с одной переменной MyVar в своей среде.

Тем не менее, содержимое переменной довольно сложное, содержит непечатаемый ASCII, и поэтому его лучше установить, например, MyVar=$(python -c 'print("\xff...")').

. У меня есть две опции:

  1. Установите MyVar в bash перед запуском gdb.Затем внутри gdb удалите все остальные переменные среды по отдельности, используя unset environment NAME ( очень утомительно! ).

  2. Очистите все переменные среды, используя unset environment.Затем внутри gdb установите MyVar с помощью команды оболочки (как указано выше) ( как?)

Есть идеи?

1 Ответ

2 голосов
/ 09 апреля 2019

Вариант 2: возможно .

(gdb) unset environment
(gdb) python gdb.execute("set environment Myvar=\xff")
(gdb) show environment 
Myvar=ÿ

Вариант 1 может быть выполнен с env(1).

$ env -i MyVar=$(python -c 'print("xyz")') gdb
(gdb) show environment
MyVar=xyz
LINES=35
COLUMNS=80

Тогда вам просто нужно очистить ЛИНИИ и КОЛОННЫ.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...