OSX 10.13下glfwCreateWindow触发MessageTracer警告求助
解决OSX 10.13上MessageTracer警告的方案
我明白你在OSX 10.13写OpenGL程序时遇到的这个MessageTracer警告有多烦人——先给你吃个定心丸:这个警告是macOS High Sierra系统层面的小bug,和你的GLFW/OpenGL代码本身没有任何关系,也绝对不会影响程序的功能运行。不过如果想要彻底消除它,这里有几个可行的办法:
1. 通过环境变量禁用MessageTracer日志
这是最快捷的临时解决方式:
- 如果是在终端运行程序,启动前加上环境变量:
MESSAGETRACER_DOMAIN_WHITELIST_DISABLE=1 ./OpenGLTestProject - 如果用Xcode开发,进入项目的
Edit Scheme→Run→Arguments→Environment Variables,添加一条新变量:- 名称:
MESSAGETRACER_DOMAIN_WHITELIST_DISABLE - 值:
1
保存后重启Xcode再运行,警告就会消失。
- 名称:
2. 修复系统权限或重建白名单文件
警告的根源是系统里的MessageTracer白名单文件格式不兼容,你可以尝试:
- 打开「磁盘工具」,选中系统磁盘,点击「急救」按钮,完成系统权限修复。
- 如果修复无效,可尝试删除旧的白名单文件(操作前建议备份):
在终端执行:
重启系统后,macOS会自动重建这个文件,格式问题就能解决。sudo rm /System/Library/MessageTracer/MessageTracerWhitelist.plist
3. 直接忽略警告(最省心的选择)
因为这个警告只是系统日志的冗余输出,完全不会干扰程序的逻辑和功能,很多High Sierra上的开发者都遇到过这个问题,属于系统的已知小缺陷,后续的macOS版本已经修复了这个问题。如果不是特别在意日志的整洁度,直接忽略它完全没问题。
内容的提问来源于stack exchange,提问作者Sumit Jha
相关产品推荐
相关产品推荐

