zoukankan      html  css  js  c++  java
  • 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是两回事,一个管阅读代码,一个管调试代码,但对于那种入口代码,也就是前面没有代码调它,而是容器调用的代码,一定要先阅读到它,才干打上断点啊,不是吗?

  • 相关阅读:
    tar解压包的时候出现错误 gzip: stdin: not in gzip format
    解决Ubuntu刚装好的时候su命令密码错误的问题
    如何将Ubuntu左边的面板放到底部
    解决VMware安装Ubuntu的过程中窗口过小无法看到按钮的问题
    无法对视图创建索引,因为该视图未绑定到架构
    Matlab当中size() length()等函数讲解
    解决Matlab当中for循环运行慢的问题
    SqlServer如何获取存储过程的返回值
    Linux的五个查找命令
    linux安装redis官方教程
  • 原文地址:https://www.cnblogs.com/zfyouxi/p/4051950.html
Copyright © 2011-2022 走看看