我可以使用本地源文件调试在我具有 ssh 访问权限的远程目标上运行的程序吗?
假设我的家用计算机上的目录中有一个名为 hello.c 的程序/home/jla/hello。
在远程计算机上,我将相同的文件放在目录 /hello 中,并使用 编译它
$ gcc -g -o hello hello.c,然后删除远程 hello.c,但保留可执行文件。
然后我可以在本地运行 gdb,将其通过 ssh 连接到远程计算机以运行可执行文件,但使用本地源作为参考吗?
笔记:
令人烦恼的是,远程机器非常精简且无法更改。它有 gdb,但没有 gdbserver
请注意,本地和远程计算机具有不同的体系结构。在这种特殊情况下,64 位和 32 位英特尔
我真正想做的是在 emacs/gud 下运行它。但这将是一个很好的开始。
我正在努力调试一个构建为 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,所以我无法验证这里的情况是否如此。
任何想法表示赞赏!
有没有办法调试(特别是逐步调试)已部署到云的 Google 应用程序引擎应用程序。我问的原因是有些东西要么无法在本地调试,要么需要解决方法来在本地测试(例如 CRON 作业)。
具体来说,我想使用 Eclipse 来完成此操作。
我对 Windows Azure 的经验很少。
我运行了一个虚拟机,使用远程桌面连接到它,并将我的 C# 可执行文件粘贴到那里。
然后,我安装了 Visual Studio 远程调试工具,启动它,将其配置为允许来自任何用户的经过身份验证的连接,并将端点配置为它提到的端口 (4018)。
但我似乎无法将 Visual Studio 连接到该实例。我尝试输入虚拟机地址:端口,但这似乎不起作用。
这是否可以做到,或者远程计算机必须位于同一网络上而不是通过互联网?有没有任何指南解释该过程?我发现的大部分内容都与调试天蓝色应用程序有关,但似乎与任意程序无关。
我已经配置了我的 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 的某种标志才能工作,您知道如何克服这个问题吗?
我正在尝试使用 Visual Studio 2017 调试一个应用程序,该应用程序将在我在开发系统上设置的虚拟机上运行。虚拟机运行 Windows 10(我的开发系统也是如此)。
我已经在虚拟机上安装了最新的 VS 2017 Remote Tools 包并进行了配置。它在虚拟机上运行得很好...但我无法从桌面系统连接到它。
当我执行附加到进程和查找来查找系统时,会找到虚拟机。
但是,选择虚拟机后,系统会提示我输入凭据。我尝试使用与登录虚拟机相同的登录凭据,但这不起作用。并且没有显示可能出现问题的信息。
虚拟机在 Hyper-V 下运行。
如何设置与运行 VS 2017 的同一系统上运行的虚拟机的远程调试连接?
remote-debugging virtual-machine visual-studio visual-studio-2017
我有一个 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 具有所有权限,因此理论上这不会成为问题。那么,有人知道问题可能是什么吗?
-agentlib:jdwp是否存在导致listening for transport消息不被打印的参数选项?
我有一个非常简单的设置。我正在运行 Pycharm 2018.2.3 并使用 docker compose 启动 3 个容器。
我已经配置了远程解释器来调试容器,并且在大多数情况下断点工作得很好,至少当我点击 API 端点或对 django 应用程序执行其他操作时是这样。
不起作用的是当我运行我的管理自定义manage.py自定义命令之一时。到目前为止我已经尝试过这两种方法。
我在 PyCharm 中设置了另一个调试配置来执行该命令。这会导致另一个容器旋转(代替原来的容器)。运行命令,不中断任何换行符。然后整个容器关闭。
我已经登录到容器,直接通过命令行运行manage.py命令,它在容器中执行,但同样没有断点。
该文档似乎在正常情况下工作,但我找不到任何帮助来调试容器中的这些命令。
感谢您的任何帮助或提示。
我正在尝试使用 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