标签: remote-debugging

是否可以使用 gdb 通过 ssh 远程调试?

我可以使用本地源文件调试在我具有 ssh 访问权限的远程目标上运行的程序吗?

假设我的家用计算机上的目录中有一个名为 hello.c 的程序/home/jla/hello

在远程计算机上,我将相同的文件放在目录 /hello 中,并使用 编译它 $ gcc -g -o hello hello.c,然后删除远程 hello.c,但保留可执行文件。

然后我可以在本地运行 gdb,将其通过 ssh 连接到远程计算机以运行可执行文件,但使用本地源作为参考吗?

笔记:

  1. 令人烦恼的是,远程机器非常精简且无法更改。它有 gdb,但没有 gdbserver

  2. 请注意,本地和远程计算机具有不同的体系结构。在这种特殊情况下,64 位和 32 位英特尔

  3. 我真正想做的是在 emacs/gud 下运行它。但这将是一个很好的开始。

gdb remote-debugging

5
推荐指数
1
解决办法
3247
查看次数

如何在 Eclipse 中通过远程 Java 应用程序调试来调试 Groovy 代码

我正在努力调试一个构建为 Sling 捆绑包的应用程序。该应用程序几乎完全是 Groovy 代码(我有 Groovy Eclipse 插件),Eclipse(使用 Maven)正在构建 .jar 并将其安装在 Sling 中,没有任何问题。

但是,它无法调试。我已按照说明设置远程调试,我认为这是调试 Sling 应用程序所必需的 - 具体来说,我使用以下命令启动 Sling:

java -Xdebug -Xnoagent -Djava.io.tmpdir=/c/Users/nickgolding1/temp -Xmx1024m -Xrunjdwp:transport=dt_socket,address=30303,server=y,suspend=n -jar org.apache.sling.launchpad-6-SNAPSHOT-standalone.jar -p 8080
Run Code Online (Sandbox Code Playgroud)

...然后在 Eclipse 中设置一个调试配置,类型为“远程 Java 应用程序”,指向我的项目,连接类型为“标准(套接字连接)”,主机本地主机,端口 30303。此配置似乎启动正常 - 在至少,我没有收到任何反馈表明它没有 - 但我在 Groovy 代码中设置的断点实际上并没有中断对 Sling 应用程序的请求的执行。

我在各个论坛上看到过一些帖子,这些帖子显示人们在通过远程 Java 应用程序配置调试 Groovy 代码时遇到问题,而他们在 Java 代码方面没有问题。不幸的是,我的应用程序都是 Groovy 而没有 Java,所以我无法验证这里的情况是否如此。

任何想法表示赞赏!

java eclipse groovy remote-debugging sling

5
推荐指数
1
解决办法
7277
查看次数

如何使用 Eclipse 远程调试 Google App Engine (GAE) 应用程序

有没有办法调试(特别是逐步调试)已部署到云的 Google 应用程序引擎应用程序。我问的原因是有些东西要么无法在本地调试,要么需要解决方法来在本地测试(例如 CRON 作业)。

具体来说,我想使用 Eclipse 来完成此操作。

eclipse google-app-engine remote-debugging

5
推荐指数
1
解决办法
2175
查看次数

如何将调试器附加到 Windows Azure VM 上运行的应用程序?

我对 Windows Azure 的经验很少。

我运行了一个虚拟机,使用远程桌面连接到它,并将我的 C# 可执行文件粘贴到那里。

然后,我安装了 Visual Studio 远程调试工具,启动它,将其配置为允许来自任何用户的经过身份验证的连接,并将端点配置为它提到的端口 (4018)。

但我似乎无法将 Visual Studio 连接到该实例。我尝试输入虚拟机地址:端口,但这似乎不起作用。

这是否可以做到,或者远程计算机必须位于同一网络上而不是通过互联网?有没有任何指南解释该过程?我发现的大部分内容都与调试天蓝色应用程序有关,但似乎与任意程序无关。

c# remote-debugging azure visual-studio-2013

5
推荐指数
1
解决办法
2262
查看次数

如何在没有 SSL 的情况下远程使用 jmap?

我已经配置了我的 Linux 远程计算机(使用 JRE 1.7)来执行具有 jmx 必要属性的 java 应用程序:

java -Dcom.sun.management.jmxremote \
-Dcom.sun.management.jmxremote.port=5005 \
-Dcom.sun.management.jmxremote.local.only=false \
-Dcom.sun.management.jmxremote.authenticate=false \
-Dcom.sun.management.jmxremote.ssl=false \
-jar myapplication.jar
Run Code Online (Sandbox Code Playgroud)

现在,在我的 Windows 本地计算机(其中有 JDK 1.7)中,我想使用 jmap 工具,例如打印直方图:

jmap -histo 10.218.72.227:5005

但它因以下错误而失败:

Picked up _JAVA_OPTIONS: -Djava.net.preferIPv4Stack=true
Attaching to remote server 10.218.72.227:5005, please wait...
Error attaching to remote server: java.rmi.NotBoundException: Not bound: "SARemoteDebugger" (only bound name is "jmxrmi")
Run Code Online (Sandbox Code Playgroud)

