标签: remote-debugging

IntelliJ 调试器:连接但不会注意到代码何时进入断点

我尝试使用 IntelliJ IDEA 11.1 Ultimate 调试应用程序服务器 (WebLogic)。调试器配置以前工作过,我没有改变任何东西。

会发生什么:IntelliJ 告诉我

连接到目标VM,地址:'[snip]:9009',传输:'socket'

我可以添加和删除断点,并且它们标有复选标记,因此设置它们似乎有效。通过与我的应用程序的 Web 界面交互,我尝试点击我设置的断点。断点实际上似乎阻止了代码的执行,但 IntelliJ 调试器没有反应。在我断开调试器连接之前,我的应用程序的 Web 界面不会响应,但 IntelliJ 似乎根本没有注意到这种情况发生。我无法与调试器交互。我怎样才能弄清楚出了什么问题?IntelliJ 调试器本身是否有一些调试输出?这个问题有已知的解决方案吗?

java weblogic remote-debugging intellij-idea

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

在 Eclipse CDT 中为远程调试启动部署文件的正确方法是什么?

我的情况:我目前正在尝试使用 Eclipse CDT 作为专有 IDE 的替代品。我有一个企业应用程序,它由一个可执行文件和许多(30 多个)共享库模块组成。该应用程序针对嵌入式非 x86 平台,具有兼容 POSIX 的操作系统(QNX 或 GNU/Linux,取决于所选的工具链)。因此,无法在开发人员的机器上进行调试。它必须远程完成。

我正在使用 Eclipse Luna/CDT 8.5 和远程系统资源管理器插件,并安装了 GDB/DSF 创建进程启动器。通过这些插件,Eclipse 可以远程启动程序并使用 gdbserver 对其进行调试。但只有主要的可执行文件可以配置为上传。

我想知道通过 Eclipse 为远程调试启动部署文件的合适方法是什么?

我目前的选择是:

  1. 使用远程系统资源管理器透视图,“导入”一些远程文件夹作为工作区中的“远程项目”。设置 Makefile 以在构建后将 .so 文件复制到映射文件夹。构建完成后,手动刷新“远程项目”。然后,文件将上传到远程系统。
  2. 使用远程系统资源管理器透视图,将工作区中的二进制文件“导出”到远程文件系统,以便在远程启动时上传文件。这种方法还要求我在开始调试会话之前“刷新”所有项目,否则不会注意到更改。
  3. 完全不要使用 Eclipse 进行文件上传,而是手动或通过构建脚本部署它们。
  4. 采取艰难的方式向 Eclipse ?DT 贡献一些代码。

有更好的解决方案吗?

linux remote-debugging eclipse-cdt shared-libraries gdbserver

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

在 intellij 14 行找不到可执行代码

由于以下原因,我无法调试远程应用程序:行中没有可执行代码

我正在运行 Intellij 的终极版,版本 14.0.3。我的应用程序在 tomcat 8 中运行,我正在使用 Maven 从命令行构建它。这个问题是我从社区版切换到终极版后出现的。

项目源是相同的,我能够连接到 tomcat 进行远程调试。唯一的问题是我所有的断点都失效了。

请就如何解决此问题提出建议。

干杯。

remote-debugging intellij-idea maven tomcat8 intellij-14

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

远程调试时无法使用诊断工具

我遇到了在远程调试期间无法使用诊断工具的问题。如果我在本地机器上启动我的程序,一切都很好。

在确保我的域用户在目标机器上具有调试权限(在远程调试工具中配置)后,我将 Visual Studio 附加到远程机器上的运行进程。然后我切换到诊断窗口,只看到一条错误消息

在此处输入图片说明.

在网上搜索后,我找到了一种获得详细输出的方法并得到了这个:

