zl程序教程

您现在的位置是:首页 >  其他

当前栏目

测试并发应用(七)配置Eclipse来调试并发代码

2023-09-14 08:56:51 时间

声明:本文是《 Java 7 Concurrency Cookbook 》的第八章, 作者: Javier Fernández González 译者:郑玉婷 校对:方腾飞

配置Eclipse来调试并发代码

当今,几乎全部的程序员,不管使用什么程序语言,都会用IDE来创建应用。在相同的应用里,他们提供了很多有趣的功能来整合,例如:

自动生成代码 自动生成文档 与版本控制系统集成 debugger测试应用 创建不同类型的应用和项目

IDE最有用的特点其一就是debugger。你可以一步一步的执行你的应用并分析你的程序中全部对象和变量的值。

如果你使用 Java 编程语言,那么 Eclipse 是最普遍的 IDE 之一。它有一个内置调试器(integrated debugger)允许你测试你的应用。默认情况,等你试调并发应用,debugger 找到断点( breakpoint), 它只是把有断点(breakpoint)的线程停止,其他的线程都继续他们的运行。

在这个指南,你将学习如何改变配置来帮助测试并发应用。

准备

你必须安装好 Eclipse IDE。打开并选择一个实现的并发应用,例如,任何在这本书中实现的指南。

怎么做呢…

按照这些步骤来实现下面的例子::

1. 选择菜单选项 Window | Preferences。
2. 在菜单的左手边,扩展 Java 选项。
3. 在菜单的左手边,选择 Debug 选项。以下的截图展示了窗口的样子:

4. 改变 Default suspend policy 的值,为了 new breakpoints 把 Suspend Thread 改成 Suspend VM (在截图中用红色标记了)。
5. 单击 OK 按钮来确定修改。

它是如何工作的…

像我们在这个指南介绍里提到的,默认情况,当你用Eclipse调试并发Java 应用,调试过程会寻找断点,它只暂停最先碰到这个断点的线程,其他线程将继续他们的运行。

以下裁图展示了例子的情况:

你可以发现只有 worker-21 被暂停了(在截图中用红色标记),而其他线程还在继续运行。但是,如果你改变 Default suspend policy 到 Suspend VM,来获得新的breakpoints,全部线程暂停他们的运行,当你正在debuggging 并发应用,然后试调过程碰到了断点。 以下截图展示了例子的情况:

有了这些改变,你可以发现全部的线程都被暂停了。你可以继续任何你想debugging的线程。选择最适合你需求的暂停方法。 


配置eclipse查看引入jar包的源码 当我们引入jar包后想查看其中的一些方法的时候: 出现:the source attachment does not contain 的问题的时候。 原因我想大概一般是jar包里的都是.class文件,是编译后的文件,我们若想要查看其.java 文件,就需要进行相应的配置,让eclipse能反编译它并且查看。 配置过程如下:
Eclipse常用开发配置 有些导入Eclipse项目之后,会出现源码里面中文乱码问题,这时候需要我们修改一下Eclipse的编码设置。可能本地的JDK太高需要修改一下JDK进行再次开发,这时候修改一下JRE配置,最后别忘了修改一下Java编译的版本哟~
ali清英 方腾飞,花名清英,英文名kiral,并发编程网创始人,支付宝技术专家,《Java并发编程的艺术》作者。