[英]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.