Android studio 在颤振错误日志中,如何找到日志中命名的对象?
感谢您考虑这个问题。它快把我逼疯了。 在开始回答之前,请仔细阅读我的问题。这可能不是你所期望的 这个问题不需要一个代码示例,所以我没有包含一个。这是关于如何垂直颤振内部以定位内部对象 具体地说,我想学习如何在运行的flatter程序中定位一个失效的渲染对象,该程序在错误日志中按名称引用 我的问题不是正确使用定位的小部件,所以专门针对它们的回答可能不会有用;用例恰好是在定位小部件方面 用例。 我正在开发flatter代码,它提供了一个堆栈小部件,封装了许多临时定位的小部件 定位的小部件可以非常快速地在堆栈中交换 由于定位的小部件本身包装了其他更改的小部件,因此我将宿主小部件的setState()方法传递给一个生成器函数,该函数返回定位的小部件 当定位小部件更新其内部状态时,子部件调用传入的setState(),以通知父小部件它需要重建 几乎所有的时候这都很有效。除非它没有 有时,颤振会抛出如下错误:Android studio 在颤振错误日志中,如何找到日志中命名的对象?,android-studio,flutter,Android Studio,Flutter,感谢您考虑这个问题。它快把我逼疯了。 在开始回答之前,请仔细阅读我的问题。这可能不是你所期望的 这个问题不需要一个代码示例,所以我没有包含一个。这是关于如何垂直颤振内部以定位内部对象 具体地说,我想学习如何在运行的flatter程序中定位一个失效的渲染对象,该程序在错误日志中按名称引用 我的问题不是正确使用定位的小部件,所以专门针对它们的回答可能不会有用;用例恰好是在定位小部件方面 用例。 我正在开发flatter代码,它提供了一个堆栈小部件,封装了许多临时定位的小部件 定位的小部件可以非常快速
════════ Exception caught by widgets library
═══════════════════════════════════════════════════════
setState() called after dispose(): _TowerWidgetState#c7453(lifecycle state: defunct, not mounted)
我知道发生了什么,但是我很难找到错误调用setState()的对象
很明显,我正在将一个定位的小部件从渲染树中分离出来,然后渲染树调用我最初传递给它的setState()函数,并生成一条错误消息,如上图所示
我在这里的挫折是我找不到有故障的小部件
最后,问题是:
给定对某个颤振对象的引用(在本例中为_TowerWidgetState 35; c7453),如何使用调试器定位该对象,因为它显然不再位于小部件树中了
为了帮助人们确定答案,我正在使用Android Studio开发代码
你已经试过什么了,科特?
所有这些我都试过了,但都没有成功:
- 在命名代码行上设置断点
- 调整断点以命中调试对话框中列出的每个异常类型
- 省道例外
- Java异常
- 有例外吗
我很乐意提供有助于回答这个问题的任何细节。关于实际的“bug”,结果证明“animationController.forward().orCancel()”是罪魁祸首。在Android构建中,“orCancel()”将使框架抛出错误。这在iOS上不会发生。我刚刚删除了“.orCancel()”。然而,我的问题仍然没有得到回答至于实际的“bug”,结果是“animationController.forward().orCancel()”是罪魁祸首。在Android构建中,“orCancel()”将使框架抛出错误。这在iOS上不会发生。我刚刚删除了“.orCancel()”。然而,我的问题仍然没有得到回答