gpt4 book ai didi

java - 使用 Eclipse 断点在 Android 源代码上打印日志?

转载 作者:行者123 更新时间:2023-11-30 03:35:47 24 4
gpt4 key购买 nike

为了了解系统正在执行的调试工作,我想使用 java 调试器条件断点机制在 Android 源代码的特定行上打印日志消息。

我该怎么做?我不太清楚,这就是这个问题的全部。

我知道的事情:
Eclipse java 调试器具有“条件断点”,即您在代码中设置断点并编写条件。每次代码到达断点行时,只有当您编写的条件为 true 时才会停止执行,否则不会停止。

我认为也许可以扭曲此机制以在代码中的特定行打印日志消息而不是停止执行。如果可以,我就可以跟踪 Android 的源代码在做什么。

最佳答案

您可以在条件断点中使用以下表达式:

android.util.Log.v("MyApp", "my message") == -1

这将使您的断点不会中断执行,并且在 LogCat View 中,使用 tag:MyApp 表达式过滤 View ,您将获得所需的记录消息。您还可以使用其他日志级别(aiew)。查看日志 documentation了解更多信息。

要让断点始终中断,请使用:

android.util.Log.v("MyApp", "my message") >= 0

Log.v 的返回值是日志消息内部的字节数,所以它总是一个正数。

附录:有一种更优雅的方法可以做到这一点。 Eclipse 条件断点可以是任何 java 代码,包括在断点处使用局部变量。最后的返回值必须是 true 如果你真的想停止执行或 false。所以同样可以实现:

android.util.Log.v("MyApp", "my message");
return false;

或者你可以做出更复杂的陈述,例如:

if( t.isNumber() ) {
System.out.println("A number found");
} else {
System.out.println("Not a number");
return true; // stops execution
}
android.util.Log.v("MyApp", "my message");
return false; // does not stop execution

关于java - 使用 Eclipse 断点在 Android 源代码上打印日志?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16664961/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com