【问题标题】:Is there a way to disable calls to Runtime.checkRestricted on the GAE Java development server under Eclipse?有没有办法在 Eclipse 下的 GAE Java 开发服务器上禁用对 Runtime.checkRestricted 的调用?
【发布时间】:2012-04-13 03:13:36
【问题描述】:

我是那些在开发过程中经常单步执行代码的人之一。从 GAE Java 开发服务器 1.6.4 版开始,该服务器已配备对名为 Runtime.checkRestricted 的函数的调用。当我单步执行我的代码时,这会导致两个不便:

  1. 每当我进入一个函数时,调试器都会进入函数Runtime.checkRestricted(没有源代码)至少一次,通常是多次。
  2. 每当我跨过一个下面有一个大调用树的函数调用时,调试器需要很长时间才能返回。 (这在 Eclipse Java 调试器中一直是个问题,但现在真的很糟糕。)

对我来说,所有这些都会严重降低生产力。有什么方法可以禁用此检测,或者至少可以防止调试器进入它?我正在使用带有 GAE 插件的 Eclipse。

【问题讨论】:

  • 不会在要调试的代码解决问题之前的位置设置断点吗?
  • alex:你说得对,设置断点可以缓解问题,但我仍将逐步完成大量代码。因此,Runtime.checkRestricted 的进出还是有很多的。
  • Thomas,非常适合我。完全相同的问题,在googleappengine/java/src/main/com/google/appengine/tools/development/agent/runtime/Runtime.java 上跟踪和打嗝

标签: java eclipse google-app-engine


【解决方案1】:

添加一个步骤过滤器以过滤掉您不感兴趣的所有步骤断点。Eclipse 文档provides a guide how to set up step filter

在您的具体情况下,您需要为 com.google.appengine.tools.development.* 添加一个包过滤器,因为此包及其子包包含 GAE 的 Runtime 类和 RuntimeHelper 类。最后,别忘了激活“使用步进过滤器”选项(Shift + F5)。

【讨论】:

  • 顺便说一句:如果你想拥有 Runtime.checkRestricted 的源代码(以及大多数其他与 GAE 相关的类),请将 code.google.com/p/googleappengine/source/checkout 的源代码签出到本地文件夹,然后在 Eclipse要求您附加来源,指向该文件夹。
猜你喜欢
  • 2010-10-13
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2020-06-01
  • 1970-01-01
相关资源
最近更新 更多