12

在调试 (eclipse) 中,我无法在变量视图、表达式视图和显示视图中看到变量内容 - 如果变量是在匿名类外部定义的,但调试在匿名类内部。

当我尝试在调试中查看内容时,出现错误:x cannot be resolved to a variable

在以下示例中,无法解析 x:

private void someMethod(final Object x) {
  new Runnable() {
    public void run() {
      Log.i(x); // x is printed correctly but cannot be resolved when in Debug
    }
  }.run();
}

这个问题是关于eclipse开发环境的——关于调试Android。这不是关于最终的讨论,也不是关于编译的讨论——只是调试。

4

2 回答 2

2

在调试使用线程的应用程序时,我也遇到过类似的问题。我猜你的应用程序是多线程的,因为我曾经只在那种情况下遇到过这样的事情。这可能是因为当您直接运行程序时,几乎所有线程都将同时启动。但是,在调试模式下,设置断点的线程之一将被保留,而其他启动的线程将已经完成或相反。这就是人们说调试多线程应用程序有点困难的原因,除非您保持优先级或使线程同步。

希望这些信息有所帮助。因此,不要用断点停止流程,而是尝试使用 sysout 或类似的东西打印需要知道值的值,这就像只是运行程序但仍在调试,你自己的方式:)

于 2014-06-20T04:59:53.100 回答
0

我最近遇到了同样的问题,但是更新了 android SDK 然后重新启动 eclipse 修复了它。尝试将 SDK 更新到最新版本。

于 2012-09-26T02:24:53.323 回答