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

Posted dzqdzq

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了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工具进行调试输出, 如果出现卡死,那么

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

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

 

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

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

技术图片

 

以上是关于cocos2dx Mac平台 打印长字符串,游戏卡死的主要内容,如果未能解决你的问题,请参考以下文章

cocos2dx 在Mac平台下利用Eclipse打包安卓apk安装包详细教程

cocos2dx做的游戏帧数很低,请问为啥

cocos2dx 3.0以上版本搭建Mac环境(百分百可行)

Cocos2dx源码赏析之启动流程与主循环

做安卓平台游戏开发需要学啥?

cocos2dx 用啥工具开发