UGUI源码调试

    前几天,Unity4.6的正式版终于发布了,随之而来的还有UGUI的源代码开放。之前用惯了NGUI,只要发现NGUI中有功能不够用的地方,就会立即去改它的源代码,发现不好理解的地方也会调试进NGUI的源码。现在换成UGUI,也需要有调试源码的功能,才能更好地理解UGUI的体系。花了大半天时间,终于实现调试UGUI代码的方法。

    首先下载Unity4.6的正式版再到BitBucked拉取UGUI的代码

    注意如果之前有4.6的试用版的话,需要先把试用版卸载,因为它和BitBucked上最新的代码不兼容。

    然后用Unity4.6自带的MonoDevelop打开UISystem.sln解决方案,或者用VS studio2010以上的版本打开该解决方案。我选择的是后者

    打开解决方案后会看到三个工程

    

  • UnityEditor.UI工程:生成Edtior/UnityEditor.UI.dll,主要是包含各UGUI控件在Editor的Inspector功能。
  • UnityEngine.UI工程:生成Standalone/UnityEngine.UI.dll,主要是UGUI在发布包中使用的功能。
  • UnityEngine.UI-Editor工程:生成UnityEngine.UI.dll,主要是UGUI在编辑器中使用的功能。

    打开解决方案后什么都不用改,直接选择Build,构建项目。会在解决方案目录中生成名为Output的目录

    将这些文件直接覆盖到{UNITY安装路径}\Editor\ Data\UnityExtensions\Unity\GUISystem\{UNITY_VERSION}
    再重新启动Unity就可以使用你自己编译出来的UGUI了。

    不过在Unity中还是无法调试到UGUI的源代码中,因为刚刚编译出来的调试信息文件是pdb,而mono的调试信息文件是mdb。因此我们需要用pdb2mdb工具将它进行一次转换。
    转换工具是Unity\Editor\Data\MonoBleedingEdge\lib\mono\4.0\pdb2mdb.exe

    用法是
    pdb2mdb 程序集名
    不过这里有一个坑,浪费了我很多时间,那就是pdb2mdb的工作路径要在要转换的程序集的路径下。因此我们先需要切换到Output目录下,进行如下操作

再把生成的mdb拷到Editor\Data\UnityExtensions\Unity\GUISystem\{UNITY_VERSION}下面,
之后就可以随心所欲地调试进UGUI的源码了。哇咔咔!

    

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 6
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 6
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值