3

切换到 Eclipse 4.2.0 后,调试器似乎不负责任或非常慢。我使用的 Java 版本是(与 Eclipse 中使用的相同):

johannes@luna:~/sirix$ java -version
java version "1.7.0_03"
OpenJDK Runtime Environment (IcedTea7 2.1.1pre) (7~u3-2.1.1~pre1-1ubuntu3)
OpenJDK 64-Bit Server VM (build 22.0-b10, mixed mode)`

其他人遇到过同样的行为吗?

编辑:我有太多(旧)断点(可能特别是检查和未检查异常上的断点特别昂贵;-))

4

3 回答 3

5

我不知道如何加快 Eclipse 中的调试速度,但是您可以遵循一些通用规则来整体上加快 Eclipse:

  1. 禁用防病毒软件,或将您的 JDK & eclipse & workspace & 其他相关文件夹添加到您的防病毒软件的白名单中。

  2. 在 Eclipse 参考中禁用不必要的验证和启动操作。

    对于验证:在 Eclipse 菜单 Windows -> Preferences -> Validation 上,单击“Disable All”,然后选择您需要的验证器。我只选择了“Classpath Dependency Validator”。

    对于启动操作:在 Eclipse 菜单 Windows -> Preferences 上,键入“startup”,选择“Startup and Shutdown”,取消选中您不需要的选项。(感谢David的建议,我已经为读者添加了上述2个详细步骤)

  3. 修改eclipse.ini设置Xmn(new generation size)、Xms和Xmx,开启parallel GC

    -vm C:/jdk1.6.0_25/bin
    -startup plugins/org.eclipse.equinox.launcher_1.2.0.v20110502.jar
    –launcher.library plugins/org.eclipse.equinox.launcher.win32.win32.x86_64_1.1.100.v20110502
    -product org.eclipse.epp.package.jee.product
    –launcher.defaultAction openFile
    –launcher.XXMaxPermSize 256M
    -showsplash org.eclipse.platform
    –launcher.XXMaxPermSize 256m
    –launcher.defaultAction openFile
    -vmargs
    -server
    -Dosgi.requiredJavaVersion=1.5
    -Xmn128m
    -Xms1024m
    -Xmx1024m
    -Xss2m
    -XX:PermSize=128m
    -XX:MaxPermSize=128m
    -XX:+UseParallelGC
    
  4. 在内存上创建一个 ram 磁盘(虚拟磁盘),并将您的 jdk 放在 ram 磁盘上。您可以使用 imdisk 创建 ram 磁盘。首先从http://www.ltr-data.se/opencode.html/#ImDisk下载并安装。

    然后将 ImDisk 驱动程序设置为在具有管理权限的命令提示符下自动加载(例如右键单击,以管理员身份启动),键入:

    sc config imdisk start= auto
    net start imdisk
    

    通过以下方式创建一个 200m ram 磁盘作为驱动程序 n:

    imdisk -a -t vm -s 300m -m n:
    

    然后你应该手动格式化 ram 磁盘。

    稍后,如果您想删除 ram 磁盘,只需运行以下命令:

    imdisk -D -m n:
    
  5. 确保您使用的是 Sun JDK,而不是在 Linux 上打开 JDK/GCJ 或其他 JDK。如果您对以上步骤不满意,请安装 jRockit 而不是 Sun JDK,并根据 jRocket 规范更改一些 VM 选项,jRockit 比 Sun JDK 更快。

于 2012-07-17T08:55:02.120 回答
4

检查您是否没有任何方法断点。这些可能非常慢。

于 2013-06-06T16:24:22.287 回答
0

确保在调试时清除“表达式”窗口中的所有表达式。仅在需要时添加表达式并在使用后删除。

于 2014-04-08T20:03:12.423 回答