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

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工具进行调试输出, 如果出现卡死,那么

扫描二维码关注公众号,回复: 7141251 查看本文章

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

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

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

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

猜你喜欢

转载自www.cnblogs.com/dzqdzq/p/11440043.html
今日推荐