奇怪的是,我可以使用 jconsole 成功连接,但首先它会提示我一条消息,要求我不安全地重试连接(没有 SSL):

在此输入图像描述

因此,它似乎应该是 jmap 的某种标志才能工作,您知道如何克服这个问题吗?

java ssl jmx remote-debugging java-7

5
推荐指数
1
解决办法
1745
查看次数

在虚拟 Windows 计算机上进行远程调试

我正在尝试使用 Visual Studio 2017 调试一个应用程序,该应用程序将在我在开发系统上设置的虚拟机上运行。虚拟机运行 Windows 10(我的开发系统也是如此)。

我已经在虚拟机上安装了最新的 VS 2017 Remote Tools 包并进行了配置。它在虚拟机上运行得很好...但我无法从桌面系统连接到它。

当我执行附加到进程和查找来查找系统时,会找到虚拟机。

但是,选择虚拟机后,系统会提示我输入凭据。我尝试使用与登录虚拟机相同的登录凭据,但这不起作用。并且没有显示可能出现问题的信息。

虚拟机在 Hyper-V 下运行。

如何设置与运行 VS 2017 的同一系统上运行的虚拟机的远程调试连接?

remote-debugging virtual-machine visual-studio visual-studio-2017

5
推荐指数
1
解决办法
2714
查看次数

XDebug 无法在 Docker 中打开远程调试文件“/var/log/apache2/xdebug_remote.log”

我有一个 Docker 容器,其中包含用于开发的所有 PHP7 环境,除了 xdebug 之外,一切都运行良好。扩展已启用,并且具有启用远程调试的所有正确设置,我设置了远程主机,这是可以的,但是当我向此容器内的网站发出请求时,如果我检查 apache 错误日志,我会看到此错误:

[Thu Jun 01 05:44:31.529883 2017] [:error] [pid 916] [client 172.18.0.1:40306] XDebug 无法打开远程调试文件 '/var/log/apache2/xdebug_remote.log'。,引用者: XXXXXX

文件 xdebug_remote.log 具有所有权限,因此理论上这不会成为问题。那么,有人知道问题可能是什么吗?

remote-debugging xdebug docker docker-container

5
推荐指数
0
解决办法
1019
查看次数

远程调试 Java 程序时抑制“监听传输 dt_socket”消息

-agentlib:jdwp是否存在导致listening for transport消息不被打印的参数选项?

java remote-debugging

5
推荐指数
1
解决办法
2351
查看次数

Pycharm调试docker compose中的manage.py命令

我有一个非常简单的设置。我正在运行 Pycharm 2018.2.3 并使用 docker compose 启动 3 个容器。

  1. 我的 Django 应用程序
  2. NGINX 提供静态服务
  3. Postgres 数据库

我已经配置了远程解释器来调试容器,并且在大多数情况下断点工作得很好,至少当我点击 API 端点或对 django 应用程序执行其他操作时是这样。

不起作用的是当我运行我的管理自定义manage.py自定义命令之一时。到目前为止我已经尝试过这两种方法。

  1. 我在 PyCharm 中设置了另一个调试配置来执行该命令。这会导致另一个容器旋转(代替原来的容器)。运行命令,不中断任何换行符。然后整个容器关闭。

  2. 我已经登录到容器,直接通过命令行运行manage.py命令,它在容器中执行,但同样没有断点。

该文档似乎在正常情况下工作,但我找不到任何帮助来调试容器中的这些命令。

感谢您的任何帮助或提示。

python django remote-debugging pycharm docker

5
推荐指数
1
解决办法
1962
查看次数

使用 debugpy 和 vs 代码在 docker 容器中调试 python 导致超时/连接被拒绝

我正在尝试使用 debugpy 为 Visual Studio Code 在 docker 中运行的 python 脚本设置本机调试。理想情况下,我只想 F5 并在路上(如果需要,包括构建阶段)。目前,我debugpy.listen(5678)在由 VS 代码编辑器本身内联引起的超时(发生异常:RuntimeError 超时等待适配器连接)或连接被拒绝之间来回跳动。

我从微软提供的文档中创建了一个launch.json:

启动文件

{
    "version": "0.2.0",
    "configurations": [
        {
            "name": "Attach to Integration (test)",
            "type": "python",
            "request": "attach",
            "pathMappings": [
                {
                    "localRoot": "${workspaceFolder}/test",
                    "remoteRoot": "/test"
                }
            ],
            "port": 5678,
            "host": "127.0.0.1"
        }
    ]
}
Run Code Online (Sandbox Code Playgroud)

到目前为止,构建图像看起来像这样:

文件

FROM python:3.7-slim-buster as base
RUN apt-get -y update; apt-get install -y vim git cmake

WORKDIR /
RUN mkdir .cache src in out config log
COPY requirements.txt . …
Run Code Online (Sandbox Code Playgroud)

remote-debugging python-3.x docker visual-studio-code vscode-debugger

5
推荐指数
1
解决办法
2629
查看次数