【问题标题】:How to break the program being debugged now while it running in Eclipse?在Eclipse中运行时如何破坏正在调试的程序?
【发布时间】:2011-08-11 05:48:33
【问题描述】:

如何在 Eclipse 中中断(暂停)Java 程序?

不是在谈论断点。我说的是在不知道程序当前正在执行什么的情况下随机暂停程序,就像在 Visual Studio 中一样。

【问题讨论】:

  • 你的意思是要暂停进程?
  • 是的,我找不到暂停按钮...
  • 只是出于好奇,您为什么要这样做?因为这听起来确实是一种特别奇怪的代码调试策略。
  • 我想这可能是一种不错的方式来收集有关代码在运行时恰好驻留在哪些类的统计信息。自然,我会想象它会在 IO 上花费大量时间。
  • @edalorzo:是的,这正是@Edwin 所说的。 (其实我做这个的人也叫Edwin,哈哈。。)这是为了找出代码中的瓶颈,而不需要分析。

标签: java eclipse debugging break eclipse-jdt


【解决方案1】:

假设您在调试模式下启动程序,您可以手动切换到调试透视图。

从那里,在调试窗格(通常会显示线程和堆栈位置)中,按下暂停按钮(看起来像黄色的 VCR 暂停按钮)。

通过调试启动器启动代码是一项要求,因为它使用参数初始化 JVM 以打开 JDI(或 Java 调试接口)。该接口可以通过网络路由,从而允许在嵌入式设备上进行远程调试。

在 Eclipse 场景中,Eclipse 程序在调试时通过 JDI 与子 JVM 进程进行通信,这是您可以暂停、单步执行和通常跟踪程序的方式。

-- 好的,你找不到它,我会从“顶部菜单”的角度给你一切 ---

Run->Debug (or F11)
Window->Open Perspective->Debug
Run->Suspend

如果您想要一种更好的方法来仅停止“主”线程,请在挂起之前选择(在屏幕左上角的调试窗口中)“线程 [主]”。否则,您将停止 JVM 中的所有线程。

【讨论】:

  • 我没找到,而且我相信我在调试的角度...让我再试一次...
  • 要想获得真正的老式调试体验,还有 jdb!
  • @Mehrdad,哈哈哈,我真的没想到你会接受我的 jdb 提议。我添加了一些“顶部菜单栏”方向,因为在我看来,您在查找小工具提示按钮时遇到了问题。
  • 大声笑是的,我没有。 :P 是的,方向帮助很大,谢谢!
【解决方案2】:

在调试配置中启动程序(当然不是绝对必要的),进入调试视图,然后选择要暂停的线程并单击暂停。

这会很好用,虽然确切地说我认为它仍然只会在警戒点暂停(尽管这并不重要,因为无论如何这些都已经足够了)

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2016-04-23
    • 2014-10-18
    • 1970-01-01
    • 2012-05-14
    • 2015-09-18
    • 2012-02-22
    • 2017-07-11
    • 2012-11-29
    相关资源
    最近更新 更多