如何使用vs2012单步调试uGUI(unity3d 5.3f4)

下载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,看到三个工程。

  • 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\

到这步按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。然后开始转换。

但还是报错了:

未经处理的异常:  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

终于成功了:

可以看到目录d:\Program Files\Unity\Editor\Data\UnityExtensions\Unity\GUISystem\下生成了UnityEngine.UI.dll.mdb文件。

2.开始单步调试:

A.下好断点。

B.运行Unity3D测试例子。

C.把dll附加到unity中去

4.做相应操作触发断点。(我这里是点击测试例子的按钮)

注意点:


1.开代理工具Proxifier后。然后Attach Unity Debugger就不成功了。

leofang

2016年1月12日,星期二

http://www.cnblogs.com/fangyukuan/p/5131472.html

来自为知笔记(Wiz)

附件列表

时间: 2024-08-08 05:35:13

如何使用vs2012单步调试uGUI(unity3d 5.3f4)的相关文章

vs2012远程调试

不知道大家有没有遇到过这种情况,刚开发完的程序,明明在本机能够好好的运行,可是部署到服务器过分发给用户时,总是出现莫名其妙的错误. 一时半会又看不出问题来,怎么办呢?难道只能在服务器或是客户电脑上装一个vs.跟一下代码吗? 其实不用的,vs有一个远程调试的功能. 这个功能是这样的,程序在其他的电脑上运行,但是我们可以在本地电脑上进行断点跟踪. 下面以vs2012为例,为大家介绍一下无身份验证的远程调试(如果要用有身份验证,又没有域环境,参见最后的总结),同时也说一下vs2012与以前版本在远程调

Python学习之单步调试详解

遇到大型python项目,如何定位问题和监控程序的运行状态是一个程序员必须掌握的技能,本文和大家分享的是python程序的单步调试方法,一起来看看吧,希望对大家学习python有所帮助. 首先你需要在所调试程序的开头中:import pdb 并在你的代码行设置断点:pdb.set_trace() def get_input(Data, SuiteID, CaseID, caseinfolist): global sArge sArge='' args = [] #对于get请求,将参数组合 if

使用spyder编译器单步调试python

1.将需要进行单步调试的函数在脚本中进行调用(十分重要的一步).由于python是解释型语言,在进行单步调试的时候需要告诉系统你使用了这个函数,单步调试才会进入你所需要调式的函数.如下图所示,我们定义了createDataSet()函数,在进行调试之前,要在脚本中对其进行调用,也就是下图红色标记的部分. 2.添加断点.和其余程序设计语言一样,将断点加入到你想要查看结果的语句,加入的方面就是在语句前进行双击或者选中语句后点击F12按钮.效果如下图所示. 3.按照程序员不同的需求进行调试.spyde

Atitit. 脚本语言的断点单步调试的设计与实现 attialx 总结 php 参照java

Atitit. 脚本语言的断点单步调试的设计与实现 attialx 总结 php 参照java 1. 断点的实现:手动断点 die和exit是等价的 1 2. 变量表的实现 1 3. print_r(  $vars_list ); 1 4. print_r和var_dump都能输出数组和对象, 1 5. 参考 2 1. 断点的实现:手动断点 die和exit是等价的 2. 变量表的实现 $vars_list= array(); 放入变量表ui... global  $vars_list; $va

netbean + xdebug 配置单步调试

从我学PHP开始,netbean+xdebug这个组合对我帮助挺大的,特别是开一些大点的开源程序,如YII,THINKPHP,CI,LARAVEL,ECSHOP,V9框架之类的,用上单步调试,就可以很清晰的看到程序是怎么走的,学习牛人是怎么写代码的,总之一句话:此乃神器也!! ^-^ 好了,废话不多说:1:去下载php_xdebug.dll扩展,注意:要对应PHP的版本,要不你就是瞎搞十天九夜也不会成功的喔! 2:在php.ini文件末尾加上 zend_extension=f:\www\php5

理解First Chance和Second Chance避免单步调试

原文链接地址:http://blog.csdn.net/Donjuan/article/details/3859160 在现在C++.Java..Net代码大行其道的时候,很多代码错误(Bug)都是通过异常的形式表现出来的.由于工期紧或者种种原因,很多程序员在碰到程序发生未处理的异常的第一反应就是try - catch (Exception e) { - }.然而代码开发到后期的时候,这种简单粗暴的解决代码错误(Bug)的方式就会在其他不相干的地方表现出来,有的时候甚至导致程序随机的不稳定,而且

VC++6.0 Debug单步调试

相信大家对谭浩强童鞋都不陌生,想当年,是他 引领我们步入了C的殿堂,我们从他那里学会了如何写代码,他却没有教我们如何Debug,而我们伟大的老师,也对此只字不提.相信很少有人可以一次性写出 完全正确的代码.对于我们这些个菜鸟来说,写出不带bug的代码倒是一件很不正常的事情.也许你知道有Debug这么个东西,但却不知道该怎样用:也许你 还停留在在代码中添加N个printf来输出查看到底是哪里出了问题:也许……总之,经验表明,你花费时间看完这篇文章并学会简单的使用Debug,绝对 不是浪费时间! 废

Yosemite Intellij idea php设置xdebug单步调试

PHP设置单步调试 一直看看PHP语法,最近看貌似很火的laravel,还有一个基于laravel/framework的OctoberCRM,一直没找到方式做单步调试,今天总算达成了. IDE用的Intellij idea,Android Studio就是基于这个玩意搞的,也是由于Android Studio我才开始接触这个IDE,后来看PHP,就装了个插件,就叫PHP吧,然后编写PHP代码,提示做的挺好的,我一般用IDE都是看两个内容,一是提示,二是debug,debug今天搞好了,可以单步了

myeclipse单步调试

如何进行myclipse的单步调式与跟踪?希望大虾们详细点,多谢.打断点,然后运行,进debug试图,按F6执行一行,按F5是钻进去执行 追问 朋友,能详细点吗? 本人是初学 回答 如图 如若成功请采纳! 我也是初学 在给你个详细点的,http://zhidao.baidu.com/question/64588044.html?qbl=relate_question_0 myeclipse单步调试,布布扣,bubuko.com