java与.net比较学习系列(1) 开发环境和常用调试技巧

最近因为公司项目要由.net平台转到java平台的原因,之前一直用.net的我不得不开始学习java了,刚开始听到说要转java的时候很抗拒,因为我想专注在.net平台上,不过这样也并不完全是坏事,通过接触java开发也许能拓展我的开发思想和知识面,所以这也许是个学习java的机会。

因为之前从来没有做过java开发,所以现在不得不从最基础的开始,而且因为做.net已经有几年了,习惯了VS的良好的操作体验,所以刚开始接触Eclipse有很多的不适应。这个系列我想通过与.net比较的方式来学习,一来分清java与c#的区别,二来也许能加深对.net的理解,第三是希望想转java的朋友能通过这个系列少走弯路。

工欲善其事,必先利其器。所以这个系列的第一篇我想总结的是它们开发环境以及常用的调试技巧的比较。我想从以下几点来进行总结。

1,开发工具

2,常用操作快捷键

3,常用调试技巧

一,开发工具

.net的开发IDE工具就不用我多说了,就是“全球最牛的IDE” Visual Studio(下称VS),而java开发一般选择Eclipse,当然Eclipse是免费的。下面通过一张图来说明它们之间界面和布局上的差异。

VS:

image

Eclipse:

image

我们可以看到,从界面布局上,两者没有太多差异,只是VS的项目管理在右边,而Eclipse的项目管理在左边,当然,这些窗口也是可以拖拽的,依据自己的操作习惯来。

二,常用操作快捷键

为了对比更加清晰,下面我用一张表格来分别列出VS和Eclipse常用操作的快捷键。

注:我这里用的VS版本是2010,Eclipse版本是Juno SR2

这份表格是基于我之前写的一篇博客进行提炼修改的,原文章地址:提高vs操作效率,vs 2008与vs 2010快捷键总结。各位朋友如果有一些好的操作技巧也欢迎提出。

 Visual StudioEclipse操作
编辑   
 CTRL+E+CCTRL+/注释,注释选中的代码(如果没有选中任何行,则默认注释当前行代码)
 CTRL+E+UCTRL+/(再按)取消注释,取消注释选中的代码
 CTRL+E+DCTRL+SHIFT+F格式化整个文档
 CTRL+E+F 格化式选中代码
 CTRL+JALT+/列出成员
 CTRL + SHIFT + 空格ALT+/提示鼠标所在方法的参数类型和个数
 CTRL+M+LCTRL+O快速OutLine
 CTRL+.不适用自动using命名空间
 SHIFT+ALT+ENTER 全屏显示
    
导航   
 F12F3转到定义
 CTRL + TABCTRL+E快速切换活动窗口
 CTRL + SHIFT + FCTRL+F显示在文件中查找和替换对话框
 SHIFT+ALT+ENTERCTRL+M全屏无干扰模式
 CTRL+(→或←)同VS以单词为单位进行左,右跳转
 SHIFT+CTRL+(↑或↓)暂无跳转到该单词上次或下次出现的地方
 CTRL+SHIFT+]CTRL+SHIFT+P匹配括号移动(包括(),{},[],””)
 SHIFT+F12(查找所有引用)CTRL+T转到接口的实现类
 CTRL+- 返回到上次编辑的位置
    
调试   
 F5F11调试运行
 CTRL+F5CTRL+F11非调试运行
 F6不适用编译整个解决方案
 SHIFT+F6不适用编译当前选择的工程
 SHIFT+F5CTRL+F2停止调试
 F9CTRL+SHIFT+B(break)插入或取消断点
 CTRL+SHIFT+F9暂无取消所有断点
 F10F6单步执行,但直接执行函数中调用部分而不分步
 F11F5单步执行,并且单步执行函数中调用部分
 SHIFT+F11F7(继续运行为F8)执行当前函数剩余部分代码
 CTRL+F10CTRL+R运行到光标处

另外,Eclipse有一些自己独特的快捷键,也非常好用,如下:

CTRL+SHIFT+R(resource):快速打开资源

ALT+SHIFT+R(rename):快速重命名方法和属性

CTRL+.和CTRL+1:定位到错误及快速修改

三,常用调试技巧

之所以把调试技巧单独列出来总结,是因为调试技巧对于我们程序员来说非常重要,运用得好的话可以大大提高我们的开发效率。其实对于VS的调试技巧,我相信我们做.net开发的大部分都已经很熟悉了,下面我把VS中非常常用的几个调试技巧拿出来与Eclipse进行比较,看看Eclipse有没有相应的解决方法。

1,断点

说起调试,首先肯定是设置断点了,所以断点是所有调试的基础。当然断点又分很多种不同的类型,比较常用的就是条件断点和断点过滤器了。首先来看普通断点吧。

1)普通断点

设置断点,VS为F9,而Eclipse为CTRL+SHIFT+B(break)

image image

命中断点后,接下来我们可以选择F10单步运行,F11进入调用函数内部,或Shift+F11从调用函数返回到函数调用处。而对于Eclipse,单步运行是F6,进入调用函数内部是F5,返回到函数调用处是F7。

2)条件断点

条件断点一般用在for循环中,如下图:

image

image

3) 断点过滤器

断点过滤一般用在调试多线程程序的时候,能过断点过滤我们可以指定调试哪个线程,如下图:

image

image

2,运行到指针

这个调试技巧也非常有用,当我们在调试一个很长的方法,我们不关心中间的逻辑,我希望断点直接运行到某一行的时候,这个技巧就派上用场了。如下图。

注意,这个技巧在VS中是快捷键CTRL+F10,而在Eclipse中我还没有发现怎么去实现这个技巧,希望知道的朋友可以补充一下。

image

image

3,即时窗口

这个也用得非常多,它即可以查看变量的值,也可以直接在里边写代码执行。如下图。

image image

不过,Eclipse里的即时窗口没有VS的好用。

4,附加进程

附加进程有两个好处,第一,提高调试效率,我一般习惯先以非调试模式运行(VS中快捷键是CTRL+F5),此时页面已经打开,等到想调试的时候就选择附加进程进行调试,不想调试的时候我停止调试就行了,这样比按F5要快很多。第二个好处是,当程序已经发布了,本地也有源代码的情况下,那么就可以直接附加到进程就可以调试了。下面是图示。

注:Eclipse中我还不知道怎么实现这个功能,希望知道的朋友补充一下。

image 

5,数据提示

当我们在调式一段程序,需要反复查看某个变量的值的时候,我们可以把这个变量钉在屏幕上,而且,我们还可以临时去修改变量的值,这对我们去模拟一些BUG的时候非常有用。

注:Eclipse中还不知道怎么弄,好像在变量声明的地方无法设置断点,希望熟悉的朋友补充一下。

image

另外,这篇文章参考了以下文章:

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值