码迷,mamicode.com
首页 > 系统相关 > 详细

cocos2dx Mac平台 打印长字符串,游戏卡死

时间:2019-08-31 19:30:44      阅读:121      评论:0      收藏:0      [点我收藏+]

标签:get   s2d   lse   信息   mac   ons   工具   tco   字符   

1,打开了输出控制台,输出卡死的解决方案:

打开控制台: game -console enable

关闭控制台: game -console false

修改文件 ConsoleWindowController.m

#define SKIP_LINES_COUNT    300
#define MAX_LINE_LEN        409600
#define MAX_LINES_COUNT     20000

MAX_LINE_LEN 宏的含义是 一行日志最多MAX_LINE_LEN个字符.   如果要输出的字符串长度超过了MAX_LINE_LEN, 则进行截取,并以 ... 代替

SKIP_LINES_COUNT 宏的含义是  从SKIP_LINES_COUNT行后, 对超过MAX_LINE_LEN字符串进行截取.

也就是说在第300行之前, 你给什么,我就是输出什么. 300行之后,你给了一个长字符串,将进行截取后输出

MAX_LINES_COUNT 宏的含义是 输出控制台最多能容纳的行数.  在这里是2万行,  如果达到了2万行, 则最之前的信息会删除,

之后的输出始终保证输出控制台只有2万行.

如果打印不全就修改MAX_LINE_LEN的值

2, 如果没有打开控制台, 使用luaide工具进行调试输出, 如果出现卡死,那么

修改文件 CCConsole.cpp中log 方法:

删除 Director::getInstance()->getConsole()->log(buf); 这一条语句然后重新编译项目.

 

这样所有输出都在vscode中, 并且不会出现卡死了.  

如果一条输出很长,出现了截取的情况,那么修改MAX_LOG_LENGTH宏

技术图片

 

cocos2dx Mac平台 打印长字符串,游戏卡死

标签:get   s2d   lse   信息   mac   ons   工具   tco   字符   

原文地址:https://www.cnblogs.com/dzqdzq/p/11440043.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!