Chinaunix首页 | 论坛 | 博客
  • 博客访问: 810864
  • 博文数量: 210
  • 博客积分: 10002
  • 博客等级: 上将
  • 技术积分: 1840
  • 用 户 组: 普通用户
  • 注册时间: 2008-11-18 09:56
文章分类

全部博文(210)

文章存档

2011年(1)

2010年(6)

2009年(65)

2008年(138)

我的朋友

分类: LINUX

2009-02-25 14:56:20

这是今天早晨我和一个网友关于eclipse调试原理的聊天记录,希望对大家有帮助:
小鱼 说:
你说了解JAVA的编译机制和熟练使用调试,最好的方法是不是去阅读eclipse的源代码啊
杨中科 说:
编译机制?要了解编译机制的话最先肯定要把编译原理搞清楚呀,eclipse本身是不负责编译java代码的,它是委托给JDK去编译的,因此要了解java的编译机制肯定要去阅读jdk的源码的
杨中科 说:
不过jdk的编译器部分的源码好像没有开放
杨中科 说:
使用调试也不用去看源码,功能很简单的
小鱼 说:
是啊,我觉得eclipse的调试很有用啊,尤其是你以前讲过的那个jsp的调试,学问很深啊
杨中科 说:
原理上并不难,因为eclipse是把调试请求通过jpda协议发给jdk来完成的,eclipse本身不提供java代码的编译和调试机制
小鱼 说:
这就是实时监测虚拟机的运行状态吧
杨中科 说:
不过读懂了eclipse的java调试部分的代码你就也可以写出一个java的调试器出来
小鱼 说:
断点就是给程序一个中断是吧?
小鱼 说:
是的
杨中科 说:
不是实时检测,是一个请求、应答的模式
杨中科 说:
比 如我们在java的编译器的第五行放了一个断点,那么代码调试起来以后,eclipse就告诉运行环境“请在第五行停下来”,那么运行环境就会在第五行停 下来。然后你想看看i这个变量的值,eclipse就会向运行环境请求“请告诉我i等于多少”,然后运行环境就将i的值告诉 eclipse,eclipse就将这个值显示给你。原理非常简单
小鱼 说:
也就是程序挂起吧?
杨中科 说:
eclipse只是充当了一个介绍人的角色
杨中科 说:
不明白程序挂起具体指的什么,不过应该就是你理解的意思
小鱼 说:
也是,一个和用户直接打交道的UI

杨中科 说:

阅读(1312) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~