如何使用vs2012单步调试uGUI(unity3d 5.3f4)
2016-01-14 19:33
197 查看
下载uGUI源代码
uGUI源代码地址:https://bitbucket.org/Unity-Technologies/ui
下载代码工具:tortoisehg-3.6.2-x64.msi
http://pan.baidu.com/s/1jGQaAuM
使用自己编译的uGUI
1.首选下载uGUI代码,如何下载参考相关文档。
2.使用vs2012打开解决方案UISystem.sln,看到三个工程。
![](http://images2015.cnblogs.com/blog/122502/201601/122502-20160114193252350-1686298338.png)
UnityEditor.UI工程:生成Edtior/UnityEditor.UI.dll,主要是包含各UGUI控件在Editor的Inspector功能。
UnityEngine.UI工程:生成Standalone/UnityEngine.UI.dll,主要是UGUI在发布包中使用的功能。
UnityEngine.UI-Editor工程:生成UnityEngine.UI.dll,主要是UGUI在编辑器中使用的功能。
3.修改DLL输出路径
UnityEditor.UI工程输出路径:d:\Program Files\Unity\Editor\Data\UnityExtensions\Unity\GUISystem\Editor\
UnityEngine.UI工程输出路径:d:\Program Files\Unity\Editor\Data\UnityExtensions\Unity\GUISystem\Standalone\
UnityEngine.UI-Editor工程输出路径:d:\Program Files\Unity\Editor\Data\UnityExtensions\Unity\GUISystem\
![](http://images2015.cnblogs.com/blog/122502/201601/122502-20160114193252741-1485571357.png)
到这步按F7就可以把uGUI代码编译出的dll给unity使用。
uGUI单步调试
1.使用工具pdb2mdb.exe生成mdb文件
不过在Unity中还是无法调试到uGUI的源代码中,因为刚刚编译出来的调试信息文件是pdb,而mono的调试信息文件是mdb。因此我们需要用pdb2mdb工具将它进行。转工具:d:\Program Files\Unity\Editor\Data\MonoBleedingEdge\lib\mono\4.5\pdb2mdb.exe
把CMD工作目录转到d:\Program Files\Unity\Editor\Data\UnityExtensions\Unity\GUISystem。然后开始转换。
![](http://images2015.cnblogs.com/blog/122502/201601/122502-20160114193253085-141052482.png)
但还是报错了:
![](http://images2015.cnblogs.com/blog/122502/201601/122502-20160114193253460-1255855686.png)
未经处理的异常: System.IO.FileNotFoundException: 未能加载文件或程序集“Mono.Cec
il, Version=0.9.5.0, Culture=neutral, PublicKeyToken=0738eb9f132ed756”或它的某
一个依赖项。系统找不到指定的文件。
在 Pdb2Mdb.Driver.Main(String[] args)
解决方法:
下一个新的pdb2mdb.exe工具
http://pan.baidu.com/s/1c1tYicg
https://gist.github.com/jbevain/ba23149da8369e4a966f
终于成功了:
![](http://images2015.cnblogs.com/blog/122502/201601/122502-20160114193253819-1991676436.png)
可以看到目录d:\Program Files\Unity\Editor\Data\UnityExtensions\Unity\GUISystem\下生成了UnityEngine.UI.dll.mdb文件。
2.开始单步调试:
A.下好断点。
![](http://images2015.cnblogs.com/blog/122502/201601/122502-20160114193254178-908524199.png)
B.运行Unity3D测试例子。
![](http://images2015.cnblogs.com/blog/122502/201601/122502-20160114193254491-82701482.png)
C.把dll附加到unity中去
![](http://images2015.cnblogs.com/blog/122502/201601/122502-20160114193254866-339132775.png)
4.做相应操作触发断点。(我这里是点击测试例子的按钮)
![](http://images2015.cnblogs.com/blog/122502/201601/122502-20160114193255210-482579865.png)
[b]注意点:[/b]
1.开代理工具Proxifier后。然后Attach Unity Debugger就不成功了。
leofang
2016年1月12日,星期二
/article/5259786.html
来自为知笔记(Wiz)
uGUI源代码地址:https://bitbucket.org/Unity-Technologies/ui
下载代码工具:tortoisehg-3.6.2-x64.msi
http://pan.baidu.com/s/1jGQaAuM
使用自己编译的uGUI
1.首选下载uGUI代码,如何下载参考相关文档。
2.使用vs2012打开解决方案UISystem.sln,看到三个工程。
![](http://images2015.cnblogs.com/blog/122502/201601/122502-20160114193252350-1686298338.png)
UnityEditor.UI工程:生成Edtior/UnityEditor.UI.dll,主要是包含各UGUI控件在Editor的Inspector功能。
UnityEngine.UI工程:生成Standalone/UnityEngine.UI.dll,主要是UGUI在发布包中使用的功能。
UnityEngine.UI-Editor工程:生成UnityEngine.UI.dll,主要是UGUI在编辑器中使用的功能。
3.修改DLL输出路径
UnityEditor.UI工程输出路径:d:\Program Files\Unity\Editor\Data\UnityExtensions\Unity\GUISystem\Editor\
UnityEngine.UI工程输出路径:d:\Program Files\Unity\Editor\Data\UnityExtensions\Unity\GUISystem\Standalone\
UnityEngine.UI-Editor工程输出路径:d:\Program Files\Unity\Editor\Data\UnityExtensions\Unity\GUISystem\
![](http://images2015.cnblogs.com/blog/122502/201601/122502-20160114193252741-1485571357.png)
到这步按F7就可以把uGUI代码编译出的dll给unity使用。
uGUI单步调试
1.使用工具pdb2mdb.exe生成mdb文件
不过在Unity中还是无法调试到uGUI的源代码中,因为刚刚编译出来的调试信息文件是pdb,而mono的调试信息文件是mdb。因此我们需要用pdb2mdb工具将它进行。转工具:d:\Program Files\Unity\Editor\Data\MonoBleedingEdge\lib\mono\4.5\pdb2mdb.exe
把CMD工作目录转到d:\Program Files\Unity\Editor\Data\UnityExtensions\Unity\GUISystem。然后开始转换。
![](http://images2015.cnblogs.com/blog/122502/201601/122502-20160114193253085-141052482.png)
但还是报错了:
![](http://images2015.cnblogs.com/blog/122502/201601/122502-20160114193253460-1255855686.png)
未经处理的异常: System.IO.FileNotFoundException: 未能加载文件或程序集“Mono.Cec
il, Version=0.9.5.0, Culture=neutral, PublicKeyToken=0738eb9f132ed756”或它的某
一个依赖项。系统找不到指定的文件。
在 Pdb2Mdb.Driver.Main(String[] args)
解决方法:
下一个新的pdb2mdb.exe工具
http://pan.baidu.com/s/1c1tYicg
https://gist.github.com/jbevain/ba23149da8369e4a966f
终于成功了:
![](http://images2015.cnblogs.com/blog/122502/201601/122502-20160114193253819-1991676436.png)
可以看到目录d:\Program Files\Unity\Editor\Data\UnityExtensions\Unity\GUISystem\下生成了UnityEngine.UI.dll.mdb文件。
2.开始单步调试:
A.下好断点。
![](http://images2015.cnblogs.com/blog/122502/201601/122502-20160114193254178-908524199.png)
B.运行Unity3D测试例子。
![](http://images2015.cnblogs.com/blog/122502/201601/122502-20160114193254491-82701482.png)
C.把dll附加到unity中去
![](http://images2015.cnblogs.com/blog/122502/201601/122502-20160114193254866-339132775.png)
4.做相应操作触发断点。(我这里是点击测试例子的按钮)
![](http://images2015.cnblogs.com/blog/122502/201601/122502-20160114193255210-482579865.png)
[b]注意点:[/b]
1.开代理工具Proxifier后。然后Attach Unity Debugger就不成功了。
leofang
2016年1月12日,星期二
/article/5259786.html
来自为知笔记(Wiz)
附件列表
相关文章推荐
- UGUI Unity内建UI系统的认识和一些问题的解决方案
- Unity3D游戏开发技巧Camera实现效果
- Unity3D 5.3 32位安装 No Unsupported Target module loaded
- Unity GameObject.activeSelf, GameObject.activeInHierarchy,GameObject.SetActive和SetActiveRecursively
- Unity3D ParticleSystem粒子系统(3.5版
- unity3d扩展编辑器
- 在Unity中使用UGUI修改Mesh绘制几何图形
- Unity中C#单例模式使用总结
- 其实Unity界面还是非常可爱的
- 【我的书】Unity Shader的书 — 文件夹(2015.12.21更新)
- 使用Visual Studio 2015 Community 开发windows服务
- 关于unity3dGUI(uGUI)的一些自适应的收获,在这里跟大家分享一下
- Unity3D研究院编辑器之创建Lua脚本模板
- 对于unity3d 对于热更新的思考!!!(版本管理)
- unity, editorWindow lose data when enter play mode
- Unity3d 综合性能窍门
- 微软IOC容器Unity简单代码示例3-基于约定的自动注册机制
- Unity获取游戏对象详解
- Unity3D 游戏在 iOS 上因为 trampolines 闪退的原因与解决办法
- 【Unity ImageEffect】一个用于角色外边缘发光的效果