Is there any way to debug a TypeError: Invalid value used as weak map key?

Is there any way to debug a TypeError: Invalid value used as weak map key?

我正在使用 Dart + Polymer,我们正在创建我们的应用程序的新版本,它进行了大量的重构,删除了一些页面等等。

现在,有一个错误

TypeError: Invalid value used as weak map key

我假设它以某种方式连接到 Iron List 接收空数据,或者其他一些聚合物元素丢失了一些东西。

但是堆栈跟踪中没有有价值的信息。有什么方法可以调试这个错误,这样我就可以了解这个错误的来源吗?

所以,我设法调试了这个问题。这就是帮助我的原因:

  1. 我设置了断点

    package:polymer/src/common/polymer_register.dart:21

    这一步帮助我理解了聚合物元素的确切含义 未能正确注册。

  2. 这是一个包含霓虹灯动画页面的页面,所以我对所有内容都进行了评论,并逐一取消注释以找到该页面
  3. 在那里我能够确定接收空数据并导致错误的 Iron 列表。

如果 Polymer 能够更准确地指出他们的错误,那就太好了,因为我花了大约 6 个小时来定位错误。但我很高兴现在一切正常,所以这一步可能会帮助某人获得更流畅的 Dart/Polymer

体验