找回密码
 立即注册
查看: 261|回复: 0

[笔记] Unity修改并且调试UGUI源码

[复制链接]
发表于 2022-6-9 09:23 | 显示全部楼层 |阅读模式
鉴于Unity提供了Editor和UI的源码,那么一定有方式来实现源码在开发工程实时debug,几经查找资料最后汇总成此文章。
一、效果展示
先来看一下效果,下图展示了在项目中实时调试 Button 点击事件,可以看到 UnityEngine.UI 的调用堆栈。


二、准备工作
下载下方列出的相应文件以作备用。
UGUI源码


推荐使用 SourceTree hg 工程
PDB2MDB


A GUI tool to convert .NET .pdb files to Mono .mdb files.

三、核心操作

1. 编译UGUI源码


git 工程切换到正确分支,如《上古卷轴:传奇》现在使用的是 2017.4.29f1,UGUI 对应的 TAG 为 2017.4.16f1
双击 UGUI 目录下的 UISystem.sln 以通过 VS 打开工程,随后依次重新生成 UnityEditor.UIUnityEngine.UIUnityEngine.UI-Editor,目标文件将生成在 Ouput 目录下
下图展示了文件生成过程和结果。




2. 替换Unity下的UGUI文件

将上一步生成的文件拷贝到Unity所在安装路径,路径如下图所示。


3. 生成调试符号

使用 VS 打开 PDB2MDB 工程,运行工程,将 UnityEngine.UI.dll 拖入工程框,生成对应 mdb 文件。
3.1 运行 PDB2MDB


3.2 生成 mdb 文件


4. 在开发工程中添加 UnityEngine.UI 源码

使用 vs 打开游戏开发工程,在 右键解决方案 → 添加 → 现有项目,在打开的界面依次添加 UGUI 目录中 UnityEditor.UIUnityEngine.UIUnityEngine.UI-Editor *.csproj 文件。




5. 添加断点

找到需要调试的文件,在对应位置添加断点即可。



四、结束

结束
参考资料:
https://zhuanlan.zhihu.com/p/64185440
https://bitbucket.org/Unity-Technologies/ui/src/2019.1
https://forum.unity.com/threads/running-pdb2mdb-with-unity-5-and-later.390456

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?立即注册

×
懒得打字嘛,点击右侧快捷回复 【右侧内容,后台自定义】
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Unity开发者联盟 ( 粤ICP备20003399号 )

GMT+8, 2024-4-30 12:19 , Processed in 0.227976 second(s), 27 queries .

Powered by Discuz! X3.5 Licensed

© 2001-2024 Discuz! Team.

快速回复 返回顶部 返回列表