【问题标题】:Getting "Source not found" when debugging my own files on android在android上调试我自己的文件时出现“找不到源”
【发布时间】:2026-01-11 18:40:02
【问题描述】:

当我在 Eclipse 上调试任何 android 应用程序时会出现此问题。假设我有 2 个类,每个类都在不同的文件中,但在同一个包中:

             public class MainActivity extends ActionBarActivity {

                @Override
                protected void onCreate(Bundle savedInstanceState) {
<BREAKPOINT>       DummyClass.doSomething();
                }
             ...
             }

    ----------------

             public class DummyClass {

                public static diSomething(){
                   Log.e("TAG","HELLO");
                }
             }

当执行在断点处停止时,我想单步执行,到达 DummyClass。但是,我收到“找不到源”错误,说 android.jar 不可访问。为什么?我什至没有尝试访问该代码。

如果您能给我任何帮助,我将不胜感激。

【问题讨论】:

  • 调用超类super.onCreate(savedInstanceState)的构造函数,然后再次调试。
  • 你好,奥尼克。这是代码的简化版本。当然,在现实生活中,我会调用构造函数和一切。那不是重点。关键是调试器的“步入”功能不起作用。
  • MainActivity 未正确创建,因为缺少提到的行。这可能是 Source not found 窗口出现在简化 sn-p 的调试器中的原因。
  • 奥尼克,感谢您的帮助。同样,我显然已经在我的项目中包含了对超级构造函数的调用。然而,我决定写一个简化版的问题,而不是复制粘贴数百行代码到这篇文章中。重点,我的代码没有问题。它编译并运行。我的调试器有问题。

标签: android eclipse debugging


【解决方案1】:

您的代码中似乎存在拼写错误。

你有DummyClass.doSomething();

public class DummyClass {

                public static *diSomething*(){
                   Log.e("TAG","HELLO");
                }
             }

把它改成'doSomething()'而不是diSomething()

【讨论】:

  • 您好 Ramakishna,感谢您指出代码有拼写错误。我直接将它写到帖子中,所以可能会导致它无法编译。然而,问题仍然存在。当代码在到达断点时编译并运行(确实如此)时,我无法使用调试器“进入”功能。