【问题标题】:IntelliJ debugger: Connects but doesn't notice when code runs into breakpointsIntelliJ 调试器:连接但没有注意到代码何时遇到断点
【发布时间】:2014-08-24 08:39:00
【问题描述】:

我尝试使用 IntelliJ IDEA 11.1 Ultimate 调试应用服务器 (WebLogic)。调试器配置之前有效,我没有更改任何内容。

发生了什么:IntelliJ 告诉我

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

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

【问题讨论】:

  • 当源代码和部署代码不匹配时,我会遇到奇怪的调试器问题。您确定部署了实际版本吗?
  • 是的,我直接在IntelliJ中部署了一个Ant任务,保证和应用服务器上安装的版本一致。
  • 一旦你认为应用程序已经到达断点,点击调试器中的“暂停”按钮,看看会发生什么。

标签: java intellij-idea weblogic remote-debugging


【解决方案1】:

我在使用远程调试器时实际上遇到了同样的问题。 我通过单击“暂停”按钮修复它 Picture is here

【讨论】:

  • 遇到了同样的问题。调试器不会在任何断点处停止,也不会跳转到代码中的任何特定位置,而应用程序似乎被阻塞了。即使重新启动 IntelliJ 也无济于事。只需触发暂停然后再次恢复就可以了。谢谢队友(y)
【解决方案2】:

好的,解决了:我有一个方法断点处于活动状态。显然,这大大减慢了整个调试过程,以至于我无法与调试器交互。删除断点后,调试又开始了。

【讨论】:

    【解决方案3】:

    我遇到了类似的问题,但略有不同。我可以标记和删除断点,调试器已连接,显示 JVM 的所有线程,但执行不会因任何断点而停止。

    即使在代码更改后,它也会显示旧断点仍然有效。碰巧的是,即使在取消部署 war 文件后,断点仍然显示为有效断点。太奇怪了!!

    请注意,我使用的 CE 如下:
    IntelliJ IDEA 2016.1.3
    构建 #IC-145.1617,于 2016 年 6 月 3 日构建
    JRE:1.8.0_65-b17 amd64
    JVM:Oracle Corporation 的 Java HotSpot(TM) 64 位服务器 VM

    我尝试了不同的方法:

    1. 使缓存无效。
    2. 使缓存无效并重新启动
    3. 重新打包war并重新部署

    以上都不起作用。

    之后,我尝试删除 .idea 文件夹并重新创建项目。这次是重新创建了 .idea 文件夹并重新配置。

    断点现在可以工作了。

    我发帖是为了帮助与我有相同情况的其他人。

    【讨论】:

      【解决方案4】:

      我遇到了同样的问题,我的应用程序没有在断点处停止,我所要做的就是重新启动 IntelliJ Idea。瞧,现在它确实在断点处停止了。

      我的应用程序正在运行并在控制台上打印:

      Listening for transport dt_socket at address: 5005
      

      然后,当我运行 IntelliJ 调试器时,它会打印:

      Connected to the target VM, address: '192.168.2.9:5005', transport: 'socket'
      

      重启后还是一样,但不知何故重启使它适合 IntelliJ。

      【讨论】:

        【解决方案5】:

        在我拔出我的一部调试手机(Android 我需要很多手机来调试)并迅速插入另一部之后,这件事发生在我身上。

        以前发生过,我通常也是,

        a) 改用 Linux

        b) 购买更大品牌/更好的司机手机

        c)adb kill-server/adb start-server

        这些有一定程度的成功,更适合我重新创建我的项目。我从 Android 支持中了解到,我应该使用带有 Linux 的 Nexus 来提供任何类型的支持,这几乎可以避免我想从中受益的任何交叉编译/调试。

        即使是我拉出的手机现在(24 小时后)也拒绝接受断点。

        【讨论】:

          猜你喜欢
          • 2013-10-04
          • 2016-11-15
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 2020-07-01
          • 2019-05-18
          • 2017-10-29
          • 1970-01-01
          相关资源
          最近更新 更多