关于windows下创建cocos2d lua工程 无法断点调试 relative (file not exist) 的问题

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了关于windows下创建cocos2d lua工程 无法断点调试 relative (file not exist) 的问题相关的知识,希望对你有一定的参考价值。

环境搭建:
按照网上给出的攻略,安装pyhton2.7, 下载cocos2d-x-3.x的引擎, 安装VS2012,babelua插件。

创建工程:
在cocos2d-x-3.6\tools\cocos2d-console\bin 目录下使用命令 cocos -new HelloLua -p HelloLua -d X:\

开始编译:
除了一些弃用接口和符号数的比较警告之外没有报错,经过我小破机二十几分钟的编译,全部通过,成功生成各种库和Windows下的模拟器。

使用babelua插件创建lua工程:
配置好脚本路径(X:\HelloLua),模拟器路径(exe),工作路径(X:\HelloLua)
设置lua工程为启动项目。

一切就绪,开始调试
从头开始,先想看看AppBase的源码,断点打在MyApp.lua 第一行 local MyApp = class("MyApp", cc.load("mvc").AppBase)
F5开始,那么问题来了,学习挖掘机哪家强。。。 啊不对,没进断点 = =! 纳尼,到底哪里出了问题!!!

第一时间网上查,都木有相同的情况。。。 好吧,自己找吧。
确认环境没有问题,插件没有问题,配置没有问题。。。

拿了别人的能调试的模拟器替换,可以调试!!!断定问题出在模拟器
比较了一下模拟器的源码(这里怎么可能有问题),又拿甚至拿文本编辑器比较了一下工程配置,
除了名字不一样,貌似都OK。。。

然后仔细查看了一下VS的输出,发现正常的工程输出是这样的
...
Load script(9): F:\cocos_proj\@Untitled10.lua relative (file not exist)
Load script(10): F:\cocos_proj\@Untitled11.lua relative (file not exist)
Warning 1009: Enabling LuaJIT C call return work-around

relative: .\src/main.lua
findfile: F:\cocos_proj\HelloLua\src\main.lua
Load script(11): F:\cocos_proj\HelloLua\src\main.lua
...

然后我的工程输出是这样的
...
Load script(9): F:\cocos_proj\@Untitled10.lua relative (file not exist)
Load script(10): F:\cocos_proj\HelloLua\src\main.lua
Warning 1009: Enabling LuaJIT C call return work-around

relative: .\config.lua
findfile: .\config.lua
Load script(11): F:\cocos_proj\config.lua relative (file not exist)
...

纳尼,看起来main.lua加载错了地方
接下来单步调试模拟器工程AppDelegate::applicationDidFinishLaunching()函数
发现问题

#if (COCOS2D_DEBUG > 0) && (CC_CODE_IDE_DEBUG_SUPPORT > 0)
// NOTE:Please don‘t remove this call if you want to debug with Cocos Code IDE
auto runtimeEngine = RuntimeEngine::getInstance();
runtimeEngine->addRuntime(RuntimeLuaImpl::create(), kRuntimeEngineLua);
runtimeEngine->start();
#else
if (engine->executeScriptFile("src/main.lua"))
{
return false;
}
#endif

CodeIDESupport.h文件里CC_CODE_IDE_DEBUG_SUPPORT这个宏被至成了0!!!
查看原始工程和可以调试的工程这个文件,CC_CODE_IDE_DEBUG_SUPPORT是1,我哭了。。。
不知道复制过来的时候怎么会修改成了0。。。为何如此戏耍我等菜鸟

修改宏定义的值为1,OK!

至于为什么会变成0没有去研究,如果哪位大神知道麻烦告知。

以上是关于关于windows下创建cocos2d lua工程 无法断点调试 relative (file not exist) 的问题的主要内容,如果未能解决你的问题,请参考以下文章

采用cocos2d-x lua 的listview 实现pageview的翻页效果之上下翻页效果

Cocos2d 调试

如何在cocos2d c++代码中调用lua以及探究

开发丨招前端开发,COCOS2D,web前端,lua 5000元

Cocos2d-x游戏开发之luaproject创建

windows下cocos2d-x工程结构讲解