[英]How to set environment variable within GDB using shell command?
我想在其环境中仅使用一个变量MyVar
运行gdb
。
但是,变量的内容相当复杂,包含不可打印的 ASCII,因此最好使用例如MyVar=$(python -c 'print("\\xff...")')
。
我有两个选择:
在运行gdb
之前在bash
设置MyVar
。 然后在gdb
,使用未unset environment NAME
(非常乏味! )单独删除所有其他环境变量。
使用unset environment
清除所有环境变量。 然后在gdb
,使用 shell 命令设置MyVar
(如上所述)(如何?)
有任何想法吗?
从 shell 命令行启动 gdb 时,您可以指定要运行的程序,使用哪些参数(使用--args
) ,甚至可以在env
的帮助下修改程序的环境!
我只是像这样成功地做到了:
gdb --ex=run --args env LD_BIND=now LD_DEBUG=libs \
apt-get install --yes $(cat pkgs-to-install-to-crash-apt)
--ex=run
是让 gdb 立即运行。
在你的情况下,你会做env -i
。
它与建议的env -i VAR=... gdb program
不同之处在于,只有您检查的程序在特殊环境下,而不是 gdb。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.