今天发现某些情况下mac模拟器会出现不输出log的情况, 跟踪了一下发现问题出现在mac/SimulatorApp.mm文件的handleNotification方法。

NSString *str = [[[NSString alloc] initWithData:data encoding:NSUTF8StringEncoding] autorelease];

  

这句代码在某些情况下str会为nil值导致模拟器不会输出任何log,  原因可能是data的编码中存在个别字符乱码导致整体不输出的情况。

修改后的代码如下

- (void)handleNotification:(NSNotification *)note
{//NSLog(@"Received notification: %@", note);[_pipeReadHandle readInBackgroundAndNotify] ;NSData *data = [[note userInfo] objectForKey:NSFileHandleNotificationDataItem];NSString *str = [[[NSString alloc] initWithData:data encoding:NSUTF8StringEncoding] autorelease];if (!str){str =[[[NSString alloc]initWithData:data encoding:NSASCIIStringEncoding] autorelease];}if (!str){str = @"encoding NSData to NSString error";}//show log to console[_consoleController trace:str];if(_fileHandle!=nil){[_fileHandle writeData:[str dataUsingEncoding:NSUTF8StringEncoding]];}
}

  当用utf8无法正常解码改用asc解码输出,这样就能看见输出了

  

转载于:https://www.cnblogs.com/ColaZhang/p/5136481.html

cocos2dx 3.9.1 mac模拟器log输出bug修正相关推荐

  1. 思科模拟器32位_三款另类的68k Mac模拟器

    之前说过两个主流的68k Mac模拟器,Mini vMac和BasiliskII.不过它们都没有真正的硬盘模拟,都是通过外置的软驱接口连接的"硬盘".那么这篇文章将介绍三款非主流的 ...

  2. swift LOG 输出

    Log 输出是程序开发中很重要的组成部分,虽然它并不是直接的业务代码,但是却可以忠实地反映我们的程序是如何工作的,以及记录程序运行的过程中发生了什么. 在 Swift 中,最简单的输出方法就是使用 p ...

  3. android简化log输出方法

    android简化版log输出 希望实现的效果: 只需要将类实现ILog接口(不需要进行任何额外的操作),然后就能直接通过printLog进行日志的输出 如下: class A implements ...

  4. Android中获取WebView加载的html中console.log输出的内容

    场景 Android中使用WebView加载本地html并支持运行JS代码和支持缩放: Android中使用WebView加载本地html并支持运行JS代码和支持缩放_BADAO_LIUMANG_QI ...

  5. linux c打印日志文件,linux c下log输出代码模板示例代码

    前言 本文主要介绍了关于linux c下log输出代码模板的相关内容,分享出来供大家参考学习,下面话不多说了,来一起看看详细的介绍吧 模板 模本分为两个文件:log.c和log.h. log.c /* ...

  6. mac命令行将输出写入文件_如何在Linux中使用命令行将PDF文件转换为可编辑文本...

    mac命令行将输出写入文件 There are various reasons why you might want to convert a PDF file to editable text. M ...

  7. 一个小巧的C++Log输出到文件类

    一个小巧的C++Log输出到文件类 (转) 作者:wangyin159 http://www.cnblogs.com/mazhenyu/p/4139352.html 一个小巧的C++Log输出到文件类 ...

  8. Vue项目如何过滤全部console.log输出(浅水魚)

    Vue项目如何过滤全部console.log输出 在App.vue的created中调用一个consoleCancle方法 然后在methods中创建一个consoleCancle方法,让consol ...

  9. 针对不同的package定义log输出

    2019独角兽企业重金招聘Python工程师标准>>> 针对不同的package定义log输出 转载于:https://my.oschina.net/u/138995/blog/19 ...

  10. AndroidT(13) Log 系统 -- C plus plus 语言格式的LOG输出(二)

    1.概览   上一章提到的是在Android系统中,以C语言格式方式进行log输出.本章就来讲讲c++语言格式的. std::cout<<"This is a c++ log&q ...

最新文章

  1. java常用设计模式一:单例模式
  2. 洛谷P4718 【模板】Pollard-Rho算法
  3. 04_SpringCloud 整合Ribbon细粒度配置自定义
  4. 接口 同花顺_Fiddler模拟接口数据(mock)
  5. 局部变量AND全局变量
  6. atitit.常用编程语言的性能比较 c c++ java
  7. PLSQL官方下载、安装和使用完全指南
  8. Button按钮及其点击事件方式
  9. win10 1903 专业版 CreateProcessAsUser
  10. python列表元组字典
  11. Microsoft Word 2007 向程序发送命令时出现问题解决方法
  12. 互联网专利战场急先锋-高智发明,微软苹果等撑腰
  13. Java串口通信读写串口导致程序崩溃问题
  14. 欧可林Oclean X Pro旗舰版:大学生的私人口腔医生
  15. 谷歌高级搜索_您如何设置高级Google搜索条件?
  16. listview 的首行固定内容标题且加粗显示(类似于表格的首行)的实现方法
  17. Linux系统---Discuz论坛网站创建部署
  18. 华为设备 配置成为FTP服务器/客户端
  19. Apache OJB的分页处理
  20. 《新概念英语》英语的学习方法(完整版)

热门文章

  1. 超详细的《使用腾讯云移动直播开发连麦》
  2. Barefoot Networks进军白盒市场
  3. script用英语怎么说,script英语什么意思
  4. htc升级鸿蒙,HTC手机卡刷教程,固件升级教程
  5. python gdal 基于栅格shp文件裁剪geotif图
  6. 从host端对Windows虚机进行内存dump和分析
  7. 什么是程序?什么是程序设计?
  8. 分门别类刷leetcode——二叉查找树(C++实现)
  9. 双硬盘主机安装Ubuntu 18.04
  10. 第26章 SpringMVC中基于注解的Controller(一)