实例介绍
【实例简介】
Miku-LuaProfiler源码下载
Unity游戏开发中经常需要对Lua脚本进行性能分析,以确保游戏运行流畅。Miku-LuaProfiler是一个专为Unity设计的Lua性能分析工具,支持Windows和Android平台,同时也在为MAC和IOS平台提供支持。
部署和安装:
推荐在Unity2019版本中通过PackageManager添加,对于国内网络环境,可以考虑使用国内的代码托管平台进行加速。对于Unity5.6及以上版本,建议将LuaProfiler目录复制到项目的Assets文件夹中。
如何使用:
在编辑器中,推荐使用local模式并打开DeepLua开关。对于Android真机测试,需要在打包时定义USE_LUA_PROFILER宏,并通过连续敲击屏幕5次以上来激活性能分析菜单。此外,还支持通过USB数据线连接手机和电脑,使用adb命令进行数据传输,方便在编辑器中查看真机数据。
数据说明:
Miku-LuaProfiler提供了详细的性能数据展示,包括函数名称、Lua和Mono的内存使用情况、执行时间等,帮助开发者快速定位性能瓶颈。
【实例截图】
【核心代码】
文件清单
└── Miku-LuaProfiler-e7c2997750dfd93ea3dff4fa2259934dd222e90f
├── doc~
│ ├── 2022-12-14-21-50-20.png
│ ├── 2022-12-14-21-58-59.png
│ ├── 2022-12-14-22-04-21.png
│ ├── config_client.png
│ ├── config_server.png
│ ├── diff_log.png
│ ├── diff.png
│ ├── install_success.png
│ ├── ljjc.jpg
│ ├── logo.png
│ ├── mark.png
│ ├── meizi.gif
│ ├── menu.png
│ ├── null_object.png
│ ├── package_clone.png
│ ├── profiler.gif
│ ├── record.gif
│ ├── record.png
│ ├── reg_history.png
│ ├── register.gif
│ ├── register_record.gif
│ ├── search.png
│ ├── sort.png
│ ├── star.gif
│ ├── use3.gif
│ ├── use.gif
│ └── zfb.png
├── LICENSE
├── LICENSE.meta
├── LuaProfiler
│ ├── Editor
│ │ ├── CECIL
│ │ │ ├── Miku.Cecil.dll
│ │ │ └── Miku.Cecil.dll.meta
│ │ ├── CECIL.meta
│ │ ├── MikuLuaProfiler.Editor.asmdef
│ │ ├── MikuLuaProfiler.Editor.asmdef.meta
│ │ ├── StartUp.cs
│ │ ├── StartUp.cs.meta
│ │ ├── Window
│ │ │ ├── Client
│ │ │ │ ├── LuaProfilerSettingWindow.cs
│ │ │ │ └── LuaProfilerSettingWindow.cs.meta
│ │ │ ├── Client.meta
│ │ │ ├── ProfilerWin
│ │ │ │ ├── LocalToLuaIDE.cs
│ │ │ │ ├── LocalToLuaIDE.cs.meta
│ │ │ │ ├── NetWork
│ │ │ │ │ ├── NetWorkMgr.Client.cs
│ │ │ │ │ └── NetWorkMgr.Client.cs.meta
│ │ │ │ ├── NetWork.meta
│ │ │ │ ├── Setting
│ │ │ │ │ ├── LuaProfilerPrecompileSettingEditor.cs
│ │ │ │ │ └── LuaProfilerPrecompileSettingEditor.cs.meta
│ │ │ │ ├── Setting.meta
│ │ │ │ ├── TreeView
│ │ │ │ │ ├── HistoryCurve.cs
│ │ │ │ │ ├── HistoryCurve.cs.meta
│ │ │ │ │ ├── LuaDiffScrollView.cs
│ │ │ │ │ ├── LuaDiffScrollView.cs.meta
│ │ │ │ │ ├── LuaProfilerTreeView.cs
│ │ │ │ │ ├── LuaProfilerTreeView.cs.meta
│ │ │ │ │ ├── LuaProfilerWindow.cs
│ │ │ │ │ ├── LuaProfilerWindow.cs.meta
│ │ │ │ │ ├── LuaRefScrollView.cs
│ │ │ │ │ ├── LuaRefScrollView.cs.meta
│ │ │ │ │ ├── SplitterGUILayout.cs
│ │ │ │ │ ├── SplitterGUILayout.cs.meta
│ │ │ │ │ ├── SplitterState.cs
│ │ │ │ │ └── SplitterState.cs.meta
│ │ │ │ └── TreeView.meta
│ │ │ └── ProfilerWin.meta
│ │ └── Window.meta
│ ├── Editor.meta
│ ├── Runtime
│ │ ├── Common
│ │ │ ├── Setting
│ │ │ │ ├── LuaDeepProfilerSetting.cs
│ │ │ │ ├── LuaDeepProfilerSetting.cs.meta
│ │ │ │ ├── LuaProfilerPrecompileSetting.cs
│ │ │ │ └── LuaProfilerPrecompileSetting.cs.meta
│ │ │ ├── Setting.meta
│ │ │ ├── Struct
│ │ │ │ ├── List.cs
│ │ │ │ ├── List.cs.meta
│ │ │ │ ├── ObjectPool.cs
│ │ │ │ ├── ObjectPool.cs.meta
│ │ │ │ ├── Sample.cs
│ │ │ │ └── Sample.cs.meta
│ │ │ └── Struct.meta
│ │ ├── Common.meta
│ │ ├── Core
│ │ │ ├── Driver
│ │ │ │ ├── Hook
│ │ │ │ │ ├── AndroidHook
│ │ │ │ │ │ ├── AndroidNativeHooker.cs
│ │ │ │ │ │ └── AndroidNativeHooker.cs.meta
│ │ │ │ │ ├── AndroidHook.meta
│ │ │ │ │ ├── WindowsHook
│ │ │ │ │ │ ├── LDasm.cs
│ │ │ │ │ │ ├── LDasm.cs.meta
│ │ │ │ │ │ ├── NativeHelper.cs
│ │ │ │ │ │ ├── NativeHelper.cs.meta
│ │ │ │ │ │ ├── WindowsNativeHooker.cs
│ │ │ │ │ │ └── WindowsNativeHooker.cs.meta
│ │ │ │ │ └── WindowsHook.meta
│ │ │ │ ├── Hook.meta
│ │ │ │ ├── LuaDLL.cs
│ │ │ │ ├── LuaDLL.cs.meta
│ │ │ │ ├── LuaProfiler.cs
│ │ │ │ ├── LuaProfiler.cs.meta
│ │ │ │ ├── NativeHelper
│ │ │ │ │ ├── INativeHooker.cs
│ │ │ │ │ └── INativeHooker.cs.meta
│ │ │ │ ├── NativeHelper.meta
│ │ │ │ ├── Parse
│ │ │ │ │ ├── Common.cs
│ │ │ │ │ ├── Common.cs.meta
│ │ │ │ │ ├── LLex.cs
│ │ │ │ │ ├── LLex.cs.meta
│ │ │ │ │ ├── Parse.cs
│ │ │ │ │ ├── Parse.cs.meta
│ │ │ │ │ ├── Util.cs
│ │ │ │ │ └── Util.cs.meta
│ │ │ │ └── Parse.meta
│ │ │ ├── Driver.meta
│ │ │ ├── LuaHookSetup.cs
│ │ │ ├── LuaHookSetup.cs.meta
│ │ │ ├── NetWork
│ │ │ │ ├── MBinaryReader.cs
│ │ │ │ ├── MBinaryReader.cs.meta
│ │ │ │ ├── MBinaryWriter.cs
│ │ │ │ ├── MBinaryWriter.cs.meta
│ │ │ │ ├── NetWorkMgr.cs
│ │ │ │ ├── NetWorkMgr.cs.meta
│ │ │ │ ├── NetWorkMgr.Server.cs
│ │ │ │ ├── NetWorkMgr.Server.cs.meta
│ │ │ │ ├── Packet
│ │ │ │ │ ├── LuaRefInfo.cs
│ │ │ │ │ ├── LuaRefInfo.cs.meta
│ │ │ │ │ ├── PacketBase.cs
│ │ │ │ │ ├── PacketBase.cs.meta
│ │ │ │ │ ├── PKGDisconnect.cs
│ │ │ │ │ ├── PKGDisconnect.cs.meta
│ │ │ │ │ ├── PKGHeartBeat.cs
│ │ │ │ │ ├── PKGHeartBeat.cs.meta
│ │ │ │ │ ├── Sample.cs
│ │ │ │ │ └── Sample.cs.meta
│ │ │ │ └── Packet.meta
│ │ │ └── NetWork.meta
│ │ ├── Core.meta
│ │ ├── MIkuLuaProfiler.Runtime.asmdef
│ │ ├── MIkuLuaProfiler.Runtime.asmdef.meta
│ │ ├── Plugins
│ │ │ ├── Android
│ │ │ │ ├── java
│ │ │ │ │ ├── ShadowHook.aar
│ │ │ │ │ └── ShadowHook.aar.meta
│ │ │ │ ├── java.meta
│ │ │ │ ├── libs
│ │ │ │ │ ├── arm64-v8a
│ │ │ │ │ │ ├── libshadowhook.so
│ │ │ │ │ │ └── libshadowhook.so.meta
│ │ │ │ │ ├── arm64-v8a.meta
│ │ │ │ │ ├── armeabi-v7a
│ │ │ │ │ │ ├── libshadowhook.so
│ │ │ │ │ │ └── libshadowhook.so.meta
│ │ │ │ │ └── armeabi-v7a.meta
│ │ │ │ └── libs.meta
│ │ │ └── Android.meta
│ │ └── Plugins.meta
│ └── Runtime.meta
├── LuaProfiler~
│ ├── example
│ │ └── Assets
│ │ ├── Plugins
│ │ │ ├── Android
│ │ │ │ ├── java.meta
│ │ │ │ ├── libs
│ │ │ │ │ ├── arm64-v8a
│ │ │ │ │ │ ├── libxlua.so
│ │ │ │ │ │ └── libxlua.so.meta
│ │ │ │ │ ├── arm64-v8a.meta
│ │ │ │ │ ├── armeabi-v7a
│ │ │ │ │ │ ├── libxlua.so
│ │ │ │ │ │ └── libxlua.so.meta
│ │ │ │ │ └── armeabi-v7a.meta
│ │ │ │ └── libs.meta
│ │ │ ├── Android.meta
│ │ │ ├── iOS
│ │ │ │ ├── HotfixFlags.cpp
│ │ │ │ ├── HotfixFlags.cpp.meta
│ │ │ │ ├── libxlua.a
│ │ │ │ └── libxlua.a.meta
│ │ │ ├── iOS.meta
│ │ │ ├── WebGL
│ │ │ │ ├── xlua_webgl.cpp
│ │ │ │ └── xlua_webgl.cpp.meta
│ │ │ ├── WebGL.meta
│ │ │ ├── WSA
│ │ │ │ ├── ARM
│ │ │ │ │ ├── xlua.dll
│ │ │ │ │ └── xlua.dll.meta
│ │ │ │ ├── ARM.meta
│ │ │ │ ├── x64
│ │ │ │ │ ├── xlua.dll
│ │ │ │ │ └── xlua.dll.meta
│ │ │ │ ├── x64.meta
│ │ │ │ ├── x86
│ │ │ │ │ ├── xlua.dll
│ │ │ │ │ └── xlua.dll.meta
│ │ │ │ └── x86.meta
│ │ │ ├── WSA.meta
│ │ │ ├── x86
│ │ │ │ ├── libxlua.so
│ │ │ │ ├── libxlua.so.meta
│ │ │ │ ├── xlua.dll
│ │ │ │ └── xlua.dll.meta
│ │ │ ├── x86_64
│ │ │ │ ├── libxlua.so
│ │ │ │ ├── libxlua.so.meta
│ │ │ │ ├── xlua.dll
│ │ │ │ └── xlua.dll.meta
│ │ │ ├── x86_64.meta
│ │ │ ├── x86.meta
│ │ │ ├── xlua.bundle
│ │ │ │ ├── Contents
│ │ │ │ │ ├── Info.plist
│ │ │ │ │ ├── Info.plist.meta
│ │ │ │ │ ├── MacOS
│ │ │ │ │ │ ├── xlua
│ │ │ │ │ │ └── xlua.meta
│ │ │ │ │ └── MacOS.meta
│ │ │ │ └── Contents.meta
│ │ │ └── xlua.bundle.meta
│ │ ├── Plugins.meta
│ │ ├── XLua
│ │ │ ├── CHANGELOG.txt
│ │ │ ├── CHANGELOG.txt.meta
│ │ │ ├── Doc
│ │ │ │ ├── Add_Remove_Lua_Lib.md
│ │ │ │ ├── Add_Remove_Lua_Lib.md.meta
│ │ │ │ ├── compatible_bytecode.md
│ │ │ │ ├── compatible_bytecode.md.meta
│ │ │ │ ├── Configure_EN.md
│ │ │ │ ├── Configure_EN.md.meta
│ │ │ │ ├── configure.md
│ │ │ │ ├── configure.md.meta
│ │ │ │ ├── Custom_Generate_EN.md
│ │ │ │ ├── Custom_Generate_EN.md.meta
│ │ │ │ ├── custom_generate.md
│ │ │ │ ├── custom_generate.md.meta
│ │ │ │ ├── Faq_EN.md
│ │ │ │ ├── Faq_EN.md.meta
│ │ │ │ ├── faq.md
│ │ │ │ ├── faq.md.meta
│ │ │ │ ├── features.md
│ │ │ │ ├── features.md.meta
│ │ │ │ ├── Hotfix_EN.md
│ │ │ │ ├── Hotfix_EN.md.meta
│ │ │ │ ├── hotfix.md
│ │ │ │ ├── hotfix.md.meta
│ │ │ │ ├── logo.png
│ │ │ │ ├── logo.png.meta
│ │ │ │ ├── Materials
│ │ │ │ │ ├── logo.mat
│ │ │ │ │ └── logo.mat.meta
│ │ │ │ ├── Materials.meta
│ │ │ │ ├── signature.md
│ │ │ │ ├── signature.md.meta
│ │ │ │ ├── XLua_API.doc
│ │ │ │ ├── XLua_API.doc.meta
│ │ │ │ ├── XLua_API_EN.md
│ │ │ │ ├── XLua_API_EN.md.meta
│ │ │ │ ├── XLua_API.md
│ │ │ │ ├── XLua_API.md.meta
│ │ │ │ ├── xLua.png
│ │ │ │ ├── xLua.png.meta
│ │ │ │ ├── XLua_Tutorial_EN.md
│ │ │ │ ├── XLua_Tutorial_EN.md.meta
│ │ │ │ ├── XLua增加删除第三方lua库.doc
│ │ │ │ ├── XLua增加删除第三方lua库.doc.meta
│ │ │ │ ├── XLua增加删除第三方lua库.md
│ │ │ │ ├── XLua增加删除第三方lua库.md.meta
│ │ │ │ ├── XLua复杂值类型(struct)gc优化指南.doc
│ │ │ │ ├── XLua复杂值类型(struct)gc优化指南.doc.meta
│ │ │ │ ├── XLua复杂值类型(struct)gc优化指南.md
│ │ │ │ ├── XLua复杂值类型(struct)gc优化指南.md.meta
│ │ │ │ ├── XLua性能分析工具.doc
│ │ │ │ ├── XLua性能分析工具.doc.meta
│ │ │ │ ├── XLua性能分析工具.md
│ │ │ │ ├── XLua性能分析工具.md.meta
│ │ │ │ ├── XLua教程.doc
│ │ │ │ ├── XLua教程.doc.meta
│ │ │ │ ├── XLua教程.md
│ │ │ │ ├── XLua教程.md.meta
│ │ │ │ ├── XLua的配置.doc
│ │ │ │ └── XLua的配置.doc.meta
│ │ │ ├── Doc.meta
│ │ │ ├── Editor
│ │ │ │ ├── ExampleConfig.cs
│ │ │ │ └── ExampleConfig.cs.meta
│ │ │ ├── Editor.meta
│ │ │ ├── Examples
│ │ │ │ ├── 01_Helloworld
│ │ │ │ │ ├── Helloworld.cs
│ │ │ │ │ ├── Helloworld.cs.meta
│ │ │ │ │ ├── Helloworld.unity
│ │ │ │ │ └── Helloworld.unity.meta
│ │ │ │ ├── 01_Helloworld.meta
│ │ │ │ ├── 02_U3DScripting
│ │ │ │ │ ├── LuaBehaviour.cs
│ │ │ │ │ ├── LuaBehaviour.cs.meta
│ │ │ │ │ ├── LuaTestScript.lua.txt
│ │ │ │ │ ├── LuaTestScript.lua.txt.meta
│ │ │ │ │ ├── U3DScripting.unity
│ │ │ │ │ └── U3DScripting.unity.meta
│ │ │ │ ├── 02_U3DScripting.meta
│ │ │ │ ├── 03_UIEvent
│ │ │ │ │ ├── ButtonInteraction.lua.txt
│ │ │ │ │ ├── ButtonInteraction.lua.txt.meta
│ │ │ │ │ ├── UI.unity
│ │ │ │ │ └── UI.unity.meta
│ │ │ │ ├── 03_UIEvent.meta
│ │ │ │ ├── 04_LuaObjectOrented
│ │ │ │ │ ├── InvokeLua.cs
│ │ │ │ │ ├── InvokeLua.cs.meta
│ │ │ │ │ ├── InvokeLua.unity
│ │ │ │ │ └── InvokeLua.unity.meta
│ │ │ │ ├── 04_LuaObjectOrented.meta
│ │ │ │ ├── 05_NoGc
│ │ │ │ │ ├── NoGc.cs
│ │ │ │ │ ├── NoGc.cs.meta
│ │ │ │ │ ├── NoGc.unity
│ │ │ │ │ └── NoGc.unity.meta
│ │ │ │ ├── 05_NoGc.meta
│ │ │ │ ├── 06_Coroutine
│ │ │ │ │ ├── Coroutine_Runner.cs
│ │ │ │ │ ├── Coroutine_Runner.cs.meta
│ │ │ │ │ ├── CoroutineTest.cs
│ │ │ │ │ ├── CoroutineTest.cs.meta
│ │ │ │ │ ├── Coroutine.unity
│ │ │ │ │ ├── Coroutine.unity.meta
│ │ │ │ │ ├── Resources
│ │ │ │ │ │ ├── coruntine_test.lua.txt
│ │ │ │ │ │ ├── coruntine_test.lua.txt.meta
│ │ │ │ │ │ ├── cs_coroutine.lua.txt
│ │ │ │ │ │ └── cs_coroutine.lua.txt.meta
│ │ │ │ │ └── Resources.meta
│ │ │ │ ├── 06_Coroutine.meta
│ │ │ │ ├── 07_AsyncTest
│ │ │ │ │ ├── AsyncTest.cs
│ │ │ │ │ ├── AsyncTest.cs.meta
│ │ │ │ │ ├── AsyncTest.unity
│ │ │ │ │ ├── AsyncTest.unity.meta
│ │ │ │ │ ├── MessageBox.cs
│ │ │ │ │ ├── MessageBox.cs.meta
│ │ │ │ │ ├── Resources
│ │ │ │ │ │ ├── AlertBox.prefab
│ │ │ │ │ │ ├── AlertBox.prefab.meta
│ │ │ │ │ │ ├── async_test.lua.txt
│ │ │ │ │ │ ├── async_test.lua.txt.meta
│ │ │ │ │ │ ├── ConfirmBox.prefab
│ │ │ │ │ │ ├── ConfirmBox.prefab.meta
│ │ │ │ │ │ ├── message_box.lua.txt
│ │ │ │ │ │ └── message_box.lua.txt.meta
│ │ │ │ │ └── Resources.meta
│ │ │ │ ├── 07_AsyncTest.meta
│ │ │ │ ├── 08_Hotfix
│ │ │ │ │ ├── HotfixTest2.cs
│ │ │ │ │ ├── HotfixTest2.cs.meta
│ │ │ │ │ ├── HotfixTest2.unity
│ │ │ │ │ ├── HotfixTest2.unity.meta
│ │ │ │ │ ├── HotfixTest.cs
│ │ │ │ │ ├── HotfixTest.cs.meta
│ │ │ │ │ ├── HotfixTest.unity
│ │ │ │ │ ├── HotfixTest.unity.meta
│ │ │ │ │ ├── StatefullTest.cs
│ │ │ │ │ └── StatefullTest.cs.meta
│ │ │ │ ├── 08_Hotfix.meta
│ │ │ │ ├── 09_GenericMethod
│ │ │ │ │ ├── Foo.cs
│ │ │ │ │ ├── Foo.cs.meta
│ │ │ │ │ ├── GenericMethodExample.cs
│ │ │ │ │ ├── GenericMethodExample.cs.meta
│ │ │ │ │ ├── GenericMethod.unity
│ │ │ │ │ └── GenericMethod.unity.meta
│ │ │ │ ├── 09_GenericMethod.meta
│ │ │ │ ├── 10_SignatureLoader
│ │ │ │ │ ├── otherfiles
│ │ │ │ │ │ ├── key_ras
│ │ │ │ │ │ ├── key_ras.meta
│ │ │ │ │ │ ├── key_ras.pub
│ │ │ │ │ │ ├── key_ras.pub.meta
│ │ │ │ │ │ ├── signatured1.lua
│ │ │ │ │ │ ├── signatured1.lua.meta
│ │ │ │ │ │ ├── signatured2.lua
│ │ │ │ │ │ ├── signatured2.lua.meta
│ │ │ │ │ │ ├── signatured3.lua
│ │ │ │ │ │ └── signatured3.lua.meta
│ │ │ │ │ ├── otherfiles.meta
│ │ │ │ │ ├── Resources
│ │ │ │ │ │ ├── signatured1.lua.bytes
│ │ │ │ │ │ ├── signatured1.lua.bytes.meta
│ │ │ │ │ │ ├── signatured2.lua.bytes
│ │ │ │ │ │ ├── signatured2.lua.bytes.meta
│ │ │ │ │ │ ├── signatured3.lua.bytes
│ │ │ │ │ │ └── signatured3.lua.bytes.meta
│ │ │ │ │ ├── Resources.meta
│ │ │ │ │ ├── signatured1.lua
│ │ │ │ │ ├── signatured1.lua.meta
│ │ │ │ │ ├── signatured2.lua
│ │ │ │ │ ├── signatured2.lua.meta
│ │ │ │ │ ├── signatured3.lua
│ │ │ │ │ ├── signatured3.lua.meta
│ │ │ │ │ ├── SignatureLoaderTest.cs
│ │ │ │ │ ├── SignatureLoaderTest.cs.meta
│ │ │ │ │ ├── SignatureLoaderTest.unity
│ │ │ │ │ └── SignatureLoaderTest.unity.meta
│ │ │ │ ├── 10_SignatureLoader.meta
│ │ │ │ ├── 11_RawObject
│ │ │ │ │ ├── RawObjectTest.cs
│ │ │ │ │ ├── RawObjectTest.cs.meta
│ │ │ │ │ ├── RawObject.unity
│ │ │ │ │ └── RawObject.unity.meta
│ │ │ │ ├── 11_RawObject.meta
│ │ │ │ ├── 12_ReImplementInLua
│ │ │ │ │ ├── ReImplementInLua.cs
│ │ │ │ │ ├── ReImplementInLua.cs.meta
│ │ │ │ │ ├── ReImplementInLua.unity
│ │ │ │ │ └── ReImplementInLua.unity.meta
│ │ │ │ ├── 12_ReImplementInLua.meta
│ │ │ │ ├── 13_BuildFromCLI
│ │ │ │ │ ├── build.bat
│ │ │ │ │ ├── build.bat.meta
│ │ │ │ │ ├── Editor
│ │ │ │ │ │ ├── BuildFromCLI.cs
│ │ │ │ │ │ └── BuildFromCLI.cs.meta
│ │ │ │ │ └── Editor.meta
│ │ │ │ ├── 13_BuildFromCLI.meta
│ │ │ │ ├── ExampleGenConfig.cs
│ │ │ │ └── ExampleGenConfig.cs.meta
│ │ │ ├── Examples.meta
│ │ │ ├── Resources
│ │ │ │ ├── perf
│ │ │ │ │ ├── memory.lua.txt
│ │ │ │ │ ├── memory.lua.txt.meta
│ │ │ │ │ ├── profiler.lua.txt
│ │ │ │ │ └── profiler.lua.txt.meta
│ │ │ │ ├── perf.meta
│ │ │ │ ├── tdr
│ │ │ │ │ ├── tdr.lua.txt
│ │ │ │ │ └── tdr.lua.txt.meta
│ │ │ │ ├── tdr.meta
│ │ │ │ ├── xlua
│ │ │ │ │ ├── util.lua.txt
│ │ │ │ │ └── util.lua.txt.meta
│ │ │ │ └── xlua.meta
│ │ │ ├── Resources.meta
│ │ │ ├── Src
│ │ │ │ ├── CodeEmit.cs
│ │ │ │ ├── CodeEmit.cs.meta
│ │ │ │ ├── CopyByValue.cs
│ │ │ │ ├── CopyByValue.cs.meta
│ │ │ │ ├── DelegateBridge.cs
│ │ │ │ ├── DelegateBridge.cs.meta
│ │ │ │ ├── Editor
│ │ │ │ │ ├── Generator.cs
│ │ │ │ │ ├── Generator.cs.meta
│ │ │ │ │ ├── Hotfix.cs
│ │ │ │ │ ├── Hotfix.cs.meta
│ │ │ │ │ ├── LinkXmlGen
│ │ │ │ │ │ ├── LinkXmlGen.cs
│ │ │ │ │ │ ├── LinkXmlGen.cs.meta
│ │ │ │ │ │ ├── LinkXmlGen.tpl.txt
│ │ │ │ │ │ └── LinkXmlGen.tpl.txt.meta
│ │ │ │ │ ├── LinkXmlGen.meta
│ │ │ │ │ ├── Template
│ │ │ │ │ │ ├── LuaClassWrapGCM.tpl.txt
│ │ │ │ │ │ ├── LuaClassWrapGCM.tpl.txt.meta
│ │ │ │ │ │ ├── LuaClassWrap.tpl.txt
│ │ │ │ │ │ ├── LuaClassWrap.tpl.txt.meta
│ │ │ │ │ │ ├── LuaDelegateBridge.tpl.txt
│ │ │ │ │ │ ├── LuaDelegateBridge.tpl.txt.meta
│ │ │ │ │ │ ├── LuaDelegateWrap.tpl.txt
│ │ │ │ │ │ ├── LuaDelegateWrap.tpl.txt.meta
│ │ │ │ │ │ ├── LuaEnumWrapGCM.tpl.txt
│ │ │ │ │ │ ├── LuaEnumWrapGCM.tpl.txt.meta
│ │ │ │ │ │ ├── LuaEnumWrap.tpl.txt
│ │ │ │ │ │ ├── LuaEnumWrap.tpl.txt.meta
│ │ │ │ │ │ ├── LuaInterfaceBridge.tpl.txt
│ │ │ │ │ │ ├── LuaInterfaceBridge.tpl.txt.meta
│ │ │ │ │ │ ├── LuaRegisterGCM.tpl.txt
│ │ │ │ │ │ ├── LuaRegisterGCM.tpl.txt.meta
│ │ │ │ │ │ ├── LuaRegister.tpl.txt
│ │ │ │ │ │ ├── LuaRegister.tpl.txt.meta
│ │ │ │ │ │ ├── LuaWrapPusher.tpl.txt
│ │ │ │ │ │ ├── LuaWrapPusher.tpl.txt.meta
│ │ │ │ │ │ ├── PackUnpack.tpl.txt
│ │ │ │ │ │ ├── PackUnpack.tpl.txt.meta
│ │ │ │ │ │ ├── TemplateCommon.lua.txt
│ │ │ │ │ │ └── TemplateCommon.lua.txt.meta
│ │ │ │ │ ├── Template.meta
│ │ │ │ │ ├── TemplateRef.cs
│ │ │ │ │ └── TemplateRef.cs.meta
│ │ │ │ ├── Editor.meta
│ │ │ │ ├── GenAttributes.cs
│ │ │ │ ├── GenAttributes.cs.meta
│ │ │ │ ├── GenericDelegateBridge.cs
│ │ │ │ ├── GenericDelegateBridge.cs.meta
│ │ │ │ ├── InternalGlobals.cs
│ │ │ │ ├── InternalGlobals.cs.meta
│ │ │ │ ├── LuaBase.cs
│ │ │ │ ├── LuaBase.cs.meta
│ │ │ │ ├── LuaDLL.cs
│ │ │ │ ├── LuaDLL.cs.meta
│ │ │ │ ├── LuaEnv.cs
│ │ │ │ ├── LuaEnv.cs.meta
│ │ │ │ ├── LuaException.cs
│ │ │ │ ├── LuaException.cs.meta
│ │ │ │ ├── LuaFunction.cs
│ │ │ │ ├── LuaFunction.cs.meta
│ │ │ │ ├── LuaTable.cs
│ │ │ │ ├── LuaTable.cs.meta
│ │ │ │ ├── MethodWarpsCache.cs
│ │ │ │ ├── MethodWarpsCache.cs.meta
│ │ │ │ ├── ObjectCasters.cs
│ │ │ │ ├── ObjectCasters.cs.meta
│ │ │ │ ├── ObjectPool.cs
│ │ │ │ ├── ObjectPool.cs.meta
│ │ │ │ ├── ObjectTranslator.cs
│ │ │ │ ├── ObjectTranslator.cs.meta
│ │ │ │ ├── ObjectTranslatorPool.cs
│ │ │ │ ├── ObjectTranslatorPool.cs.meta
│ │ │ │ ├── RawObject.cs
│ │ │ │ ├── RawObject.cs.meta
│ │ │ │ ├── SignatureLoader.cs
│ │ │ │ ├── SignatureLoader.cs.meta
│ │ │ │ ├── StaticLuaCallbacks.cs
│ │ │ │ ├── StaticLuaCallbacks.cs.meta
│ │ │ │ ├── TemplateEngine
│ │ │ │ │ ├── TemplateEngine.cs
│ │ │ │ │ └── TemplateEngine.cs.meta
│ │ │ │ ├── TemplateEngine.meta
│ │ │ │ ├── TypeExtensions.cs
│ │ │ │ ├── TypeExtensions.cs.meta
│ │ │ │ ├── Utils.cs
│ │ │ │ └── Utils.cs.meta
│ │ │ ├── Src.meta
│ │ │ ├── Tutorial
│ │ │ │ ├── CSharpCallLua
│ │ │ │ │ ├── CSCallLua.cs
│ │ │ │ │ ├── CSCallLua.cs.meta
│ │ │ │ │ ├── CSCallLua.unity
│ │ │ │ │ └── CSCallLua.unity.meta
│ │ │ │ ├── CSharpCallLua.meta
│ │ │ │ ├── LoadLuaScript
│ │ │ │ │ ├── ByFile
│ │ │ │ │ │ ├── ByFile.cs
│ │ │ │ │ │ ├── ByFile.cs.meta
│ │ │ │ │ │ ├── ByFile.unity
│ │ │ │ │ │ ├── ByFile.unity.meta
│ │ │ │ │ │ ├── Resources
│ │ │ │ │ │ │ ├── byfile.lua.txt
│ │ │ │ │ │ │ └── byfile.lua.txt.meta
│ │ │ │ │ │ └── Resources.meta
│ │ │ │ │ ├── ByFile.meta
│ │ │ │ │ ├── ByString
│ │ │ │ │ │ ├── ByString.cs
│ │ │ │ │ │ ├── ByString.cs.meta
│ │ │ │ │ │ ├── ByString.unity
│ │ │ │ │ │ └── ByString.unity.meta
│ │ │ │ │ ├── ByString.meta
│ │ │ │ │ ├── Loader
│ │ │ │ │ │ ├── CustomLoader.cs
│ │ │ │ │ │ ├── CustomLoader.cs.meta
│ │ │ │ │ │ ├── CustomLoader.unity
│ │ │ │ │ │ └── CustomLoader.unity.meta
│ │ │ │ │ └── Loader.meta
│ │ │ │ ├── LoadLuaScript.meta
│ │ │ │ ├── LuaCallCSharp
│ │ │ │ │ ├── LuaCallCs.cs
│ │ │ │ │ ├── LuaCallCs.cs.meta
│ │ │ │ │ ├── LuaCallCs.unity
│ │ │ │ │ └── LuaCallCs.unity.meta
│ │ │ │ └── LuaCallCSharp.meta
│ │ │ └── Tutorial.meta
│ │ └── XLua.meta
│ └── Tools
│ ├── InjectAPKTool
│ │ ├── inject.sh
│ │ └── InjectToLua
│ │ ├── DLL
│ │ │ ├── Core
│ │ │ │ ├── Driver
│ │ │ │ │ ├── List.cs
│ │ │ │ │ ├── LuaDLL.cs
│ │ │ │ │ ├── LuaProfiler.cs
│ │ │ │ │ ├── NativeHelper.cs
│ │ │ │ │ ├── ObjectPool.cs
│ │ │ │ │ ├── Parse
│ │ │ │ │ │ ├── Common.cs
│ │ │ │ │ │ ├── LLex.cs
│ │ │ │ │ │ ├── Parse.cs
│ │ │ │ │ │ └── Util.cs
│ │ │ │ │ └── Sample.cs
│ │ │ │ ├── LuaHookSetup.cs
│ │ │ │ ├── NetWork
│ │ │ │ │ └── NetWorkClient.cs
│ │ │ │ └── Setting
│ │ │ │ └── LuaDeepProfilerSetting.cs
│ │ │ ├── MBinaryWriter.cs
│ │ │ ├── Properties
│ │ │ │ └── AssemblyInfo.cs
│ │ │ └── UnityEngine.dll
│ │ ├── InjectMethods.cs
│ │ ├── Lib
│ │ │ ├── ICSharpCode.SharpZipLib.dll
│ │ │ └── Mono.Cecil.dll
│ │ ├── Program.cs
│ │ ├── Properties
│ │ │ └── AssemblyInfo.cs
│ │ └── ZipTool.cs
│ ├── InjectLua
│ │ ├── InjectLua
│ │ │ ├── app.config
│ │ │ ├── InjectLua.csproj
│ │ │ ├── Parse
│ │ │ │ ├── Common.cs
│ │ │ │ ├── LLex.cs
│ │ │ │ ├── Parse.cs
│ │ │ │ └── Util.cs
│ │ │ ├── Program.cs
│ │ │ └── Properties
│ │ │ └── AssemblyInfo.cs
│ │ └── InjectLua.sln
│ ├── InjectLuaCPP
│ │ ├── CMakeLists.txt
│ │ ├── include
│ │ │ ├── Enums.h
│ │ │ ├── LLex.h
│ │ │ ├── StringLoadInfo.h
│ │ │ └── Token.h
│ │ └── src
│ │ ├── LLex.cpp
│ │ ├── StringLoadInfo.cpp
│ │ └── Token.cpp
│ ├── InjectLua.exe
│ ├── LuaProfilerWinform
│ │ ├── lib
│ │ │ ├── EasyHook.dll
│ │ │ ├── ExpandableGridView.dll
│ │ │ └── UnityEngine.dll
│ │ ├── LuaProfilerWinform
│ │ │ ├── app.config
│ │ │ ├── App.ico
│ │ │ ├── AssemblyInfo.cs
│ │ │ ├── EasyHook32.dll
│ │ │ ├── EasyHook64.dll
│ │ │ ├── HookLib
│ │ │ │ ├── Core
│ │ │ │ │ ├── Common
│ │ │ │ │ │ ├── List.cs
│ │ │ │ │ │ ├── ObjectPool.cs
│ │ │ │ │ │ └── Sample.cs
│ │ │ │ │ ├── LuaDLL.cs
│ │ │ │ │ ├── LuaProfiler.cs
│ │ │ │ │ ├── NetWork
│ │ │ │ │ │ ├── MBinaryWriter.cs
│ │ │ │ │ │ └── NetWorkClient.cs
│ │ │ │ │ ├── Parse
│ │ │ │ │ │ ├── Common.cs
│ │ │ │ │ │ ├── LLex.cs
│ │ │ │ │ │ ├── Parse.cs
│ │ │ │ │ │ └── Util.cs
│ │ │ │ │ └── Wrap
│ │ │ │ │ └── MikuLuaProfilerLuaProfilerWrap.cs
│ │ │ │ ├── HookLib.csproj
│ │ │ │ ├── Main.cs
│ │ │ │ ├── Properties
│ │ │ │ │ └── AssemblyInfo.cs
│ │ │ │ └── SN.snk
│ │ │ ├── LuaProfilerWinform.csproj
│ │ │ ├── LuaProfilerWinform.csproj.user
│ │ │ ├── ProfilerForm.cs
│ │ │ ├── ProfilerForm.Designer.cs
│ │ │ ├── ProfilerForm.resx
│ │ │ ├── Program.cs
│ │ │ ├── Properties
│ │ │ │ ├── Resources.Designer.cs
│ │ │ │ └── Resources.resx
│ │ │ ├── Resources
│ │ │ │ └── newGroupPostIconStrip.PNG
│ │ │ └── Winform
│ │ │ └── NetWork
│ │ │ └── NetWorkServer.cs
│ │ ├── LuaProfilerWinform.sln
│ │ ├── LuaProfilerWinform.suo
│ │ └── TestProcess
│ │ ├── TestWindow.exe
│ │ ├── TestWindow.exe.config
│ │ ├── TestWindow.pdb
│ │ ├── TestWindow.vshost.exe
│ │ ├── TestWindow.vshost.exe.config
│ │ └── TestWindow.vshost.exe.manifest
│ ├── MikuBinary
│ │ ├── MikuBinary
│ │ │ ├── MBinaryWriter.cs
│ │ │ ├── MikuBinary.csproj
│ │ │ ├── NativeUtility.cs
│ │ │ └── Properties
│ │ │ └── AssemblyInfo.cs
│ │ └── MikuBinary.sln
│ ├── MikuHook
│ │ ├── MikuHook
│ │ │ ├── Core
│ │ │ │ ├── Class
│ │ │ │ │ ├── CSharpMethodHooker.cs
│ │ │ │ │ └── HookerBase.cs
│ │ │ │ └── Util
│ │ │ │ ├── LDasm.cs
│ │ │ │ └── NativeAPI.cs
│ │ │ ├── Lib
│ │ │ │ └── UnityEngine.dll
│ │ │ ├── MikuHook.csproj
│ │ │ └── Properties
│ │ │ └── AssemblyInfo.cs
│ │ └── MikuHook.sln
│ ├── mikuhook_runtime
│ │ ├── android
│ │ │ └── jni
│ │ │ └── Android.mk
│ │ ├── build_android.bat
│ │ ├── build_profiler_win32.sh
│ │ ├── build_profiler_win64.sh
│ │ ├── build_win32.sh
│ │ ├── build_win64.sh
│ │ ├── miku_profiler.c
│ │ ├── Plugins
│ │ │ ├── Android
│ │ │ │ └── libs
│ │ │ │ └── armeabi-v7a
│ │ │ │ └── libmikuhooker.so
│ │ │ ├── x86
│ │ │ │ ├── mikuhooker.dll
│ │ │ │ └── miku_profiler.dll
│ │ │ └── x86_64
│ │ │ ├── mikuhooker.dll
│ │ │ ├── miku_profiler.dll
│ │ │ └── monohooker.dll
│ │ └── src
│ │ ├── include
│ │ │ ├── inlineHook.h
│ │ │ ├── mikuhooker.h
│ │ │ └── relocate.h
│ │ └── source
│ │ ├── inlineHook.c
│ │ ├── mikuhooker.c
│ │ └── relocate.c
│ ├── shadowhook
│ │ └── ShadowHook.java
│ └── Template.lua
├── LuaProfiler.meta
├── package.json
├── package.json.meta
├── README.md
└── README.md.meta
146 directories, 623 files
Miku-LuaProfiler源码下载
Unity游戏开发中经常需要对Lua脚本进行性能分析,以确保游戏运行流畅。Miku-LuaProfiler是一个专为Unity设计的Lua性能分析工具,支持Windows和Android平台,同时也在为MAC和IOS平台提供支持。
部署和安装:
推荐在Unity2019版本中通过PackageManager添加,对于国内网络环境,可以考虑使用国内的代码托管平台进行加速。对于Unity5.6及以上版本,建议将LuaProfiler目录复制到项目的Assets文件夹中。
如何使用:
在编辑器中,推荐使用local模式并打开DeepLua开关。对于Android真机测试,需要在打包时定义USE_LUA_PROFILER宏,并通过连续敲击屏幕5次以上来激活性能分析菜单。此外,还支持通过USB数据线连接手机和电脑,使用adb命令进行数据传输,方便在编辑器中查看真机数据。
数据说明:
Miku-LuaProfiler提供了详细的性能数据展示,包括函数名称、Lua和Mono的内存使用情况、执行时间等,帮助开发者快速定位性能瓶颈。
【实例截图】
【核心代码】
文件清单
└── Miku-LuaProfiler-e7c2997750dfd93ea3dff4fa2259934dd222e90f
├── doc~
│ ├── 2022-12-14-21-50-20.png
│ ├── 2022-12-14-21-58-59.png
│ ├── 2022-12-14-22-04-21.png
│ ├── config_client.png
│ ├── config_server.png
│ ├── diff_log.png
│ ├── diff.png
│ ├── install_success.png
│ ├── ljjc.jpg
│ ├── logo.png
│ ├── mark.png
│ ├── meizi.gif
│ ├── menu.png
│ ├── null_object.png
│ ├── package_clone.png
│ ├── profiler.gif
│ ├── record.gif
│ ├── record.png
│ ├── reg_history.png
│ ├── register.gif
│ ├── register_record.gif
│ ├── search.png
│ ├── sort.png
│ ├── star.gif
│ ├── use3.gif
│ ├── use.gif
│ └── zfb.png
├── LICENSE
├── LICENSE.meta
├── LuaProfiler
│ ├── Editor
│ │ ├── CECIL
│ │ │ ├── Miku.Cecil.dll
│ │ │ └── Miku.Cecil.dll.meta
│ │ ├── CECIL.meta
│ │ ├── MikuLuaProfiler.Editor.asmdef
│ │ ├── MikuLuaProfiler.Editor.asmdef.meta
│ │ ├── StartUp.cs
│ │ ├── StartUp.cs.meta
│ │ ├── Window
│ │ │ ├── Client
│ │ │ │ ├── LuaProfilerSettingWindow.cs
│ │ │ │ └── LuaProfilerSettingWindow.cs.meta
│ │ │ ├── Client.meta
│ │ │ ├── ProfilerWin
│ │ │ │ ├── LocalToLuaIDE.cs
│ │ │ │ ├── LocalToLuaIDE.cs.meta
│ │ │ │ ├── NetWork
│ │ │ │ │ ├── NetWorkMgr.Client.cs
│ │ │ │ │ └── NetWorkMgr.Client.cs.meta
│ │ │ │ ├── NetWork.meta
│ │ │ │ ├── Setting
│ │ │ │ │ ├── LuaProfilerPrecompileSettingEditor.cs
│ │ │ │ │ └── LuaProfilerPrecompileSettingEditor.cs.meta
│ │ │ │ ├── Setting.meta
│ │ │ │ ├── TreeView
│ │ │ │ │ ├── HistoryCurve.cs
│ │ │ │ │ ├── HistoryCurve.cs.meta
│ │ │ │ │ ├── LuaDiffScrollView.cs
│ │ │ │ │ ├── LuaDiffScrollView.cs.meta
│ │ │ │ │ ├── LuaProfilerTreeView.cs
│ │ │ │ │ ├── LuaProfilerTreeView.cs.meta
│ │ │ │ │ ├── LuaProfilerWindow.cs
│ │ │ │ │ ├── LuaProfilerWindow.cs.meta
│ │ │ │ │ ├── LuaRefScrollView.cs
│ │ │ │ │ ├── LuaRefScrollView.cs.meta
│ │ │ │ │ ├── SplitterGUILayout.cs
│ │ │ │ │ ├── SplitterGUILayout.cs.meta
│ │ │ │ │ ├── SplitterState.cs
│ │ │ │ │ └── SplitterState.cs.meta
│ │ │ │ └── TreeView.meta
│ │ │ └── ProfilerWin.meta
│ │ └── Window.meta
│ ├── Editor.meta
│ ├── Runtime
│ │ ├── Common
│ │ │ ├── Setting
│ │ │ │ ├── LuaDeepProfilerSetting.cs
│ │ │ │ ├── LuaDeepProfilerSetting.cs.meta
│ │ │ │ ├── LuaProfilerPrecompileSetting.cs
│ │ │ │ └── LuaProfilerPrecompileSetting.cs.meta
│ │ │ ├── Setting.meta
│ │ │ ├── Struct
│ │ │ │ ├── List.cs
│ │ │ │ ├── List.cs.meta
│ │ │ │ ├── ObjectPool.cs
│ │ │ │ ├── ObjectPool.cs.meta
│ │ │ │ ├── Sample.cs
│ │ │ │ └── Sample.cs.meta
│ │ │ └── Struct.meta
│ │ ├── Common.meta
│ │ ├── Core
│ │ │ ├── Driver
│ │ │ │ ├── Hook
│ │ │ │ │ ├── AndroidHook
│ │ │ │ │ │ ├── AndroidNativeHooker.cs
│ │ │ │ │ │ └── AndroidNativeHooker.cs.meta
│ │ │ │ │ ├── AndroidHook.meta
│ │ │ │ │ ├── WindowsHook
│ │ │ │ │ │ ├── LDasm.cs
│ │ │ │ │ │ ├── LDasm.cs.meta
│ │ │ │ │ │ ├── NativeHelper.cs
│ │ │ │ │ │ ├── NativeHelper.cs.meta
│ │ │ │ │ │ ├── WindowsNativeHooker.cs
│ │ │ │ │ │ └── WindowsNativeHooker.cs.meta
│ │ │ │ │ └── WindowsHook.meta
│ │ │ │ ├── Hook.meta
│ │ │ │ ├── LuaDLL.cs
│ │ │ │ ├── LuaDLL.cs.meta
│ │ │ │ ├── LuaProfiler.cs
│ │ │ │ ├── LuaProfiler.cs.meta
│ │ │ │ ├── NativeHelper
│ │ │ │ │ ├── INativeHooker.cs
│ │ │ │ │ └── INativeHooker.cs.meta
│ │ │ │ ├── NativeHelper.meta
│ │ │ │ ├── Parse
│ │ │ │ │ ├── Common.cs
│ │ │ │ │ ├── Common.cs.meta
│ │ │ │ │ ├── LLex.cs
│ │ │ │ │ ├── LLex.cs.meta
│ │ │ │ │ ├── Parse.cs
│ │ │ │ │ ├── Parse.cs.meta
│ │ │ │ │ ├── Util.cs
│ │ │ │ │ └── Util.cs.meta
│ │ │ │ └── Parse.meta
│ │ │ ├── Driver.meta
│ │ │ ├── LuaHookSetup.cs
│ │ │ ├── LuaHookSetup.cs.meta
│ │ │ ├── NetWork
│ │ │ │ ├── MBinaryReader.cs
│ │ │ │ ├── MBinaryReader.cs.meta
│ │ │ │ ├── MBinaryWriter.cs
│ │ │ │ ├── MBinaryWriter.cs.meta
│ │ │ │ ├── NetWorkMgr.cs
│ │ │ │ ├── NetWorkMgr.cs.meta
│ │ │ │ ├── NetWorkMgr.Server.cs
│ │ │ │ ├── NetWorkMgr.Server.cs.meta
│ │ │ │ ├── Packet
│ │ │ │ │ ├── LuaRefInfo.cs
│ │ │ │ │ ├── LuaRefInfo.cs.meta
│ │ │ │ │ ├── PacketBase.cs
│ │ │ │ │ ├── PacketBase.cs.meta
│ │ │ │ │ ├── PKGDisconnect.cs
│ │ │ │ │ ├── PKGDisconnect.cs.meta
│ │ │ │ │ ├── PKGHeartBeat.cs
│ │ │ │ │ ├── PKGHeartBeat.cs.meta
│ │ │ │ │ ├── Sample.cs
│ │ │ │ │ └── Sample.cs.meta
│ │ │ │ └── Packet.meta
│ │ │ └── NetWork.meta
│ │ ├── Core.meta
│ │ ├── MIkuLuaProfiler.Runtime.asmdef
│ │ ├── MIkuLuaProfiler.Runtime.asmdef.meta
│ │ ├── Plugins
│ │ │ ├── Android
│ │ │ │ ├── java
│ │ │ │ │ ├── ShadowHook.aar
│ │ │ │ │ └── ShadowHook.aar.meta
│ │ │ │ ├── java.meta
│ │ │ │ ├── libs
│ │ │ │ │ ├── arm64-v8a
│ │ │ │ │ │ ├── libshadowhook.so
│ │ │ │ │ │ └── libshadowhook.so.meta
│ │ │ │ │ ├── arm64-v8a.meta
│ │ │ │ │ ├── armeabi-v7a
│ │ │ │ │ │ ├── libshadowhook.so
│ │ │ │ │ │ └── libshadowhook.so.meta
│ │ │ │ │ └── armeabi-v7a.meta
│ │ │ │ └── libs.meta
│ │ │ └── Android.meta
│ │ └── Plugins.meta
│ └── Runtime.meta
├── LuaProfiler~
│ ├── example
│ │ └── Assets
│ │ ├── Plugins
│ │ │ ├── Android
│ │ │ │ ├── java.meta
│ │ │ │ ├── libs
│ │ │ │ │ ├── arm64-v8a
│ │ │ │ │ │ ├── libxlua.so
│ │ │ │ │ │ └── libxlua.so.meta
│ │ │ │ │ ├── arm64-v8a.meta
│ │ │ │ │ ├── armeabi-v7a
│ │ │ │ │ │ ├── libxlua.so
│ │ │ │ │ │ └── libxlua.so.meta
│ │ │ │ │ └── armeabi-v7a.meta
│ │ │ │ └── libs.meta
│ │ │ ├── Android.meta
│ │ │ ├── iOS
│ │ │ │ ├── HotfixFlags.cpp
│ │ │ │ ├── HotfixFlags.cpp.meta
│ │ │ │ ├── libxlua.a
│ │ │ │ └── libxlua.a.meta
│ │ │ ├── iOS.meta
│ │ │ ├── WebGL
│ │ │ │ ├── xlua_webgl.cpp
│ │ │ │ └── xlua_webgl.cpp.meta
│ │ │ ├── WebGL.meta
│ │ │ ├── WSA
│ │ │ │ ├── ARM
│ │ │ │ │ ├── xlua.dll
│ │ │ │ │ └── xlua.dll.meta
│ │ │ │ ├── ARM.meta
│ │ │ │ ├── x64
│ │ │ │ │ ├── xlua.dll
│ │ │ │ │ └── xlua.dll.meta
│ │ │ │ ├── x64.meta
│ │ │ │ ├── x86
│ │ │ │ │ ├── xlua.dll
│ │ │ │ │ └── xlua.dll.meta
│ │ │ │ └── x86.meta
│ │ │ ├── WSA.meta
│ │ │ ├── x86
│ │ │ │ ├── libxlua.so
│ │ │ │ ├── libxlua.so.meta
│ │ │ │ ├── xlua.dll
│ │ │ │ └── xlua.dll.meta
│ │ │ ├── x86_64
│ │ │ │ ├── libxlua.so
│ │ │ │ ├── libxlua.so.meta
│ │ │ │ ├── xlua.dll
│ │ │ │ └── xlua.dll.meta
│ │ │ ├── x86_64.meta
│ │ │ ├── x86.meta
│ │ │ ├── xlua.bundle
│ │ │ │ ├── Contents
│ │ │ │ │ ├── Info.plist
│ │ │ │ │ ├── Info.plist.meta
│ │ │ │ │ ├── MacOS
│ │ │ │ │ │ ├── xlua
│ │ │ │ │ │ └── xlua.meta
│ │ │ │ │ └── MacOS.meta
│ │ │ │ └── Contents.meta
│ │ │ └── xlua.bundle.meta
│ │ ├── Plugins.meta
│ │ ├── XLua
│ │ │ ├── CHANGELOG.txt
│ │ │ ├── CHANGELOG.txt.meta
│ │ │ ├── Doc
│ │ │ │ ├── Add_Remove_Lua_Lib.md
│ │ │ │ ├── Add_Remove_Lua_Lib.md.meta
│ │ │ │ ├── compatible_bytecode.md
│ │ │ │ ├── compatible_bytecode.md.meta
│ │ │ │ ├── Configure_EN.md
│ │ │ │ ├── Configure_EN.md.meta
│ │ │ │ ├── configure.md
│ │ │ │ ├── configure.md.meta
│ │ │ │ ├── Custom_Generate_EN.md
│ │ │ │ ├── Custom_Generate_EN.md.meta
│ │ │ │ ├── custom_generate.md
│ │ │ │ ├── custom_generate.md.meta
│ │ │ │ ├── Faq_EN.md
│ │ │ │ ├── Faq_EN.md.meta
│ │ │ │ ├── faq.md
│ │ │ │ ├── faq.md.meta
│ │ │ │ ├── features.md
│ │ │ │ ├── features.md.meta
│ │ │ │ ├── Hotfix_EN.md
│ │ │ │ ├── Hotfix_EN.md.meta
│ │ │ │ ├── hotfix.md
│ │ │ │ ├── hotfix.md.meta
│ │ │ │ ├── logo.png
│ │ │ │ ├── logo.png.meta
│ │ │ │ ├── Materials
│ │ │ │ │ ├── logo.mat
│ │ │ │ │ └── logo.mat.meta
│ │ │ │ ├── Materials.meta
│ │ │ │ ├── signature.md
│ │ │ │ ├── signature.md.meta
│ │ │ │ ├── XLua_API.doc
│ │ │ │ ├── XLua_API.doc.meta
│ │ │ │ ├── XLua_API_EN.md
│ │ │ │ ├── XLua_API_EN.md.meta
│ │ │ │ ├── XLua_API.md
│ │ │ │ ├── XLua_API.md.meta
│ │ │ │ ├── xLua.png
│ │ │ │ ├── xLua.png.meta
│ │ │ │ ├── XLua_Tutorial_EN.md
│ │ │ │ ├── XLua_Tutorial_EN.md.meta
│ │ │ │ ├── XLua增加删除第三方lua库.doc
│ │ │ │ ├── XLua增加删除第三方lua库.doc.meta
│ │ │ │ ├── XLua增加删除第三方lua库.md
│ │ │ │ ├── XLua增加删除第三方lua库.md.meta
│ │ │ │ ├── XLua复杂值类型(struct)gc优化指南.doc
│ │ │ │ ├── XLua复杂值类型(struct)gc优化指南.doc.meta
│ │ │ │ ├── XLua复杂值类型(struct)gc优化指南.md
│ │ │ │ ├── XLua复杂值类型(struct)gc优化指南.md.meta
│ │ │ │ ├── XLua性能分析工具.doc
│ │ │ │ ├── XLua性能分析工具.doc.meta
│ │ │ │ ├── XLua性能分析工具.md
│ │ │ │ ├── XLua性能分析工具.md.meta
│ │ │ │ ├── XLua教程.doc
│ │ │ │ ├── XLua教程.doc.meta
│ │ │ │ ├── XLua教程.md
│ │ │ │ ├── XLua教程.md.meta
│ │ │ │ ├── XLua的配置.doc
│ │ │ │ └── XLua的配置.doc.meta
│ │ │ ├── Doc.meta
│ │ │ ├── Editor
│ │ │ │ ├── ExampleConfig.cs
│ │ │ │ └── ExampleConfig.cs.meta
│ │ │ ├── Editor.meta
│ │ │ ├── Examples
│ │ │ │ ├── 01_Helloworld
│ │ │ │ │ ├── Helloworld.cs
│ │ │ │ │ ├── Helloworld.cs.meta
│ │ │ │ │ ├── Helloworld.unity
│ │ │ │ │ └── Helloworld.unity.meta
│ │ │ │ ├── 01_Helloworld.meta
│ │ │ │ ├── 02_U3DScripting
│ │ │ │ │ ├── LuaBehaviour.cs
│ │ │ │ │ ├── LuaBehaviour.cs.meta
│ │ │ │ │ ├── LuaTestScript.lua.txt
│ │ │ │ │ ├── LuaTestScript.lua.txt.meta
│ │ │ │ │ ├── U3DScripting.unity
│ │ │ │ │ └── U3DScripting.unity.meta
│ │ │ │ ├── 02_U3DScripting.meta
│ │ │ │ ├── 03_UIEvent
│ │ │ │ │ ├── ButtonInteraction.lua.txt
│ │ │ │ │ ├── ButtonInteraction.lua.txt.meta
│ │ │ │ │ ├── UI.unity
│ │ │ │ │ └── UI.unity.meta
│ │ │ │ ├── 03_UIEvent.meta
│ │ │ │ ├── 04_LuaObjectOrented
│ │ │ │ │ ├── InvokeLua.cs
│ │ │ │ │ ├── InvokeLua.cs.meta
│ │ │ │ │ ├── InvokeLua.unity
│ │ │ │ │ └── InvokeLua.unity.meta
│ │ │ │ ├── 04_LuaObjectOrented.meta
│ │ │ │ ├── 05_NoGc
│ │ │ │ │ ├── NoGc.cs
│ │ │ │ │ ├── NoGc.cs.meta
│ │ │ │ │ ├── NoGc.unity
│ │ │ │ │ └── NoGc.unity.meta
│ │ │ │ ├── 05_NoGc.meta
│ │ │ │ ├── 06_Coroutine
│ │ │ │ │ ├── Coroutine_Runner.cs
│ │ │ │ │ ├── Coroutine_Runner.cs.meta
│ │ │ │ │ ├── CoroutineTest.cs
│ │ │ │ │ ├── CoroutineTest.cs.meta
│ │ │ │ │ ├── Coroutine.unity
│ │ │ │ │ ├── Coroutine.unity.meta
│ │ │ │ │ ├── Resources
│ │ │ │ │ │ ├── coruntine_test.lua.txt
│ │ │ │ │ │ ├── coruntine_test.lua.txt.meta
│ │ │ │ │ │ ├── cs_coroutine.lua.txt
│ │ │ │ │ │ └── cs_coroutine.lua.txt.meta
│ │ │ │ │ └── Resources.meta
│ │ │ │ ├── 06_Coroutine.meta
│ │ │ │ ├── 07_AsyncTest
│ │ │ │ │ ├── AsyncTest.cs
│ │ │ │ │ ├── AsyncTest.cs.meta
│ │ │ │ │ ├── AsyncTest.unity
│ │ │ │ │ ├── AsyncTest.unity.meta
│ │ │ │ │ ├── MessageBox.cs
│ │ │ │ │ ├── MessageBox.cs.meta
│ │ │ │ │ ├── Resources
│ │ │ │ │ │ ├── AlertBox.prefab
│ │ │ │ │ │ ├── AlertBox.prefab.meta
│ │ │ │ │ │ ├── async_test.lua.txt
│ │ │ │ │ │ ├── async_test.lua.txt.meta
│ │ │ │ │ │ ├── ConfirmBox.prefab
│ │ │ │ │ │ ├── ConfirmBox.prefab.meta
│ │ │ │ │ │ ├── message_box.lua.txt
│ │ │ │ │ │ └── message_box.lua.txt.meta
│ │ │ │ │ └── Resources.meta
│ │ │ │ ├── 07_AsyncTest.meta
│ │ │ │ ├── 08_Hotfix
│ │ │ │ │ ├── HotfixTest2.cs
│ │ │ │ │ ├── HotfixTest2.cs.meta
│ │ │ │ │ ├── HotfixTest2.unity
│ │ │ │ │ ├── HotfixTest2.unity.meta
│ │ │ │ │ ├── HotfixTest.cs
│ │ │ │ │ ├── HotfixTest.cs.meta
│ │ │ │ │ ├── HotfixTest.unity
│ │ │ │ │ ├── HotfixTest.unity.meta
│ │ │ │ │ ├── StatefullTest.cs
│ │ │ │ │ └── StatefullTest.cs.meta
│ │ │ │ ├── 08_Hotfix.meta
│ │ │ │ ├── 09_GenericMethod
│ │ │ │ │ ├── Foo.cs
│ │ │ │ │ ├── Foo.cs.meta
│ │ │ │ │ ├── GenericMethodExample.cs
│ │ │ │ │ ├── GenericMethodExample.cs.meta
│ │ │ │ │ ├── GenericMethod.unity
│ │ │ │ │ └── GenericMethod.unity.meta
│ │ │ │ ├── 09_GenericMethod.meta
│ │ │ │ ├── 10_SignatureLoader
│ │ │ │ │ ├── otherfiles
│ │ │ │ │ │ ├── key_ras
│ │ │ │ │ │ ├── key_ras.meta
│ │ │ │ │ │ ├── key_ras.pub
│ │ │ │ │ │ ├── key_ras.pub.meta
│ │ │ │ │ │ ├── signatured1.lua
│ │ │ │ │ │ ├── signatured1.lua.meta
│ │ │ │ │ │ ├── signatured2.lua
│ │ │ │ │ │ ├── signatured2.lua.meta
│ │ │ │ │ │ ├── signatured3.lua
│ │ │ │ │ │ └── signatured3.lua.meta
│ │ │ │ │ ├── otherfiles.meta
│ │ │ │ │ ├── Resources
│ │ │ │ │ │ ├── signatured1.lua.bytes
│ │ │ │ │ │ ├── signatured1.lua.bytes.meta
│ │ │ │ │ │ ├── signatured2.lua.bytes
│ │ │ │ │ │ ├── signatured2.lua.bytes.meta
│ │ │ │ │ │ ├── signatured3.lua.bytes
│ │ │ │ │ │ └── signatured3.lua.bytes.meta
│ │ │ │ │ ├── Resources.meta
│ │ │ │ │ ├── signatured1.lua
│ │ │ │ │ ├── signatured1.lua.meta
│ │ │ │ │ ├── signatured2.lua
│ │ │ │ │ ├── signatured2.lua.meta
│ │ │ │ │ ├── signatured3.lua
│ │ │ │ │ ├── signatured3.lua.meta
│ │ │ │ │ ├── SignatureLoaderTest.cs
│ │ │ │ │ ├── SignatureLoaderTest.cs.meta
│ │ │ │ │ ├── SignatureLoaderTest.unity
│ │ │ │ │ └── SignatureLoaderTest.unity.meta
│ │ │ │ ├── 10_SignatureLoader.meta
│ │ │ │ ├── 11_RawObject
│ │ │ │ │ ├── RawObjectTest.cs
│ │ │ │ │ ├── RawObjectTest.cs.meta
│ │ │ │ │ ├── RawObject.unity
│ │ │ │ │ └── RawObject.unity.meta
│ │ │ │ ├── 11_RawObject.meta
│ │ │ │ ├── 12_ReImplementInLua
│ │ │ │ │ ├── ReImplementInLua.cs
│ │ │ │ │ ├── ReImplementInLua.cs.meta
│ │ │ │ │ ├── ReImplementInLua.unity
│ │ │ │ │ └── ReImplementInLua.unity.meta
│ │ │ │ ├── 12_ReImplementInLua.meta
│ │ │ │ ├── 13_BuildFromCLI
│ │ │ │ │ ├── build.bat
│ │ │ │ │ ├── build.bat.meta
│ │ │ │ │ ├── Editor
│ │ │ │ │ │ ├── BuildFromCLI.cs
│ │ │ │ │ │ └── BuildFromCLI.cs.meta
│ │ │ │ │ └── Editor.meta
│ │ │ │ ├── 13_BuildFromCLI.meta
│ │ │ │ ├── ExampleGenConfig.cs
│ │ │ │ └── ExampleGenConfig.cs.meta
│ │ │ ├── Examples.meta
│ │ │ ├── Resources
│ │ │ │ ├── perf
│ │ │ │ │ ├── memory.lua.txt
│ │ │ │ │ ├── memory.lua.txt.meta
│ │ │ │ │ ├── profiler.lua.txt
│ │ │ │ │ └── profiler.lua.txt.meta
│ │ │ │ ├── perf.meta
│ │ │ │ ├── tdr
│ │ │ │ │ ├── tdr.lua.txt
│ │ │ │ │ └── tdr.lua.txt.meta
│ │ │ │ ├── tdr.meta
│ │ │ │ ├── xlua
│ │ │ │ │ ├── util.lua.txt
│ │ │ │ │ └── util.lua.txt.meta
│ │ │ │ └── xlua.meta
│ │ │ ├── Resources.meta
│ │ │ ├── Src
│ │ │ │ ├── CodeEmit.cs
│ │ │ │ ├── CodeEmit.cs.meta
│ │ │ │ ├── CopyByValue.cs
│ │ │ │ ├── CopyByValue.cs.meta
│ │ │ │ ├── DelegateBridge.cs
│ │ │ │ ├── DelegateBridge.cs.meta
│ │ │ │ ├── Editor
│ │ │ │ │ ├── Generator.cs
│ │ │ │ │ ├── Generator.cs.meta
│ │ │ │ │ ├── Hotfix.cs
│ │ │ │ │ ├── Hotfix.cs.meta
│ │ │ │ │ ├── LinkXmlGen
│ │ │ │ │ │ ├── LinkXmlGen.cs
│ │ │ │ │ │ ├── LinkXmlGen.cs.meta
│ │ │ │ │ │ ├── LinkXmlGen.tpl.txt
│ │ │ │ │ │ └── LinkXmlGen.tpl.txt.meta
│ │ │ │ │ ├── LinkXmlGen.meta
│ │ │ │ │ ├── Template
│ │ │ │ │ │ ├── LuaClassWrapGCM.tpl.txt
│ │ │ │ │ │ ├── LuaClassWrapGCM.tpl.txt.meta
│ │ │ │ │ │ ├── LuaClassWrap.tpl.txt
│ │ │ │ │ │ ├── LuaClassWrap.tpl.txt.meta
│ │ │ │ │ │ ├── LuaDelegateBridge.tpl.txt
│ │ │ │ │ │ ├── LuaDelegateBridge.tpl.txt.meta
│ │ │ │ │ │ ├── LuaDelegateWrap.tpl.txt
│ │ │ │ │ │ ├── LuaDelegateWrap.tpl.txt.meta
│ │ │ │ │ │ ├── LuaEnumWrapGCM.tpl.txt
│ │ │ │ │ │ ├── LuaEnumWrapGCM.tpl.txt.meta
│ │ │ │ │ │ ├── LuaEnumWrap.tpl.txt
│ │ │ │ │ │ ├── LuaEnumWrap.tpl.txt.meta
│ │ │ │ │ │ ├── LuaInterfaceBridge.tpl.txt
│ │ │ │ │ │ ├── LuaInterfaceBridge.tpl.txt.meta
│ │ │ │ │ │ ├── LuaRegisterGCM.tpl.txt
│ │ │ │ │ │ ├── LuaRegisterGCM.tpl.txt.meta
│ │ │ │ │ │ ├── LuaRegister.tpl.txt
│ │ │ │ │ │ ├── LuaRegister.tpl.txt.meta
│ │ │ │ │ │ ├── LuaWrapPusher.tpl.txt
│ │ │ │ │ │ ├── LuaWrapPusher.tpl.txt.meta
│ │ │ │ │ │ ├── PackUnpack.tpl.txt
│ │ │ │ │ │ ├── PackUnpack.tpl.txt.meta
│ │ │ │ │ │ ├── TemplateCommon.lua.txt
│ │ │ │ │ │ └── TemplateCommon.lua.txt.meta
│ │ │ │ │ ├── Template.meta
│ │ │ │ │ ├── TemplateRef.cs
│ │ │ │ │ └── TemplateRef.cs.meta
│ │ │ │ ├── Editor.meta
│ │ │ │ ├── GenAttributes.cs
│ │ │ │ ├── GenAttributes.cs.meta
│ │ │ │ ├── GenericDelegateBridge.cs
│ │ │ │ ├── GenericDelegateBridge.cs.meta
│ │ │ │ ├── InternalGlobals.cs
│ │ │ │ ├── InternalGlobals.cs.meta
│ │ │ │ ├── LuaBase.cs
│ │ │ │ ├── LuaBase.cs.meta
│ │ │ │ ├── LuaDLL.cs
│ │ │ │ ├── LuaDLL.cs.meta
│ │ │ │ ├── LuaEnv.cs
│ │ │ │ ├── LuaEnv.cs.meta
│ │ │ │ ├── LuaException.cs
│ │ │ │ ├── LuaException.cs.meta
│ │ │ │ ├── LuaFunction.cs
│ │ │ │ ├── LuaFunction.cs.meta
│ │ │ │ ├── LuaTable.cs
│ │ │ │ ├── LuaTable.cs.meta
│ │ │ │ ├── MethodWarpsCache.cs
│ │ │ │ ├── MethodWarpsCache.cs.meta
│ │ │ │ ├── ObjectCasters.cs
│ │ │ │ ├── ObjectCasters.cs.meta
│ │ │ │ ├── ObjectPool.cs
│ │ │ │ ├── ObjectPool.cs.meta
│ │ │ │ ├── ObjectTranslator.cs
│ │ │ │ ├── ObjectTranslator.cs.meta
│ │ │ │ ├── ObjectTranslatorPool.cs
│ │ │ │ ├── ObjectTranslatorPool.cs.meta
│ │ │ │ ├── RawObject.cs
│ │ │ │ ├── RawObject.cs.meta
│ │ │ │ ├── SignatureLoader.cs
│ │ │ │ ├── SignatureLoader.cs.meta
│ │ │ │ ├── StaticLuaCallbacks.cs
│ │ │ │ ├── StaticLuaCallbacks.cs.meta
│ │ │ │ ├── TemplateEngine
│ │ │ │ │ ├── TemplateEngine.cs
│ │ │ │ │ └── TemplateEngine.cs.meta
│ │ │ │ ├── TemplateEngine.meta
│ │ │ │ ├── TypeExtensions.cs
│ │ │ │ ├── TypeExtensions.cs.meta
│ │ │ │ ├── Utils.cs
│ │ │ │ └── Utils.cs.meta
│ │ │ ├── Src.meta
│ │ │ ├── Tutorial
│ │ │ │ ├── CSharpCallLua
│ │ │ │ │ ├── CSCallLua.cs
│ │ │ │ │ ├── CSCallLua.cs.meta
│ │ │ │ │ ├── CSCallLua.unity
│ │ │ │ │ └── CSCallLua.unity.meta
│ │ │ │ ├── CSharpCallLua.meta
│ │ │ │ ├── LoadLuaScript
│ │ │ │ │ ├── ByFile
│ │ │ │ │ │ ├── ByFile.cs
│ │ │ │ │ │ ├── ByFile.cs.meta
│ │ │ │ │ │ ├── ByFile.unity
│ │ │ │ │ │ ├── ByFile.unity.meta
│ │ │ │ │ │ ├── Resources
│ │ │ │ │ │ │ ├── byfile.lua.txt
│ │ │ │ │ │ │ └── byfile.lua.txt.meta
│ │ │ │ │ │ └── Resources.meta
│ │ │ │ │ ├── ByFile.meta
│ │ │ │ │ ├── ByString
│ │ │ │ │ │ ├── ByString.cs
│ │ │ │ │ │ ├── ByString.cs.meta
│ │ │ │ │ │ ├── ByString.unity
│ │ │ │ │ │ └── ByString.unity.meta
│ │ │ │ │ ├── ByString.meta
│ │ │ │ │ ├── Loader
│ │ │ │ │ │ ├── CustomLoader.cs
│ │ │ │ │ │ ├── CustomLoader.cs.meta
│ │ │ │ │ │ ├── CustomLoader.unity
│ │ │ │ │ │ └── CustomLoader.unity.meta
│ │ │ │ │ └── Loader.meta
│ │ │ │ ├── LoadLuaScript.meta
│ │ │ │ ├── LuaCallCSharp
│ │ │ │ │ ├── LuaCallCs.cs
│ │ │ │ │ ├── LuaCallCs.cs.meta
│ │ │ │ │ ├── LuaCallCs.unity
│ │ │ │ │ └── LuaCallCs.unity.meta
│ │ │ │ └── LuaCallCSharp.meta
│ │ │ └── Tutorial.meta
│ │ └── XLua.meta
│ └── Tools
│ ├── InjectAPKTool
│ │ ├── inject.sh
│ │ └── InjectToLua
│ │ ├── DLL
│ │ │ ├── Core
│ │ │ │ ├── Driver
│ │ │ │ │ ├── List.cs
│ │ │ │ │ ├── LuaDLL.cs
│ │ │ │ │ ├── LuaProfiler.cs
│ │ │ │ │ ├── NativeHelper.cs
│ │ │ │ │ ├── ObjectPool.cs
│ │ │ │ │ ├── Parse
│ │ │ │ │ │ ├── Common.cs
│ │ │ │ │ │ ├── LLex.cs
│ │ │ │ │ │ ├── Parse.cs
│ │ │ │ │ │ └── Util.cs
│ │ │ │ │ └── Sample.cs
│ │ │ │ ├── LuaHookSetup.cs
│ │ │ │ ├── NetWork
│ │ │ │ │ └── NetWorkClient.cs
│ │ │ │ └── Setting
│ │ │ │ └── LuaDeepProfilerSetting.cs
│ │ │ ├── MBinaryWriter.cs
│ │ │ ├── Properties
│ │ │ │ └── AssemblyInfo.cs
│ │ │ └── UnityEngine.dll
│ │ ├── InjectMethods.cs
│ │ ├── Lib
│ │ │ ├── ICSharpCode.SharpZipLib.dll
│ │ │ └── Mono.Cecil.dll
│ │ ├── Program.cs
│ │ ├── Properties
│ │ │ └── AssemblyInfo.cs
│ │ └── ZipTool.cs
│ ├── InjectLua
│ │ ├── InjectLua
│ │ │ ├── app.config
│ │ │ ├── InjectLua.csproj
│ │ │ ├── Parse
│ │ │ │ ├── Common.cs
│ │ │ │ ├── LLex.cs
│ │ │ │ ├── Parse.cs
│ │ │ │ └── Util.cs
│ │ │ ├── Program.cs
│ │ │ └── Properties
│ │ │ └── AssemblyInfo.cs
│ │ └── InjectLua.sln
│ ├── InjectLuaCPP
│ │ ├── CMakeLists.txt
│ │ ├── include
│ │ │ ├── Enums.h
│ │ │ ├── LLex.h
│ │ │ ├── StringLoadInfo.h
│ │ │ └── Token.h
│ │ └── src
│ │ ├── LLex.cpp
│ │ ├── StringLoadInfo.cpp
│ │ └── Token.cpp
│ ├── InjectLua.exe
│ ├── LuaProfilerWinform
│ │ ├── lib
│ │ │ ├── EasyHook.dll
│ │ │ ├── ExpandableGridView.dll
│ │ │ └── UnityEngine.dll
│ │ ├── LuaProfilerWinform
│ │ │ ├── app.config
│ │ │ ├── App.ico
│ │ │ ├── AssemblyInfo.cs
│ │ │ ├── EasyHook32.dll
│ │ │ ├── EasyHook64.dll
│ │ │ ├── HookLib
│ │ │ │ ├── Core
│ │ │ │ │ ├── Common
│ │ │ │ │ │ ├── List.cs
│ │ │ │ │ │ ├── ObjectPool.cs
│ │ │ │ │ │ └── Sample.cs
│ │ │ │ │ ├── LuaDLL.cs
│ │ │ │ │ ├── LuaProfiler.cs
│ │ │ │ │ ├── NetWork
│ │ │ │ │ │ ├── MBinaryWriter.cs
│ │ │ │ │ │ └── NetWorkClient.cs
│ │ │ │ │ ├── Parse
│ │ │ │ │ │ ├── Common.cs
│ │ │ │ │ │ ├── LLex.cs
│ │ │ │ │ │ ├── Parse.cs
│ │ │ │ │ │ └── Util.cs
│ │ │ │ │ └── Wrap
│ │ │ │ │ └── MikuLuaProfilerLuaProfilerWrap.cs
│ │ │ │ ├── HookLib.csproj
│ │ │ │ ├── Main.cs
│ │ │ │ ├── Properties
│ │ │ │ │ └── AssemblyInfo.cs
│ │ │ │ └── SN.snk
│ │ │ ├── LuaProfilerWinform.csproj
│ │ │ ├── LuaProfilerWinform.csproj.user
│ │ │ ├── ProfilerForm.cs
│ │ │ ├── ProfilerForm.Designer.cs
│ │ │ ├── ProfilerForm.resx
│ │ │ ├── Program.cs
│ │ │ ├── Properties
│ │ │ │ ├── Resources.Designer.cs
│ │ │ │ └── Resources.resx
│ │ │ ├── Resources
│ │ │ │ └── newGroupPostIconStrip.PNG
│ │ │ └── Winform
│ │ │ └── NetWork
│ │ │ └── NetWorkServer.cs
│ │ ├── LuaProfilerWinform.sln
│ │ ├── LuaProfilerWinform.suo
│ │ └── TestProcess
│ │ ├── TestWindow.exe
│ │ ├── TestWindow.exe.config
│ │ ├── TestWindow.pdb
│ │ ├── TestWindow.vshost.exe
│ │ ├── TestWindow.vshost.exe.config
│ │ └── TestWindow.vshost.exe.manifest
│ ├── MikuBinary
│ │ ├── MikuBinary
│ │ │ ├── MBinaryWriter.cs
│ │ │ ├── MikuBinary.csproj
│ │ │ ├── NativeUtility.cs
│ │ │ └── Properties
│ │ │ └── AssemblyInfo.cs
│ │ └── MikuBinary.sln
│ ├── MikuHook
│ │ ├── MikuHook
│ │ │ ├── Core
│ │ │ │ ├── Class
│ │ │ │ │ ├── CSharpMethodHooker.cs
│ │ │ │ │ └── HookerBase.cs
│ │ │ │ └── Util
│ │ │ │ ├── LDasm.cs
│ │ │ │ └── NativeAPI.cs
│ │ │ ├── Lib
│ │ │ │ └── UnityEngine.dll
│ │ │ ├── MikuHook.csproj
│ │ │ └── Properties
│ │ │ └── AssemblyInfo.cs
│ │ └── MikuHook.sln
│ ├── mikuhook_runtime
│ │ ├── android
│ │ │ └── jni
│ │ │ └── Android.mk
│ │ ├── build_android.bat
│ │ ├── build_profiler_win32.sh
│ │ ├── build_profiler_win64.sh
│ │ ├── build_win32.sh
│ │ ├── build_win64.sh
│ │ ├── miku_profiler.c
│ │ ├── Plugins
│ │ │ ├── Android
│ │ │ │ └── libs
│ │ │ │ └── armeabi-v7a
│ │ │ │ └── libmikuhooker.so
│ │ │ ├── x86
│ │ │ │ ├── mikuhooker.dll
│ │ │ │ └── miku_profiler.dll
│ │ │ └── x86_64
│ │ │ ├── mikuhooker.dll
│ │ │ ├── miku_profiler.dll
│ │ │ └── monohooker.dll
│ │ └── src
│ │ ├── include
│ │ │ ├── inlineHook.h
│ │ │ ├── mikuhooker.h
│ │ │ └── relocate.h
│ │ └── source
│ │ ├── inlineHook.c
│ │ ├── mikuhooker.c
│ │ └── relocate.c
│ ├── shadowhook
│ │ └── ShadowHook.java
│ └── Template.lua
├── LuaProfiler.meta
├── package.json
├── package.json.meta
├── README.md
└── README.md.meta
146 directories, 623 files
好例子网口号:伸出你的我的手 — 分享!
相关软件
小贴士
感谢您为本站写下的评论,您的评论对其它用户来说具有重要的参考价值,所以请认真填写。
- 类似“顶”、“沙发”之类没有营养的文字,对勤劳贡献的楼主来说是令人沮丧的反馈信息。
- 相信您也不想看到一排文字/表情墙,所以请不要反馈意义不大的重复字符,也请尽量不要纯表情的回复。
- 提问之前请再仔细看一遍楼主的说明,或许是您遗漏了。
- 请勿到处挖坑绊人、招贴广告。既占空间让人厌烦,又没人会搭理,于人于己都无利。
关于好例子网
本站旨在为广大IT学习爱好者提供一个非营利性互相学习交流分享平台。本站所有资源都可以被免费获取学习研究。本站资源来自网友分享,对搜索内容的合法性不具有预见性、识别性、控制性,仅供学习研究,请务必在下载后24小时内给予删除,不得用于其他任何用途,否则后果自负。基于互联网的特殊性,平台无法对用户传输的作品、信息、内容的权属或合法性、安全性、合规性、真实性、科学性、完整权、有效性等进行实质审查;无论平台是否已进行审查,用户均应自行承担因其传输的作品、信息、内容而可能或已经产生的侵权或权属纠纷等法律责任。本站所有资源不代表本站的观点或立场,基于网友分享,根据中国法律《信息网络传播权保护条例》第二十二与二十三条之规定,若资源存在侵权或相关问题请联系本站客服人员,点此联系我们。关于更多版权及免责申明参见 版权及免责申明
网友评论
我要评论