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

首先把源码工程down下来,并且手动打了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或工程,最后搞乱了。

如果加了不该加的Lookup Path,可以点菜单Run -> Debug Configurations … -> Source 来管理LookupPath

下面是一个复杂的例子:

用Maven管理大规模jar包集和项目集时,经常遇到引入多个jar包的版本的问题,例如当前有三个工程,P1引用P2,P2引用P3,P2依赖了A-1.0.jar,P3依赖了A-2.0.jar。根据Maven选择jar包,先显式,再深度,后顺序的原则,A-1.0.jar最终被终会被工程所依赖,因此,在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’

时间: 2024-10-13 12:14:24

Eclipse debug ‘Source not found’的相关文章

Eclipse debug source not found

在eclipse进行debug调试时出现source not found,解决方法如下: 1.选择Edit Source Lookup Path,进入如下页面: 2.不要勾选Search for duplicate source files on the path,点击Add按钮: 3.进入选择页面,要选择 Java Project 选择项目,不要选择其他的: 4.最后一步,勾选本项目名称,确定即可.

Eclipse Debug

Eclipse Debug 配置 创建和使用 Debug 配置 Eclipse Debug 配置类似于运行配置但它是用于在调试模式下开启应用. 打开 Debug 配置对话框步骤为:Run > Debug Configurations . 从左侧列表中选择 "Java Application" 选项来创建 Java 应用的调试配置并 New 按钮. 对话框中的描述信息有: 调试配置的名称 项目名称 主类名 arguments(参数)选项卡的描述信息有: 零个或多个程序参数 零个或多

gradle使用eclipse debug 代码

设置环境变量 unix,linux      export GRADLE_OPTS="-Xdebug -Xrunjdwp:transport=dt_socket,address=9999,server=y,suspend=n”windows         set GRADLE_OPTS="-Xdebug -Xrunjdwp:transport=dt_socket,address=9999,server=y,suspend=n” 启动服务 gradle task --no-daemon

DEBUG : Eclipse Debug 时出现 Cannot connect to VM select failed错误

Eclipse在执行Debug操作时, 出现“Eclipse Debug 时出现 "Cannot connect to VM select failed"”错误, 在网上查找该错误和 ipv4.ipv6 有关,但不知道具体原因. 解决方法如下: 搜索 "eclipse.ini" 文件,一般是在 eclipse 的安装目录, 添加下列控制参数: -Djava.net.preferIPv4Stack=true 即可. 此参数关掉了jvm的ipv6功能,可参考下列文章: 

Play! Framework Eclipse Debug调试报错解决方法记录

使用Play eclipsify xxxx[项目路径],可以把play new xxxx[项目路径]创建的工程生成为Eclipse的项目 但是在Debug AS 调试的时候,会报以下错误 Error occurred during initialization of VM  agent library failed to init: jdwp    ERROR: Cannot load this JVM TI agent twice, check your java command line f

Eclipse debug 调试的几点技巧

在网上看到一篇关于Eclipse debug调试的文章,整理得比较全面,现转载如下: 先提三点 不要使用System.out.println作为调试工具 启用所有组件的详细的日志记录级别 使用一个日志分析器来阅读日志 1.条件断点 想象一下我们平时如何添加断点,通常的做法是双击行号的左边.在debug视图 中,BreakPoint View将所有断点都列出来,但是我们可以添加一个boolean类型的条件来决定断点是否被跳过.如果条件为真,在断点处程序将停止,否则断点被跳过, 程序继续执行. 2.

Eclipse Debug模式无法启动 Cannot connect to VM 解决

版权声明:本文为博主原创文章,未经博主允许不得转载. Eclipse普通的Run模式没有问题,Debug模式却启动不了.换了Eclipse,MyEclipse,JDK都不解决问题 后来将机器上安装的城市热点认证软件关闭,Debug模式终于可以正常启动了. 原来是城市热点和JVM的调试模式冲突了. 使用Eclipse对Java代码进行调试,无论是远程JVM还是本地JVM都会进行Socket通讯.发生这样的错误是由于Socket通讯不上造成的. 城市热点是相当霸道的,不但会修改winsock,还会监

转: Android 软件开发之如何使用Eclipse Debug调试程序详解(七)

转自: http://www.uml.org.cn/mobiledev/201110092.asp Android 软件开发之如何使用Eclipse Debug调试程序详解(七)   发布于2011-10-09   1.在程序中添加一个断点 如果所示:在Eclipse中添加了一个程序断点 在Eclipse中一共有三种添加断点的方法 第一种: 在红框区域右键出现菜单后点击第一项 Toggle Breakpoint 将会在你右键代码的哪一行添加一个程序断点 (同样的操作方可取消程序断点) 第二种:

eclipse debug 调试找不到资源问题解决

eclipse debug 的时候,如果使用maven bulid,就可能找不到class,这种情况就需要先停止服务,然后配置 Run configurations-Source,然后remove掉Default目录,点Add,然后选Java project,选择对应的Java项目,然后运行服务 就可以正常进入debug了. 原文地址:https://www.cnblogs.com/ydcblogs/p/8257704.html