如何在不重启的情况下修改gdbserver --multi的环境变量和工作目录?
How to modify the environment variables and working directory of gdbserver --multi without restarting it?
当我 运行 一个程序在本地使用 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 所做的那样,但缺点是很难看到标准输出:How can I reach STDIN/STDOUT through a gdbserver session
gdb 中尚不存在此功能。它正在开发中:https://sourceware.org/ml/gdb-patches/2017-08/msg00000.html
当我 运行 一个程序在本地使用 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 所做的那样,但缺点是很难看到标准输出:How can I reach STDIN/STDOUT through a gdbserver session
gdb 中尚不存在此功能。它正在开发中:https://sourceware.org/ml/gdb-patches/2017-08/msg00000.html