调试Felix Framework
这里是指用Eclipse调试Felix Framework自身。
1. 首先安装Eclipse Java EE,然后再安装Java Source Attacher,这样才会在Jar文件的右键菜单“属性”中有“Java Source Attachement”选项。
2. 下载Felix Framework Distribution,注意这里是二进制版本,也就是直接可以执行的版本,不是源码。
3. 使用SVN客户端工具下载Felix的源码http://svn.apache.org/repos/asf/felix/releases,注意版本号要对应。需要下载的有这样几项:
org.apache.felix.framework和org.apache.felix.main,这两项会对应到bin/felix.jar
org.apache.felix.bundlerepository、org.apache.felix.gogo.runtime、org.apache.felix.gogo.command、org.apache.felix.gogo.shell,这四项对应bundle目录下的各个jar文件
4. 将下载的源码压缩成zip文件。两点要注意,一是framework和main需要先合并,然后处理framework就可以了,可以直接将main复制到framework;二是只需要将src/main/java的文件压缩成zip,其它都不需要,resources也可以不要,我们只关心java文件,资源文件的在jar里面都有。压缩完以后应该有5个zip文件。
5. 创建Java Project,
6. 默认的Referenced Libraries没有包含bin/felix.jar,加进去。
7. 在Referenced Libraries下的felix.jar上点击右键菜单,打开Properties窗口,切换到Java Source Attachement标签,关联对应的源代码zip。
8. 同样,将Referenced Libraries下的其它jar文件都关联到源代码zip文件。
9. 新建一个Debug Configuration,注意Main class和Stop in main两个地方。
10. 执行Debug,是不是就可以了?
附件是建立好的Eclipse工程,方便参考:
felix-framework-4.2.1-debug.zip
调试Felix Framework的更多相关文章
- 如何调试Android Framework?
Linus有一句名言广为人知:Read the fucking source code. 但其实,要深入理解某个软件.框架或者系统的工作原理,仅仅「看」代码是远远不够的.就拿Android Frame ...
- 调试 .NET Framework 源代码、.DotNetCore源码
调试 .NET Framework 源代码..DotNetCore源码 如何调试 .NET Framework 源代码 在 Visual Studio 调试器中指定符号 (.pdb) 和源文件 .NE ...
- 如何:调试 .NET Framework 源代码
文章标题:如何:调试 .NET Framework 源代码 文章地址:https://technet.microsoft.com/zh-cn/cc667410.aspx
- 手把手教你调试Entity Framework 6源码
0 摘要 本文讲述在Visual Studio 2013(VS 2013)下调试Entity Framework 6(EF 6)源码的配置过程.原则上,VS 2012也适用. 之前打算编写<E ...
- 调试Android Framework的Java部分代码
DebugAndroidFramework 说明:调试Android Framework的Java部分代码,以调试源码android-28为例,需要一个API 28的模拟器配合使用. 一.下载源码 下 ...
- 如何在 Visual Studio 2013 中调试.NET Framework 4.5.1 代码
版本需求如标题,在 工具->选项->调试->常规 中,更改以下设置: 禁用:启用“仅我的代码”.逐过程执行属性和运算符(仅限托管).要求源文件与原始版本完全匹配 启用:启用 .NET ...
- 年终福利:调试.NET Framework源代码
前言 要问JAVA语言最大的优势之一,那就是开源.开源的JAVA框架让JAVA程序员可以不断的通过看源代码来学习.成长.解决问题.并随着时间增长能力越来越强,自然薪水就越来越高.而DONET程序员要看 ...
- Vs 2013 单步调试 .net framework 中遇到的问题
为了可以看清.net framework 的的内部机制,进行单步实际是不错的选择啊, 其它的更多设置可以看其它文章,我这里主要讲问题. 然后就会加载PDB,然后就可以单步进入了. 但是 , ...
- Nunit 2.6 无法调试.Net Framework 4.0
<configuration> <!-- The GUI only runs under .NET 2.0 or higher. The useLegacyV2RuntimeActi ...
随机推荐
- js冒泡处理
<div id="first"> 外层 <span id="second"> 内层 </span> </div> ...
- Hive集合数据类型
Hive的列除了支持基本的数据类型外,还支持使用Struct.Map和Array三种集合数据类型. 假设某表有如下一行,我们用JSON格式来表示其数据结构.在Hive下访问的格式为 { "n ...
- iOS 反反注入 修改__RESTRICT,__restrict工具
通过在 Xcode 里的 Other Linker Flags 设置参数,可以防止App被注入dylib(仅限于iOS 10 以下系统) 比如,某艺,XX音乐等 dylib无法注入,也就意味着没办法 ...
- 人脸检测:微软 VS Face++
近些年国内的人脸技术已经得到了很大的发展,今天网上无意看到了微软和face++两家公司的人脸检测,Face++号称国际顶尖的技术,也用过他们的接口感觉确实很不错,而微软则不再话下了.于是想对比微软和F ...
- 原来通过修改dns加快app store下载速度的确有效
说来惭愧,这几天休假,并没有做什么技术上的修行.小伙伴推荐我一款avg游戏<11eyes 罪与罚与被诅咒的少女>,说是神作.但是app store上卖rmb118元,起初并没有什么兴趣去购 ...
- <摘录>linux文件IO
这篇文章写的比较全面,也浅显易懂,备份下.转载自:http://blog.chinaunix.net/uid-27105712-id-3270102.html 在Linux 开发中,有几个关系到性能的 ...
- 正确使用 C++Builder组件缩写代码
------------------------ Standard Tab ------------------------ mm TMainMenu pm TPopupMenu mmi TMai ...
- JavaScript中的call和apply应用
ECMAScript3给Function的原型定义了两个方法,他们是Function.prototype.call 和 Function.prototype.apply. 在实际开发中,特别是在一些函 ...
- linux查找超过一定时间的文件,并批量删除
1.find . -maxdepth 4 -name "*-*" -mtime 3 -maxdepth的值决定是否对下面的子目录进行递归查找 -mtime 3表示查找刚好3天的: ...
- iOS:视图切换的第一种方式:模态窗口
一.UIModalController:模态窗口(一个控制器模态出另一个控制器的模态窗口) 当我们在view controller A中模态显示view controller B的时候,A就充当pre ...