Android Java Guice无法调试@Inject注释函数

时间:2012-10-18 20:25:45

标签: java android guice

将主Guice和辅助jar文件添加到Intellij中的项目后,我无法再调试包含@Inject注释的文件。只是在我的项目中包含这两个罐而不更改我的源会产生许多警告:

“忽略匿名内部类的InnerClasses属性 (com.google.inject.internal.cglib.core。$ AbstractClassGenerator $ 1)没有附带 关联的EnclosingMethod属性。“

用于ClassEmitter,DebuggingClassWriter,EmitUtils,KeyFactory,ReflectUtils,Enhancer,MethodInterceptorGenerator,NoOp和FastClassEmitter。

我的问题 - 如何在带注释的源文件中恢复步骤调试以及如何清除这些错误?

谢谢!

1 个答案:

答案 0 :(得分:0)

this SO问题的答案描述了Guice不玩球时要使用的一些好的调试技巧:

  

我发现以下两个提示对this answer:

的调试很有用      
      
  • Grapher可视化注射器。如果自定义提供程序实现   HasDependencies,它可以扩充此图表。

  •   
  • Binder.skipSources()可让您编写错误消息正确跟踪行号的扩展程序。

  •   
     如果你编写通用绑定助手,

Binder.skipSources()很有用   methods和Guice仅报告通用助手的行号   方法,但你(很可能)实际上想要的行号   调用者在堆栈上升一层。