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

Flutter 3.7.0在VS Code切换窗口时出现HIToolbox NSApplicationMain错误求助

Flutter VS Code调试时HIToolbox NSApplicationMain错误的解决方案

问题描述

在VS Code中调试Flutter应用时,每次在VS Code和应用窗口间切换焦点,都会弹出HIToolbox NSApplicationMain +817错误日志,持续滚动的日志严重干扰调试操作。该问题仅在VS Code中出现,Xcode调试无此现象,且在macOS和Windows系统上均存在,使用的是Flutter稳定通道3.7.0版本。

环境信息

Flutter 3.7.0 • channel stable • https://github.com/flutter/flutter.git
Framework • revision b06b8b2710 (3 weeks ago) • 2023-01-23 16:55:55 -0800
Engine • revision b24591ed32
Tools • Dart 2.19.0 • DevTools 2.20.1

错误栈信息

1   HIToolbox                           0x00007ff812d1b726 _ZN15MenuBarInstance22EnsureAutoShowObserverEv + 102
2   HIToolbox                           0x00007ff812cbf852 SetMenuBarObscured + 226
3   HIToolbox                           0x00007ff812cbf4ca _ZN13HIApplication15HandleActivatedEP14OpaqueEventRefhP15OpaqueWindowPtrh + 164
4   HIToolbox                           0x00007ff812cb9996 _ZN13HIApplication13EventObserverEjP14OpaqueEventRefPv + 252
5   HIToolbox                           0x00007ff812c81bd2 _NotifyEventLoopObservers + 153
6   AppKit                              0x00007ff80c69e213 -[NSWindow(NSEventRouting) _handleMouseDownEvent:isDelayedEvent:] + 3212
7   AppKit                              0x00007ff80c6146ae -[NSWindow(NSEventRouting) _reallySendEvent:isDelayedEvent:] + 2595
8   AppKit                              0x00007ff80c613a6f -[NSWindow(NSEventRouting) sendEvent:] + 345
9   AppKit                              0x00007ff80c611dde -[NSApplication(NSEvent) sendEvent:] + 358
10  AppKit                              0x00007ff80c8d0885 -[NSApplication _handleEvent:] + 65
11  AppKit                              0x00007ff80c4a141c -[NSApplication run] + 623
12  AppKit                              0x00007ff80c475427 NSApplicationMain + 817
13  bible_breeze                        0x00000001034e0969 main + 9
14  dyld                                0x00007ff808f57310 start + 2432
1   HIToolbox                           0x00007ff812ca80c2 _ZN15MenuBarInstance22RemoveAutoShowObserverEv + 30
2   HIToolbox                           0x00007ff812cbf7e3 SetMenuBarObscured + 115
3   HIToolbox                           0x00007ff812cc629e _ZN13HIApplication11FrontUILostEv + 34
4   HIToolbox                           0x00007ff812cbf622 _ZN13HIApplication15HandleActivatedEP14OpaqueEventRefhP15OpaqueWindowPtrh + 508
5   HIToolbox                           0x00007ff812cb9950 _ZN13HIApplication13EventObserverEjP14OpaqueEventRefPv + 182
6   HIToolbox                           0x00007ff812c81bd2 _NotifyEventLoopObservers + 153
7   HIToolbox                           0x00007ff812cb93e6 AcquireEventFromQueue + 494
8   HIToolbox                           0x00007ff812ca85a4 ReceiveNextEventCommon + 725
9   HIToolbox                           0x00007ff812ca82b3 _BlockUntilNextEventMatchingListInModeWithFilter + 70
10  AppKit                              0x00007ff80c4aff33 _DPSNextEvent + 909
11  AppKit                              0x00007ff80c4aedb4 -[NSApplication(NSEvent) _nextEventMatchingEventMask:untilDate:inMode:dequeue:] + 1219
12  AppKit                              0x00007ff80c4a13f7 -[NSApplication run] + 586
13  AppKit                              0x00007ff80c475427 NSApplicationMain + 817
14  bible_breeze                        0x00000001034e0969 main + 9
15  dyld                                0x00007ff808f57310 start + 2432

解决方案

  • 升级Flutter版本:这是最彻底的解决方式。该问题属于Flutter 3.7.0稳定版的引擎bug,后续稳定版本(如3.7.10及之后)已修复。执行命令升级到最新稳定版:
    flutter upgrade
    
  • 过滤VS Code调试日志:如果暂时无法升级,可通过日志过滤屏蔽干扰信息:
    1. 在VS Code调试控制台右上角点击过滤图标,输入-HIToolbox,直接排除所有包含HIToolbox的日志;
    2. 或修改.vscode/launch.json配置,限制日志级别为警告及以上:
      {
        "version": "0.2.0",
        "configurations": [
          {
            "name": "Flutter",
            "request": "launch",
            "type": "dart",
            "args": ["--log-level", "warning"]
          }
        ]
      }
      
  • 切换通道临时验证:若想提前确认问题是否解决,可切换到beta或dev通道(这些通道更早修复了该bug):
    flutter channel beta
    flutter upgrade
    
    测试完成后可切回稳定通道:flutter channel stable && flutter upgrade

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.01 09:55:31