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的源码了。哇咔咔!

时间: 2024-10-18 07:23:21

UGUI源码调试的相关文章

又是正版!Win下ffmpeg源码调试分析二(Step into ffmpeg from Opencv for bugs in debug mode with MSVC)

最近工作忙一直没时间写,但是看看网络上这方面的资源确实少,很多都是linux的(我更爱unix,哈哈),而且很多是直接引入上一篇文章的编译结果来做的.对于使用opencv但是又老是被ffmpeg库坑害的朋友们,可能又爱又恨,毕竟用它处理和分析视频是第一选择,不仅是因为俩者配合使用方便,而且ffmpeg几乎囊括了我所知道的所有解编码器,但是正是因为这个导致了一些bug很难定位,所以有必要考虑一下如何快速定位你的ffmpeg bug. sorry,废话多了.首先给个思路: 1.使opencv 的hi

MVC 源码调试

源码调试,帮助你跟好理解MVC,使你开发跟牛B的程序. 1>在Visual命令行中运行“SN.EXE-Vr*,31BF3856AD364E35” 2. codeplex.com 上面找到,和你当前程序版本,一致 的 版本 这里是地址:http://aspnetwebstack.codeplex.com/SourceControl/list/changesets 如果这个版本和你版本一样 单击下载如果下载好了,你就创建一个MVC应用 移除这5个    System.Web.Services 这个不

Android源码开发利器——Java源码调试(基于4.1.2)

原文地址:http://blog.csdn.net/jinzhuojun/article/details/8868038 调试Android Java源码 草帽的后花园--Neo 写在之前的话:这里主要是以调试Java源码为主,应该说是在system_process之后的源码,这对于调试和修改frameworks层的人来说真是一个利器,但至于为什么在system_process之后,我还在分析,如果有结果我会更新此文章,并正在尝试调试C++的代码,就是native中的代码,如果这个可行那将会大大

eclipse中jdk源码调试步骤

分析源码是学习一项技术内幕最有效的手段.由于正常的引入JAr包源码没法进行对源码打断点,想要深入了解源码不方便.下面就开始介绍源码调试的步骤. 1.在eclipse新建一个JAVA项目compare_javac 2.将JAVAhome中src.zip解压并将解压的包src内的源代码复制到compare_javac中 3.右键进入JAVA build path -->libraries-->Access rules (Edit-->add(Accessible下面参数是:**)) 4.新建

利用Genymotion + vs + VisualGDB + ndk 进行源码调试(效率堪比真实调试)

由于之前装过 Genymotion 模拟器,昨天做了一次更新, 尼玛结果出问题了  不停的报 play.exe停止工作,网上的各种方式折腾了几个小时无效,最后把 Oracle VM VirtualBox Genymotion 用360软件管理彻底卸载了,接着重启, 然后重新下载了一个 VirtualBox + Genymotion 的综合安装包,不负所望,在机器重启后终于可以正常进入模拟器了 下载地址:http://files2.genymotion.com/genymotion/genymot

.net源码调试 http://referencesource.microsoft.com/

其实关于.net源码调试 网上的资料已经很多了,我以前转载的文章有 VS2010下如何调试Framework源代码(即FCL) 和 如何使你的应用程序调试进.NET Framework 4.5源代码内部(适用B/S,C/S) 但是在实际调试的时候 偶尔遇到找不到源码的的cs文件, 很是郁闷. 今天仔细 看了一下 提示,决定直接访问 http://referencesource.microsoft.com/ 发现里面的code可以下载,我们只需下载下来, 在调试的时候打开就ok了.

在eclipse中进行HotSpot的源码调试

本文地址:http://www.cnblogs.com/myresearch/p/ide-buildhotspot.html,转载请注明源地址. 在阅读OpenJDK源码的过程中,经常需要运行.调试程序来帮助理解.我们现在已经可以编译出一个调试版本HotSpot虚拟机,禁用优化,并带有符号信息,这样就可以使用GDB来进行调试了.许多对虚拟机了解比较深的开发人员确实就是直接使用GDB加VIM编辑器来开发.修改HotSpot的,不过相信大部分读者更倾向于在IDE环境而不是纯文本的GDB下阅读.跟踪H

SpringMVC DispatcherServlet 启动和加载过程(源码调试)

在阅读本文前,最好先阅读以下内容(当然,如果对 Servlet 已经有所了解,则可跳过): http://www.cnblogs.com/cyhbyw/p/8682078.html http://www.cnblogs.com/cyhbyw/p/8682307.html http://www.cnblogs.com/cyhbyw/p/8682632.html ============分隔线========================== 在使用 SpringMVC 进行 Web 开发时,通常

如何搭建自己的SpringBoot源码调试环境?--SpringBoot源码(一)

1 前言 这是SpringBoot2.1源码分析专题的第一篇文章,主要讲如何来搭建我们的源码阅读调试环境.如果有经验的小伙伴们可以略过此篇文章. 2 环境安装要求 IntelliJ IDEA JDK1.8 Maven3.5以上 3 从github上将SpringBoot源码项目下载下来 首先提供SpringBoot2.1.0的github地址: https://github.com/spring-projects/spring-boot/tree/v2.1.0.RELEASE 因为要进行阅读源码