gpt4 book ai didi

linux - 通过 ssh : how to redirect stdin 启动的 c++ 进程的 gdb 远程调试

转载 作者:塔克拉玛干 更新时间:2023-11-03 01:34:56 28 4
gpt4 key购买 nike

首先,一些背景。我通过在 remote_host 上启动进程来运行程序使用 ssh :

ssh -T remote_host "cd ~/mydir && ~/myprogram" < input.txt

程序,myprogram , 读取附加到本地文件的标准输入 input.txt .

现在,我需要在 gdb 下远程调试这个程序。如果没有标准输入重定向,即 < input.txt ,我可以使用 gdb 的 target remote 来做到这一点,像这样(在 gdb 提示符下):

(gdb) target remote | ssh -T remote_host gdbserver - myprogram

但是,在上面的例子中,我不知道如何附加myprogram的标准输入为 input.txt .

有什么东西可以解决问题吗?

最佳答案

gdbserver 不从 stdin 读取,因此它调用的程序将可以不受限制地访问 stdin。你应该能够做到这一点:

ssh -T remote_host "cd ~/mydir && gdbserver :1234 ~/myprogram" < input.txt

其中 1234 是未使用的端口。然后,

(gdb) target remote remote_host:1234

这样做的缺点是 gdb-gdbserver TCP 连接不会被加密。

关于linux - 通过 ssh : how to redirect stdin 启动的 c++ 进程的 gdb 远程调试,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20980411/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com