网站建设销售工作职责,自助 建站,深圳网站制作公司电话,徐州峰华网架公司基于Eclipse IDE
1、Quick Type Hierarchy 快速查看类继承体系 #xff08; 快捷键#xff1a;Ctrl T#xff09; 查看类很多人可能都知道#xff0c;可源码阅读的时候更多用来查看方法体系更重要#xff0c;可以方便快速的定位到方法的实现类。如#xff1a; 此时如…基于Eclipse IDE
1、Quick Type Hierarchy 快速查看类继承体系 快捷键Ctrl T 查看类很多人可能都知道可源码阅读的时候更多用来查看方法体系更重要可以方便快速的定位到方法的实现类。如 此时如果想查看getBean()方法如何实现可能会让你失望。结果如下 进入到了BeanFactory的接口定义方法什么也没有。
此时我们直接在getBean上 CtrlT 可以看到其实现的子类点击子类进去即可。此方法还适用于框架中非常常见的模板方法模式在抽象类中定义的模板方法用这招轻松找到实现类。
当然还有详细的Open Type Hierarchy 会在左侧视图里面展示更好的Type View
2、Open Call Hierachy 打开调用层级快捷键CtrlAltH 掌握它可以轻松游走于各种方法调用之间。 Open Call Hierachy 查看结果如下调用关系清晰明朗可以直接定位到调用的地方 3、Debug 断点的灵活使用
断点调式时心中必须很清楚F5、F6、F7、F8的作用不然要么迷失于源码之中要么什么都没看清就走完了。
重新啰嗦一下它们的作用
F5 Step Into单步进入。进入到某个方法里面
F6 Step Over单步结束。一行一行的执行代码入门时很多人只会一行一行走
F7 Step Return跳出方法。进入到某个方法里面时如果发现这个方法没有你想看的东西或者已经看到了你想看的直接F7跳出到方法外。
F8 Resume继续往下执行。往下执行遇到下一个断点时再停下来没有则一直运行完。
调试时我们可能会经常遇到loadClass的情况 在40行想进入ClassPathXmlApplicationContext构造方法F5不料进入了类加载 熟悉类加载的同学会很熟悉不熟悉类加载机制的也不要慌这是说明你调试的类第一次被加载这时候我们F7跳出类加载回到40行。 这个时候再按F5会真正进入ClassPathXmlApplicationContext构造方法。
当我们断点跟踪Spring这种源码的时候一定要有节奏以优先找到整体脉络为准不要一直的F5进入每一行细看F5下去几天都走不完Spring。能熟练在Spring这种框架中F5、F6、F7、F8就离弄懂他不远了。
Dubug的时候还应该注意debug视图的线程栈 这个视图能够让你在走得比较深的时候可以一眼看出自己怎么进来的当前位于什么方法里等信息还可以点击对应的代码行数进入查看。
总结这是我使用IDE跟踪源码的几个小技巧尤其是第二点是很实用的 收费工具Source Insight、Understand
Sourcetrail开源工具
一、下载安装 接下来就是download在GitHub的release页面选择自己系统对应的发布版本下载安装 安装好后运行程序会出现这样的界面 二、应用
选择“New Project”在随后的界面中填写好项目名称和项目路径
填好后点击下方的Add Source Group按钮用以添加代码。 ——在Sourcetrail中允许我们在同一个项目中添加多个来源的代码甚至允许各个代码分组的语言互不相同这些代码分组即为各个Source Group
只需要查看一个代码库的内容因此我们也只需要添加一个Source Group即可如下图依次点击 在继续输入新的信息前打开你的命令行工具Windows系统WinR输入cmd然后回车Linux下不赘述输入where pythonWindows或which python3(Linux)即可看到当前环境的Python安装路径记下这个路径我们需要用它来解析Python代码。 然后在新的界面中需要填写Python环境的字段填入刚刚我们查到的Python所在目录即去除最后一个斜杠及之后的内容。
其他的需要注意的就是“要建立索引的文件/目录”这个字段就是添加我们真正要阅读的Python源码路径。字段左下角有一个“”号点击即可增加一个源码路径 点击右下角“Create”再点击“Start”
结果解析 可以看到Sourcetrail将解析结果按“文件”、“模块”等大致分了类。 我们点击最关心的“函数Function”来体验一下 在左边Sourcetrail为我们生成了形象的调用图在右边Sourcetrail列出了当前焦点函数的代码及其相应调用。
无论在左边操作还是在右边操作都会带来界面的同步变化。