eclipse调试原理解惑!

huanzhugege 2007-03-07 09:08:58
这是今天早晨我和一个网友关于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

杨中科 说:


http://www.blogjava.net/huanzhugege/
...全文
914 点赞 收藏 2
写回复
2 条回复
切换为时间正序
当前发帖距今超过3年,不再开放新的回复
发表回复
redex 2007-03-08
mark && up!
回复
Paradise_heida 2007-03-08

有收获。

eclipse其实就是一个框架,所有实质的东西都不是eclipse做的,楼主说的好:eclipse是一个介绍人。
回复
发帖
Eclipse
创建于2007-09-28

5.8w+

社区成员

Java Eclipse
申请成为版主
帖子事件
创建了帖子
2007-03-07 09:08
社区公告
暂无公告