admin 管理员组

文章数量: 1086019


2024年3月13日发(作者:compare to比较日期)

欢迎使用LuaPerfect

一、欢迎

欢迎您使用LuaPerfect!LuaPerfect是TX开发的专业级的Lua调试器,致力于为广大Lua开

发人员提供免费的专业的Lua调试工具。

二、调试指南

1、LuaPerfect调试原理

如下图所示,LuaPerfect的调试原理是通过在游戏中通过require("LuaDebuggee")来加载

,并通过LuaDebugee模块设置调试钩子,从而完成调试的功能。

图1、LuaPerfect调试原理

2、LuaPerfect调试具体步骤

步骤1:在LuaPerfect工程列表里选择需要打开的项目,打开项目的同时,LuaPerfect会自

动地将LuaDebuggee复制到工程的目录,以供游戏中调用(无需手动复制)。

步骤2:在工程入口点的Lua文件的开头,粘贴如下代码:

require('LuaDebuggee').StartDebug("127.0.0.1",9826)

步骤3:在刚刚添加的语句后面执行的语句处放置一个断点(快捷键F9)。在Unity里启动

游戏,即会断点到该断点处。

特别说明1:由于XLua官方示例工程中很多地方使用DoString(),建议使用自带的

00_LuaPerfectTest_XLua这个例子进行测试,自带的例子在官方群00_LuaPerfectTest_

中。

特别说明2:如果加入require(“LuaDebuggee”).StartDebug(“127.0.0.1”,9826)后,自定

义的CustomLuaLoader里发生错误,提示找不到或者类似的提示。请修改

CustomLuaLoader,对于”LuaDebuggee”的情况,直接返回0。

publicstaticintMyCustomLoader(IntPtrL)

{

stringlibararyName=_tostring(L,1);

if(libararyName=="LuaDebuggee")

{

return0;

}

...其他代码

}

//加上这个判断"LuaDebuggee"返回0的即可调试

图2、成功启动调试

三、直接查看Unity对象成员

LuaPerfect除了提供查看常规的Lua值/对象的能力,也提供了查看Unity里的C#对象成员的

能力,并且更进一步,如果查看的对象是GameObject对象,会列出其各个子GameObject

对象及GameComponent对象。因此XLua和SLua,需要Make一下,确保

ThirdParty/LuaPerfect/被正常导出到Lua。在ObjectForamter类被正常导出

到Lua之后,LuaPerfect中即可正常查看Unity里的C#对象。


本文标签: 调试 工程 对象 提示