Debug --- Diagnostics Hub Components Loader --- Component 44d04ed9-f786-458c-93a9-7207a3cc52e1 (Microsoft.DiagnosticsHub.Components.LazyCollectorFactory) has been loaded.
Debug --- Diagnostics Hub Components Loader --- Component 28b3f966-03cc-4632-ae04-0861ef17555a (Microsoft.DiagnosticsHub.Components.LazyCollectorFactory) has been loaded.
Debug --- Diagnostics Hub Components Loader --- Component 113e964e-152f-45e7-b70e-1e5482802d0c (Microsoft.DiagnosticsHub.Diagnostics.OutputWindowLogger) has been loaded.
Debug --- Diagnostics Hub Components Loader --- Component 72089e7a-a3c8-4652-9817-f33c8149affc (Microsoft.DiagnosticsHub.Components.LazyCollectorFactory) has been loaded.
Debug --- Diagnostics Hub Components Loader --- Component 42d07b97-c049-403e-bd24-6c55fb096d1a (Microsoft.DiagnosticsHub.VisualStudio.Targets.ExecutableTargetProviderFactory) has been loaded.
Debug --- Diagnostics Hub Components Loader --- Component …
Run Code Online (Sandbox Code Playgroud)

performance diagnostics remote-debugging visual-studio-2015

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

如何在 PyCharm 中远程开发?

我有一个实验室系统(附有一个硬件),其中有一些 python 测试脚本。测试脚本向连接的硬件发送命令并接收响应。

我不想一直在实验室电脑上工作。目前,我使用 SSH 从我的本地机器到实验室计算机,并使用 shell 修改脚本、运行命令等。使用 nano 很麻烦,尤其是在调试时。我想在本地机器上使用 IDE (Pycharm) 来编辑和运行远程服务器上的脚本。Pycharm 具有使用远程 python 的远程解释器,但我也希望能够访问和修改脚本,就像终端的 SSH 一样。

我怎样才能做到这一点?

remote-debugging pycharm python-2.7

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

如何通过 gdbserver 会话访问 STDIN/STDOUT

如果我开始一个正常的“gdb”会话,那么我可以直接在终端中访问STDIN和查看STDOUT

$ gdb wc
GNU gdb (Gentoo 7.10.1 vanilla) 7.10.1
...
gdb> run
Starting program: /usr/bin/wc 
asdf
      1       1       5
[Inferior 1 (process 28131) exited normally]
gdb> quit
$ 
Run Code Online (Sandbox Code Playgroud)

我可以用 gdbserver 做同样的事情吗???

这是我尝试过的(gdbserver):

$ gdbserver /dev/ttyS0 wc
Process wc created; pid = 28156
Listening on port 2345
Run Code Online (Sandbox Code Playgroud)

和客户:

$ gdb
GNU gdb (Gentoo 7.10.1 vanilla) 7.10.1
...
gdb> c
Continuing.

Program received signal SIGINT, Interrupt.
0x00007ffff7ddbc40 in _start () from target:/lib64/ld-linux-x86-64.so.2
gdb>
Run Code Online (Sandbox Code Playgroud)

但是,使用 gdbserver 时似乎STDIN …

gdb remote-debugging

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

Django / Docker / 使用 Pydev 进行远程调试

我的设置如下: - 在 docker 中运行的 django 服务器,带有端口映射:8090:8090 - Eclipse with PyDev

我希望能够在 Pydev 上放置断点(单击一行,一步一步)

我发现了几篇文章,例如; http://www.pydev.org/manual_adv_remote_debugger.html

但它仍然无法正常工作。

1) 我应该将 manage.py 更新为“导入 pydev”吗?要添加哪些行,我是否必须在 docker 容器中复制 pydev 插件的 pysrc 才能进行模块导入?

2)是否需要端口转发?运行到 docker 中的 python 实例应该可以访问主机上的远程调试服务器吗?

3) 我找到了关于 pycharm 和使用 ssh 远程调试的文章?不能用 pydev 做类似的事情吗?

4)如何“链接”我的本地目录和docker“目录”?

[编辑]我找到了解决方案

  • 将 eclipse/path_to\pydev\plugins\org.python.pydev\pysrc 目录复制到您的 docker 容器可以访问它的地方。

  • 编辑 pysrc/pydevd_file_utils.py,并添加主机和 docker 容器之间的目录映射,如: PATHS_FROM_ECLIPSE_TO_PYTHON = [(r'C:/django',r'/.../lib/django'), (r'C:/ workspace/myapp',r'/var/www/myapp')] 如果您有多个包含 python 代码的路径,您可以设置多个元组

  • 编辑 manage.py 并添加以下内容

    sys.path.append('/my_path/to_pysrc_/under_docker/pysrc') import pydevd pydevd.settrace(host='172.17.42.1')​​ #你主机的IP

  • 在 Pydev 中,在首选项 > Pydev > 运行/调试 > 远程调试器端口:5678

  • 在 Debug Perspective …

