是否可以在运行时观察变量?
Is it possible to watch variables at runtime?
我知道调试的基础知识,我知道我可以向变量添加监视,以在给定条件下停止程序的执行。但我不想每次需要查看变量值时都停止程序。我也不想将每个相关变量的值记录到 logcat...我只想像在断点处那样查看它们的值,只是在运行时。
我在 Android Studio 编程 Android。
感谢您的帮助!
当您的程序在断点处停止时,单击调试器菜单最右侧的图标(见下图)。您可以在此 window 中输入方法或变量名称,然后查看它们是什么。
您可以键入任何您喜欢的表达式(只要它在您破坏代码的范围内)并输入任何硬编码值或对象,而无需重新运行您的项目。
将变量添加到您的监视列表
首先在 class 您想要观察特定变量的位置放置一个断点。 运行 代码,一旦它从变量 window 帧到达断点,您应该会看到所有可访问的变量。只需选择您想要观看的节目,然后右键单击并从下拉列表中选择 "Add to watches"。
继续调试,您应该会看到 Watches window 框架中的变量会根据您的代码在适当的时候更新。
如果您了解调试的基础知识,则可以轻松地向变量添加监视,以便在给定条件下停止程序的执行。如果您不想每次想查看变量值时都停止程序,那么查看变量值的简单方法是使用 Toasts。
toast 在一个小弹出窗口中提供操作中任何变量的示例值。 Toasts 在设置的超时后自动消失。
一个简单的代码示例:
Context context = getApplicationContext();
CharSequence text = "Hello toast!";
int duration = Toast.LENGTH_SHORT;
Toast toast = Toast.makeText(context, text, duration);
toast.show();
为了在 Toast 中查看变量值:
int var=1;
Toast.makeText(getApplicationContext(), "vlaue is "+var, Toast.LENGTH_LONG).show();
为了在 Toast 中查看变量类型:
Toast.makeText(getApplicationContext(), "type is "+var.getClass().getName(), Toast.LENGTH_LONG).show();
是的,你可以!
根据 Android Dev Summit '19,您可以通过 禁用断点中的 Suspended
标志 轻松做到这一点。
然后您可以在每次到达断点时向控制台评估一条日志消息,而无需暂停!
如您所见,我的应用程序每次到达断点时都会向控制台发送日志。
也就是说,您可以在运行次查看变量变化!
我知道调试的基础知识,我知道我可以向变量添加监视,以在给定条件下停止程序的执行。但我不想每次需要查看变量值时都停止程序。我也不想将每个相关变量的值记录到 logcat...我只想像在断点处那样查看它们的值,只是在运行时。
我在 Android Studio 编程 Android。
感谢您的帮助!
当您的程序在断点处停止时,单击调试器菜单最右侧的图标(见下图)。您可以在此 window 中输入方法或变量名称,然后查看它们是什么。
您可以键入任何您喜欢的表达式(只要它在您破坏代码的范围内)并输入任何硬编码值或对象,而无需重新运行您的项目。
将变量添加到您的监视列表
首先在 class 您想要观察特定变量的位置放置一个断点。 运行 代码,一旦它从变量 window 帧到达断点,您应该会看到所有可访问的变量。只需选择您想要观看的节目,然后右键单击并从下拉列表中选择 "Add to watches"。
继续调试,您应该会看到 Watches window 框架中的变量会根据您的代码在适当的时候更新。
如果您了解调试的基础知识,则可以轻松地向变量添加监视,以便在给定条件下停止程序的执行。如果您不想每次想查看变量值时都停止程序,那么查看变量值的简单方法是使用 Toasts。 toast 在一个小弹出窗口中提供操作中任何变量的示例值。 Toasts 在设置的超时后自动消失。
一个简单的代码示例:
Context context = getApplicationContext();
CharSequence text = "Hello toast!";
int duration = Toast.LENGTH_SHORT;
Toast toast = Toast.makeText(context, text, duration);
toast.show();
为了在 Toast 中查看变量值:
int var=1;
Toast.makeText(getApplicationContext(), "vlaue is "+var, Toast.LENGTH_LONG).show();
为了在 Toast 中查看变量类型:
Toast.makeText(getApplicationContext(), "type is "+var.getClass().getName(), Toast.LENGTH_LONG).show();
是的,你可以!
根据 Android Dev Summit '19,您可以通过 禁用断点中的 Suspended
标志 轻松做到这一点。
然后您可以在每次到达断点时向控制台评估一条日志消息,而无需暂停!
如您所见,我的应用程序每次到达断点时都会向控制台发送日志。
也就是说,您可以在运行次查看变量变化!