当前位置: 首页 > 知识库问答 >
问题:

通过ssh使用gdbserver进行远程调试

曹振
2023-03-14

>

  • 停止防火墙服务:

    服务firewall_service停止

    将进程附加到gdbserver

    当我尝试通过在主机框上运行'target remote remote_ip:remote_port'来启动主机上的调试时,我得到一个'connection timedout'错误。

    你们能看到我做错了什么吗,任何需要检查的东西,或者通过ssh远程调试的替代方法吗?我将不胜感激。谢谢

  • 共有1个答案

    邹华皓
    2023-03-14

    此命令:

    sudo ssh remote_username@remote_ip -L host_port:localhost:remote_port ...
    

    将本地host_port转发到remote_ip的localhost上的remote_port。只有当您不能直接连接到remote_ip:remote_port(例如,如果该端口被防火墙阻止)时,这才是有用的。

    此命令:

    (gdb) target remote remote_ip:remote_port
    
    ssh remote_username@remote_ip -L host_port:localhost:remote_port ...
    (gdb) target remote :host_port
    
     类似资料:
    • 我想使用MinGW DebugServer.exe从我的笔记本电脑调试正在开发计算机(作为远程计算机)上运行的进程。但我遇到了一个问题“创建进程”D:\RemotedBG\xxx.exe时出错“,(错误50):请求不受支持”。我使用Visual Studio2013构建了xxx.exe,并尝试使用MinGW GDBServer进行远程调试。 如果这是不可行的,你可以推荐我任何方法做远程调试在Win

    • 开始调试后的消息(图片拍摄自VS2017) 顺便说一下,我从Visual Studio 2017的debug菜单的Linux控制台窗口得到了以下消息: 已创建Process/home/.../projects/testlinuxdebug/bin/x64/debug/testlinuxdebug.out;pid=29277监听端口4444从主机127.0.0.1/build/gdb-9un5xp/

    • 远程Linux计算机位于内部网络中,没有公共IP地址。所以我安装了ngrok。 ngrok by@不可恢复(Ctrl C退出)在线隧道状态2.0.19/2.0.17版Web界面http://127.0.0.1:4040 转发tcp://0.tcp.ngrok.io:36428 - 我检查了sshd是否正在运行。 在当地的电脑上,我试着 这引起了 SSH:连接到主机ngrok.com端口36428:

    • 问题内容: 我正在尝试通过ssh启动测试服务器,但是一旦我与ssh断开连接,它总是会死掉。 有没有办法启动一个进程(运行服务器),以使它不会在我的ssh会话结束时消失? 问题答案: 作为替代方案 ,您可以在终端多路复用器(例如GNU 或)中运行远程应用程序 。 使用这些工具可以轻松地从另一个主机重新连接到会话,这意味着您可以在离开工作场所之前进行冗长的构建或下载,并在回家后检查其状态。例如。当我在

    • 我最近从Vim切换到VSCode,我正在尝试为通过docker运行的jest测试设置VSCode调试。 调试工作。。。某种程度上。如果我想运行jest测试并激活断点,我需要: 插入断点 开始运行相关的jest测试通过下面的launch.json任务 在测试套件到达断点之前快速执行 显然不理想-我希望确保VSCode在运行时自动附加到调试器。简而言之:在通过Docker运行Jest测试时,有没有一种

    • 我通过maven-archetype-mojo创建了一个maven插件。我的intellij版本是:intellij 2018.1.7 并且我已经尝试了以下步骤来启动远程调试过程。 我创建了一个远程调试配置并将其指向端口8000 我在项目文件夹的终端中运行mvnDebug clean install,它显示: 准备在调试模式下执行Maven,侦听地址为8000的传输dt_socket null