如何修改gdbserver的环境变量和工作目录--multi而不重新启动它?

时间:2017-07-17 17:03:26

标签: gdb gdbserver

当我运行一个程序,从environ本地打印环境时使用:

./gdb myprintenv

我可以使用以下命令更改运行中的环境变量:

run
set environment asdf=qwer
run

有没有办法用gdbserver --multi做到这一点?

我正在运行它:

gdbserver --multi :1234 ./myprintenv

然后在本地:

arm-linux-gnueabihf-gdb -ex 'target extended-remote remotehost:1234' ./myprintenv
然后命令:

set environment asdf=qwer
run

没有效果。

我可以用以下内容更改变量:

asdf=qwer gdbserver --multi :1234 ./myprintenv

但这很烦人,因为它需要mon exit,登机,重新运行,去主持,重新连接舞蹈。

工作目录也是如此,您可以change with cd locally,但显然不在服务器上。

一种替代方法是每次都使用SSH启动gdbserver而不使用--multi,就像Eclipse一样,但这样做的缺点是很难看到stdout:How can I reach STDIN/STDOUT through a gdbserver session

1 个答案:

答案 0 :(得分:1)

此功能尚未存在于gdb中。它正在开发中:https://sourceware.org/ml/gdb-patches/2017-08/msg00000.html