- r - 以节省内存的方式增长 data.frame
- ruby-on-rails - ruby/ruby on rails 内存泄漏检测
- android - 无法解析导入android.support.v7.app
- UNIX 域套接字与共享内存(映射文件)
我正在尝试通过暂停它来调试 Android 模拟器中的 Flutter 应用程序,点击一个按钮并期望调试器将我带到按钮 onPressed
事件处理程序,我想在其中执行通过代码。
当我点击按钮时,没有任何反应,调试器也没有从暂停状态变为运行状态。但是,如果我在点击按钮后恢复应用程序,则会立即调用 onPressed
事件处理程序,因此很明显,在应用程序暂停时模拟器正在拾取点击。
如何以这种方式调试我的应用程序,而不是手动查找正确的 .dart
文件和正确的按钮并插入断点?
最佳答案
不幸的是,您不能完全做到这一点。暂停应用程序会阻止事件循环执行,并且不会调用您的按钮处理程序。让它在您的任何代码中暂停需要一个新功能,IntelliJ 可以在其中区分您的代码和框架代码,并在任何调用您的代码时停止(即使这样,它也应该忽略您的 build()
功能)。我在 IntelliJ 中找到的最接近的是 Java method breakpoints ,这不适用于 Dart。
但是,您可以做一件事:您可以在 onPressed
的调用者中设置一个断点,这将在按下任何按钮时暂停您的应用程序。您可以在此处放置该断点:
// This is Line 504 of flutter/lib/src/material/ink_well.dart
// Ctrl+click on button to go into the framework code
// and find this file in project explorer
void _handleTap(BuildContext context) {
_currentSplash?.confirm();
_currentSplash = null;
updateHighlight(false);
if (widget.onTap != null) {
if (widget.enableFeedback)
Feedback.forTap(context);
widget.onTap(); // <---PLACE BREAKPOINT HERE
}
}
一旦你遇到这个断点,点击 step into (F7) 几次,你应该到达你的 onPressed
。
关于debugging - 在调试器中暂停 Flutter 应用程序并等待在 IntelliJ 中点击,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56749164/
我需要你的帮助!我在它们之间放置了随机数量的 div。 Item description Item description Item description Item
我有两个 NSDates,时间格式为“h:mm a”(即 6:00 AM 和 8:00 PM)。 我试图找出这两个时间之间的中点是什么时间。 对于上面的示例,早上 6:00 和晚上 8:00 之间的中
关闭。此题需要details or clarity 。目前不接受答案。 想要改进这个问题吗?通过 editing this post 添加详细信息并澄清问题. 已关闭 8 年前。 Improve th
我正在寻找一种有效的算法来检查一个点是否在 3D 中的另一个点附近。 sqrt((x2-x1)^2 + (y2-y1)^2 + (z2-z1)^2) < radius 这似乎并不太快,实际上我不需要这
我可以让 pandas cut/qcut 函数返回 bin 端点或 bin 中点而不是一串 bin 标签吗? 目前 pd.cut(pd.Series(np.arange(11)), bins = 5)
我是一名优秀的程序员,十分优秀!