自动检测软链接并为EmmyLua调试器提供智能路径映射,解决UnrealEngine项目中Lua脚本断点无法命中的问题。
- 自动软链接检测 - 扫描项目中的Script目录软链接
- 智能路径映射 - 双向映射真实路径↔软链接路径
- 多格式支持 - 处理相对路径、@符号路径、反斜杠路径
- 跨平台兼容 - 支持Windows/Mac/Linux
- 启动时检测 - UnLua环境创建后自动扫描软链接
- 注入映射函数 - 覆盖
_G.emmy.fixPath函数 - 实时路径转换 - 调试器调用时自动映射路径格式
- 绝对路径优化 - 相对路径自动转换为绝对路径
- 将插件放入项目
Plugins目录 - 重新生成项目文件并编译
- 启动游戏,插件自动工作
- 在IDEA中正常设置断点即可
LogUnLuaDebugAssist: 检测到软链接
LogUnLua: [UnLuaDebugAssist] fixPath called with: /real/path/script.lua
LogUnLua: [UnLuaDebugAssist] Path mapped: /real/path -> /symlink/path
- 软链接检测:
GetRealPath()+ 路径比较 - Lua脚本注入: 动态生成映射规则和处理函数
- 路径规范化: 处理
../、./、多重斜杠 - 文件验证: 确保映射后路径文件存在
- UnrealEngine + UnLua + EmmyLua调试环境
- 使用软链接管理Lua脚本的项目
- 需要跨IDE调试的开发团队
UnLuaDebugAssist/
├── UnLuaDebugAssist.uplugin # 插件配置文件
└── Source/
└── UnLuaDebugAssist/
├── UnLuaDebugAssist.Build.cs # 构建配置
├── Public/
│ └── UnLuaDebugAssistModule.h
└── Private/
└── UnLuaDebugAssistModule.cpp
欢迎提交Issue和Pull Request来改进这个插件!
MIT License