Eclipse debug ‘Source not found’
用Eclispe进行Debug时一直被一个问题所困扰:Source not found.
问题产生的原因是调试进入了一个没有源代码的jar包里。
简短说明:
Edit Source Lookup Path… 能够解决Debug过程中找不到源代码的问题,PS,须要重新启动服务。
Configure Build Path 中能够给jarattach上源代码,这个管的是阅读代码时能够看到jar包里的内容。
详细步骤:
之前通过点击Edit Source Lookup Path … 来加进源代码搜索路径
但常常遇到的问题是增加后一点OK,界面闪一下,就又回到这个’Source not found’界面了。
今天由于一定要调试源代码里的东西,所以彻底搞了一下这个问题。
我的环境是: + Maven 3.2.1
首先把源代码projectdown下来,而且手动打了source.jar,假设不愿意打source.jar,也能够直接引文件夹,先进入src/main/java文件夹下,与com包在同一级文件夹下,然后运行命令:
将生成好的xxx-source.jar剪切粘贴到外部的一个文件夹里。然后在Edit Source Lookup Path … 里Add … -> ExternalArchive
选择你要加要xxx-source.jar
这时界面会出现一闪,然后又回到’Edit Source Lookup Path …’这个界面的情况,事实上,关闭服务重新启动一下就好了,我一直不明确为什么,又是又一次加,又是想办法加别的jar或project,最后搞乱了。
假设加了不该加的Lookup Path,能够点菜单Run -> Debug Configurations … -> Source 来管理LookupPath
以下是一个复杂的样例:
用Maven管理大规模jar包集和项目集时,常常遇到引入多个jar包的版本号的问题,比如当前有三个project,P1引用P2,P2引用P3,P2依赖了A-1.0.jar,P3依赖了A-2.0.jar。依据Maven选择jar包,先显式,再深度,后顺序的原则,A-1.0.jar终于被终会被project所依赖,因此,在Configure Build Path时,要把1.0的源代码包attach给这个jar,在debug时Edit Source Lookup Path… 时也要把1.0的源代码包选中,我在试验时就是把2.0的源代码包编给了Lookup
Path,然后在Configure Build Path时不管把哪个包attach上,都在debug时发生了行偏移。
所以,Configure Build Path和Edit Source Lookup Path是两回事,一个管阅读代码,一个管调试代码,但对于那种入口代码,也就是前面没有代码调它,而是容器调用的代码,一定要先阅读到它,才干打上断点啊,不是吗?
Eclipse debug ‘Source not found’的更多相关文章
- Eclipse debug Source not found
点击打开链接最近开始慢慢转向idea开发了,但是因为旧项目是在eclipse里面.就没有在idea导入,所以旧项目就用eclipse,新项目就用idea.然而最近几天eclipse似乎不干了,每次de ...
- 解决Eclipse Debug source not found问题
解决方法如下:Debug 视图下-->在调试的线程上 右键单击-->选择Edit Source Lookup Path-->选择Add-->选择Java Project选择相应 ...
- eclipse debug source not fount
1.选择Edit Source Lookup Path 2.选择Add 3.选择Java Project 4.选择相应的Project 进行OK确定即可 注意:做完以上的操作,要清除一下原来的断点,然 ...
- eclipse debug 过滤一些包
eclipse debug java程序的时候, 我们按F5的时候,常常会进入java自带类库里,这些类库并不是我们需要debug的代码,这样会影响debug的效率,我们可以在eclipse里设置,过 ...
- eclipse debug (调试) 学习心得
eclipse debug (调试) 学习心得 进入debug模式: 1.设置断点 2.启动servers端的debug模式 3.运行程序,在后台遇到断点时,进入debug调试状态 ...
- Eclipse debug调试
Eclipse debug调试: F5:跳入方法F6:向下逐行调试F7:跳出方法F8:直接跳转到下一个断点
- 转:Eclipse Debug 界面应用详解——Eclipse Debug不为人知的秘密
今天浏览csdn,发现一文详细的描述了Eclipse Debug中的各个知识点,非常详尽!特此记录. Eclipse Debug不为人知的秘密 http://blog.csdn.net/mgoann/ ...
- Eclipse Debug不能热部署解决
摘要: Eclipse Debug不能热部署代码may be out-of-synch 问题描述:Project通过ant工具编译部署到JBoss下,在使用Eclipse远程调试功... ...
- eclipse debug模式
eclipse debug模式 1.怎样在Eclipse中设置断点 方法/步骤 1 首先打开工程项目 2 第一种是,把鼠标移动想要设置断点的行,在行号前面空白地方双击,就会出现断点 3 第二种是,在菜 ...
随机推荐
- 验证身份证合法性的js
分别对15和18位的身份证号进行验证,非常严格. function idCardNo(value){ //验证身份证号方法 : : : : : : : : : : : : : : : : : : : ...
- #include <sstream>
1 std::istringstream 2 std::stringstream 1 std::istringstream input 1 在一个字符串string里提取部分数据,这些数据以空格' ' ...
- 图片延迟加载技术-Lazyload的应用
我们在浏览图片量非常大的页面时,像淘宝商城商品展示.必应图片搜索这类网站,图片的加载非常流畅,其中就应用了图片延迟加载技术.本文讲解Lazyload图片加载插件,当我们打开页面时,首先在屏幕可视区域加 ...
- MAVEN入门(一)
一.Maven的基本概念 Maven是跨平台的项目管理工具.主要服务于基于Java平台的项目构建,依赖管理和项目信息管理. 1.1.项目构建 项目构建过程包括[清理项目]→[编译项目]→[测试项目]→ ...
- 获取ini文件所有的Sections和Keys
获取ini文件中所有的Sections和Keys,并以pair对的方式存入到vector中 #include <iostream> #include <windows.h> # ...
- 底层由于接收到操作系统的信号而停止(the inferior stopped because it triggered an exception)
QT开发内存管理问题: 在linux上提示:底层由于接收到操作系统的信号而停止: 在windows上提示:the inferior stopped because it triggered an ex ...
- python two-dimensional array assignment initialize
#if you want to initialize a 9*9 two-dimensional array [([""]*9) for i in range(9)] #cauti ...
- struts2 日期标签
<td align="center"><s:date name="age" format="yyyy-MM-dd"> ...
- 《UNIX环境高级编程》笔记--线程的标识、创建和终止
1.线程标识 就像每个进程都有一个进程ID一样,每个线程都有一个线程ID.进程ID在整个系统中是唯一的,但线程ID只在它所属的 进程环境中有效. 线程ID使用pthread_t数据类型来表示,实现的时 ...
- 【JQ成长笔记】jQuery Validate验证插件
validate是一款很好的jq插件,提供了强大的验证功能,让客户端表单验证变得更简单,同时提供了大量的定制选项,满足应用程序各种需求.该插件捆绑了一套有用的验证方法,包括 URL 和电子邮件验证,同 ...