我认为该技术不能在任何环境中使用 Java 来使用。
也许您可以使用 AOP 获得类似的结果。
但在 Android 上你能用它做的事情看起来很有限。请参阅android 中的面向方面编程。事实上,由于您不会编译目标代码(系统方法),因此编译时编织(这似乎是您在 Android 上可以使用的所有内容)对于这种情况将毫无用处。我想这个答案也是如此。
另一种想法...我猜你想持续进行这种记录。但如果您需要它来调试问题,您可以使用Eclipse 中的条件断点来完成。
条件表达式可以包含任意 Java 代码,并且可以包含多个语句,允许断点条件来实现跟踪等功能。例如,条件可以执行打印语句,然后返回硬编码值以永不挂起(“System.out.println(...); return false;”)。
我具体不知道这是否适用于 Android SDK 中的方法。但它确实可以与 Java SDK 中的方法一起使用。例如,下面是简单的代码:
System.err.println("foo");
Run Code Online (Sandbox Code Playgroud)
我在 PrintStream.print 中设置了一个条件断点,如下所示:
System.err.println("hello: " + arg0);
return false;
Run Code Online (Sandbox Code Playgroud)
而在程序中调试时控制台输出是这样的:
hello: foo
foo
Run Code Online (Sandbox Code Playgroud)
请注意,由于 JDK 不是使用调试符号编译的,因此我无法按名称引用方法参数,而是使用arg0..argn.
| 归档时间: |
|
| 查看次数: |
5041 次 |
| 最近记录: |