如何使用shell命令在GDB中设置环境变量?

问题描述 投票:3回答:1

我想在其环境中只使用一个变量gdb运行MyVar

但是,变量的内容相当复杂,包含不可打印的ASCII,因此最好使用例如MyVar=$(python -c 'print("\xff...")')

我有两种选择:

  1. 在运行MyVar之前,在bash中设置gdb。然后在gdb中,使用unset environment NAME单独删除所有其他环境变量(非常繁琐!)。
  2. 使用unset environment清除所有环境变量。然后在gdb里面,使用shell命令设置MyVar(如上所述)(怎么样?)

有任何想法吗?

linux x86 gdb
1个回答
2
投票

选项2是possible

(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

然后你只需要清除LINES和COLUMNS。

© www.soinside.com 2019 - 2024. All rights reserved.