You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Android平台Dart/Flutter发布模式堆栈追踪错误原因排查

发布模式下Trace.current()返回错误堆栈追踪的问题

调试模式下调用Trace.current()可正常工作,但发布模式下调用该方法得到的堆栈追踪结果存在明显错误(对应代码路径不可能存在)。多数甚至全部发布模式下的堆栈追踪都存在这类问题,其中会有一到两个函数调用信息错误。

调试模式堆栈追踪(正确显示GlobalChannelProxyService.createChannel调用)

package:poly_scrabble_mobile/room_service/room_service.dart 52:36              RoomService._getCurrentFunctionName
package:poly_scrabble_mobile/room_service/room_service.dart 134:25             RoomService.callServer
package:poly_scrabble_mobile/services/global_channel_proxy_service.dart 17:33  GlobalChannelProxyService.createChannel
package:poly_scrabble_mobile/main_page/chat/create_channel_dialog.dart 14:10   CreateChannelDialog.submit
package:poly_scrabble_mobile/main_page/chat/create_channel_dialog.dart 44:17   CreateChannelDialog.build.<fn>
...

发布模式堆栈追踪(错误显示未被调用的GameServiceProxy.executePlace)

package:poly_scrabble_mobile/room_service/room_service.dart 52             RoomService._getCurrentFunctionName
package:poly_scrabble_mobile/room_service/room_service.dart 134            RoomService.callServer
package:poly_scrabble_mobile/services/game_proxy_service.dart 84           GameServiceProxy.executePlace
package:poly_scrabble_mobile/main_page/chat/create_channel_dialog.dart 16  CreateChannelDialog.submit.<fn>

注意:GameServiceProxy.executePlace在应用中从未被调用过,但它是一个异步函数,这可能与问题相关。

注释GameServiceProxy.executePlace后的发布模式堆栈追踪(仍存在错误路径)

package:poly_scrabble_mobile/room_service/room_service.dart 52              RoomService._getCurrentFunctionName
package:poly_scrabble_mobile/room_service/room_service.dart 111             RoomService.reflectProp
package:poly_scrabble_mobile/services/self_user_proxy_service.dart 12       SelfUserProxyService.user
package:poly_scrabble_mobile/room_service/room_service.dart 165             RoomService._callServerBase
package:poly_scrabble_mobile/room_service/room_service.dart 148             RoomService.callServer
package:poly_scrabble_mobile/services/global_channel_proxy_service.dart 17  GlobalChannelProxyService.createChannel
package:poly_scrabble_mobile/main_page/chat/create_channel_dialog.dart 14   CreateChannelDialog.submit
package:poly_scrabble_mobile/main_page/chat/create_channel_dialog.dart 33   CreateChannelDialog.build.<fn>
...

注意:其中的SelfUserProxyService.user同样属于不可能的调用路径,看起来像是两个堆栈追踪被混淆了。

内容的提问来源于stack exchange,提问作者fordcars

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.10 03:10:17