django debugging remote-debugging pydev docker

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

无法连接到名为 xx 的 Microsoft Visual Studio 远程调试器。与远程端点的连接已终止

我尝试远程调试 Azure 应用程序,但是在尝试连接调试器(手动或使用云资源管理器自动)时,我收到错误消息:

无法连接到名为 xx 的 Microsoft Visual Studio 远程调试器。与远程端点的连接已终止。

在应用程序服务器的事件查看器中,我收到了事件:

Msvsmon 无法启动名为“127.0.0.1:50119”的服务器。发生以下错误:远程调试器的一个实例已经在这台计算机上运行,​​或者另一个进程已经绑定到指定的 TCP/IP 端口。查看 Msvsmon 的帮助以获取更多信息。08005E80

我已经做了什么:

  • 删除 Web 应用程序并再次发布(调试模式)
  • 关闭了我的开发机器上的防火墙
  • 检查 azure 应用程序上的远程调试是否在门户中设置为 ON 并且具有正确的远程 Visual Studio 版本(在我的情况下为 2015 更新 2)
  • 我可以在局域网的另一台机器上远程调试 UWP 应用程序

那么我该如何调试我的 webapp 呢?

remote-debugging azure visual-studio-2015 azure-web-app-service

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

JMX 和 Docker 中 Tomcat 上的调试

我正在尝试设置 IntelliJ 以连接到在 Docker 容器中运行的 Tomcat 实例。我希望能够使用远程调试并使用 JMX 进行远程部署。

我可以使用环境变量启用远程调试

JPDA_ADDRESS=8000
JPDA_TRANSPORT=dt_socket
Run Code Online (Sandbox Code Playgroud)

并且通过使用 启动 Tomcat catalina.sh jpda run,远程调试工作没有问题。

我也可以用

CATALINA_OPTS='-agentlib:jdwp=transport=dt_socket,address=8000,suspend=n,server=y'
Run Code Online (Sandbox Code Playgroud)

然后我不需要使用 catalina.sh jpda run

无论我做什么,我都无法让 JMX 工作。我确认我catalina-jmx-remote.jar在 /usr/local/tomcat/lib` 中。

我曾尝试设置CATALINA_OPTSJAVA_OPTS

-Dcom.sun.management.jmxremote
-Dcom.sun.management.jmxremote.local.only=false
-Dcom.sun.management.jmxremote.authenticate=false
-Dcom.sun.management.jmxremote.port=1099
-Dcom.sun.management.jmxremote.rmi.port=1099
-Djava.rmi.server.hostname=192.168.99.100
-Dcom.sun.management.jmxremote.ssl=false
Run Code Online (Sandbox Code Playgroud)

我已经验证这192.168.99.100是我的 docker 机器的 IP。我曾尝试使用 VisualJM 和 IntelliJ 连接到 JMX,但它不起作用。我已验证该端口1099已打开并可从主机获得。

Tomcat 正在接收 JMX 参数

20-Apr-2016 23:50:14.019 INFO [main] org.apache.catalina.startup.VersionLoggerListener.log Command line argument: -Dcom.sun.management.jmxremote -Dcom.sun.management.jmxremote.local.only=false -Dcom.sun.management.jmxremote.authenticate=false -Dcom.sun.management.jmxremote.port=1099 -Dcom.sun.management.jmxremote.rmi.port=1099 -Djava.rmi.server.hostname=192.168.99.100 -Dcom.sun.management.jmxremote.ssl=false
Run Code Online (Sandbox Code Playgroud)

为什么我不能让 JMX 工作?任何日志中都没有可用的信息,无论我尝试什么,这都不起作用。

编辑: …

java tomcat jmx remote-debugging docker

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

Visual Studio 2015 远程调试器在会话之间保存权限

我正在使用 VS2015 更新 3 远程调试器和 VS2015 专业更新 3。我可以调试得很好,但每次启动远程调试器时,我都必须设置权限(添加用户、设置权限等)。

我正在使用 Windows 10,并且调试目标正在运行 Windows 7。

有没有办法让远程调试器记住调试会话之间的权限设置?

remote-debugging visual-studio-2015

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