病毒性腹泻吃什么药和细菌性感冒吃什么药好的快

下次自动登录
现在的位置:
& 综合 & 正文
解决Silverlight无法调试的问题
在Silverlight开发过程中,经常时不时的会碰到Silverlight无法调试的问题。我就遇到下面几种情
1. Web Application+Silverlight,F5进入调试状态之后无法跟进Silverlight中下的断点
项目中有两个Silverlight工程,其中一个Silverlight程序中有一个鼠标点击事件会将当前页面导航到另外一个Silverlight程
序的承载页面。第一个Silverlight程序断点正常,但是第二个Silverlight程序中的断点不能自动停下来
无论是在TestPage模式下调试还是在Web工程上调试,只要打开了Silverlight调试开关,那么启动的时候会提示“Unable to start debugging. Cannot locate Microsoft
Internet Explorer
”。如果你是直接Ctrl+F5运行,有时候也会出现一样的问题。
个Silverlight工程无法调试
对于第一个问题,请检查如下设置是否正确:
1. 确认启用了Silverlight调试
。双击Asp.Net工程中的属性文件夹打开属
性设置页,找到Web一栏,在此页卡的最下面有几个调试选项,如下图所示:
确认最后一项“Silverlight”之前的勾是勾上的。
确保浏览器访问的Xap包是最新的
。检查IE是否已经
清除了缓存,或者ClientBin中的Xap因为某些原因没能更新(如因配置管理导致无法覆盖)
3. 检查Asp.Net工程是否绑定了Silverlight应用
。可以通过
asp.net工程的属性面板中的Silverlight Application页卡查看是否绑定成功。如下:
<img style="border-width: 0 margin: 0 display:" title="Silverlight Applications Settings" src="/wp-content/uploads/2009/09/image_thumb.png" border="0" alt="Silverlight Applications
Settings" width="331" height="204">
4. 检查Silverlight工程的StartupObject是否设置正确
。有时候我
们对工程的命名空间进行重命名,会导致Silverlight应用程序的入口对象失效,从而导致无法启动等情况。
<img style="border-width: 0 margin: 0 display:" title="Silverlight Application Startup Object" src="/wp-content/uploads/2009/09/image_thumb1.png" border="0" alt="Silverlight
Application Startup Object" width="453" height="131">
IE8下无法同时调试多个Silverlight工程?!
和以往的IE不大一样,它的多标签是采用多进程的方式来实现的。整个窗口是一个框架进程,每个Tab标签页是一个独立的子进程(实际上,IE8会根据内存
动态控制Tab进程的数目,因此多个标签页可能会共存于同一个进程之中)。当你尝试在多个标签页中打开不同的Silverlight应用程序时,例如从
SilverlightApplication1中打开新页面到SilverlightApplication2页面,这个时候你会发
现,SilverlightApplication2应用程序无法调试。
这是因为,Visual
Studio除了启动窗口进程之外,不会自动帮我们Attach其他的包含Silverlight应用程序的进程,如果我们需要在多个标签页(或者多个窗
口)中同时调试不同的Silverlight应用程序,那么我们必须自己手动Attach这些进程
简单的例子,我有两个Silverlight工程,其中SilverlightApplication1中包含链接指向
SilverlightApplication2页面,点击链接会在新标签页中打开SilverlightApplication2的承载页面。
了Attach相应的进程,首先我们需要找到SilverlightApplication2承载页面对应的进程。打开ProcessExplorer,
我们可以看到三个进程。
其中的ID为4528的是父进程,也就是框架进程,用于管理不
同的标签进程之间的通信等事务。分别对应着两个标签页进程。至于哪个对应哪个我们在这里无法根据进程号确定。
我们再打开
Visual Studio中的Attach窗口(菜单=&Debug=&Attach to process…)
这里列出了所有系统可用的进程清单,我们可以看到三个IE进
程,其中一个是灰色的,这表示了这个进程已经被Attach到Visual
Studio的调试器上了。排除了框架进程4258外,就剩下5248这个进程了,这个进程就是我们要找的
SilverlightApplication2对应的承载页面的进程了。选中之后Attach到调试器上,我们发
现,SilverlightApplication2中的断点还是显示为空心红圈,依然无法调试。
这是因为我们指定的进程类型不正确。
我们注意到,上图中最上面有一个Attach to,后面显示的是Automatic,这个代表着Visual
Studio的调试器会自动帮我们选择进程的调试类型,例如是托管代码调试,还是脚本调试,等等。我们选中5248这个进程,发现Visual
Studio给我们选择的方式是脚本调试。
Studio中,脚本调试和Silverlight调试是不能共存的,这也就是为什么有时候你按下F5的时候,Visual
Studio会提示你,调试Silverlight程序会暂时关闭脚本调试的功能。因此在脚本调试下,我们无法跟进Silverlight应用程序的断
这里额外说一点,IE8高级选项中的禁用脚本调试设置对Visual Studio一点影响都没有,因为Visual Studio
2008在调试器启动的时候会自动启用脚本调试(可以通过注册表禁用此特性),除非在Web
Application属性中打开了Silverlight调试。
回到刚才的问题,由于Visual
Studio帮我们自动选择的调试类型有误,导致我们无法调试SilverlightApplication2,因此我们需要手动指定Attach类型。
点击Attach to后侧的select按钮。
在弹出的选择代码类型窗口中勾选上Silverlight。
确定之后再次Attach,我们发现,这一次,断点真的起作用了。
当然,如果这种方式比较麻烦的话,我们也可以通过改变IE8的Tab进程
创建方式来让不同标签页共存于一个进程中。在注册表HKEY_CURRENT_USER/Software/Microsoft/Internet
Explorer/Main下面有一个TabProcGrowth键值(DWORD类型),当其设置为0时,
IE框架和Tab工作在一个进程里面,Tab采用线程的方式创建,同时IE的保护模式(Protect
Mode)会关闭。TabProcGrowth=1时IE框架和Tab工作在不同的进程里面。TabProcGrowth&1时,此值将决定IE8
最多创建的Tab进程数目。如果TabProcGrowth 不存在,则会根据可用的物理内存数量决定Tab进程的数量。
调试时无法打开
IE窗口的问题
这个问题是我最近才遇到的,我也不知道为什么突然之间,我的Silverlight工程按下F5的时候无法调试,弹出下面
这个对话框:Unable to start debugging. Cannot locate Microsoft Internet
如果直接运行,那么能够打开,但是打开之后Visual
Studio还是会弹出一样的错误。
这个问题折腾了我半天,我尝试了重启电脑,重装
Silverlight Tools,新建干净的测试工程,修改系统和Visual Studio的默认浏览器(注意,系统和Visual
Studio的默认浏览器是独立设置的)均以失败告终。Google了很久,Silverlight官方论坛上倒是有不少帖子和这个相关的,但我细细看了
之后发现没有一个回帖能够解决我的问题的。有个发帖的家伙问题是解决了,但是不把怎么解决的说一下就跑了,强烈bs一下这种人!
话说回来,
我最后是怎么解决这个问题的呢,是用了Process
Monitor这个小工具(微软Sysinternal荣誉出品!)。之前有一次asp.net网站的GlobalError里头出现了一个“文件不存
在”的HTTPException,查了半天没查出来,后来使用这个工具监视了一下WebDevServ.exe进程之后发现该进程尝试去访问某个不存在
Monitor,可以监控当前系统中所有进程的活动,包括对文件系统的操作,读写注册表,网络访问以及线程活动等等,非常实用的调试维护工具。
打开这个工具,选择监视进程为devenv.exe。在Visual
Studio中F5开始调试,立即弹出出错对话框,OK,把PM暂停一下,否则条目太多了。
但是事件条目还是太多了,所以我把Result为
SUCCESS的条目过滤掉,因为我们只关注那些失败的条目。
然后对日志条目进行细致的排查,终于发现了问题根源:
原来Visual
Studio在调试或者运行的时候会去读取注册表中的HKLM/Software/Microsoft/Windows/CurrentVersion
/App Paths/iexplore.exe项,然后读取不到,因而才报那个错误。难怪提示Cannot locate Microsoft
internet explorer呢。
我打开regedit注册表编辑器,找到这个路径,然后把缺失的项加上去,重新回到Visual
Studio中F5,终于可以了,内牛满面~
希望我的解决方法能够给你一些启发,以后遇到类似莫名其妙的
问题,可以想到使用PM这个工具去排查问题。
更新了新的症状(F5调试的时候弹出cannot locate microsoft internet explorer的对话框)的解决办法。
&&&&推荐文章:
【上篇】【下篇】当前位置: →
→ VisualStudio调试技巧--AttachtoProcess
VisualStudio调试技巧--AttachtoProcess
& 作者及来源: 水無月 白 - 博客园 &
&收藏到→_→:
摘要: Visual Studio调试技巧 -- Attach to Process
"VisualStudio调试技巧--AttachtoProcess"::
本文系作者原创,但可随意转载。另:图中使用的ide为visual&studio 2013 rc 英文版。& & & &&& & & &一般写完代码时,我们通常会启动调试运行一下看看是否正确,启动运行的方式无非是f5-- start debugging 或 ctrl+f5-- start withour debugging(注:不同版本或系统环境不同时,快捷键或有所变化),如下图1。不用说大家都能感觉到,使用ctrl+f5调试时程序从启动到运行通常比使用f5快得多。使用ctrl+f5时通常是想快速运行一遍,以便检查程序运行的结果是否符合预期。使用f5时通常是想查看代码内部的运行情况,以便检查到底是哪一步出了问题,或者所有参数是否都正确。(当然,运行release版本的程序将比上述二者更快。那是因为在将源代码编译成il及机器码时加入了相应debug策略的优化代码,而使用f5调试加入了更多相应的优化代码,所以你才能进行单步调试以及使用断点。)
&&&&& & 假如你的代码只有一行打印输出&hello, world!",当然适用任何调试策略。。。&&&&& & 现在我们以一个大型的网站项目为例,在写完一段代码后,如果想通过启动运行来检查它的正确性,那么你不仅需要使用ide对其进行编译(链接)(即f5或ctrl+f5),还要将其部署到iis服务器上(vs已替你自动完成,这时候你的右下角任务栏内会出现相应图标,如图2)。相比编译(链接)完成就可以直接此文来自: 马开东博客
转载请注明出处 网址:
运行的程序来说,以目前的处理器还是可以明显的感觉到二者启动速度的不同。
&&&&& & 一般出现的两种情况是,若使用ctrl+f5进行调试,程序一旦运行起来,出现bug会弹出错误页面显示系统抛出的异常,但大多数情况下仅仅根据这一个页面往往无法断定到底是哪里出了问题,所以又要重新使用f5进行调试。但这种方法有一个优点就是即使 ,iis不会关闭,假如出现问题的是一段javascript代码,那么你只需要直接在代码上修改后保存,再在网页上刷新即可查看最新的调试结果,无需重新启动部署iis。&&&&& & 若使用f5进行调试,那么每次都必须重新启动部署iis,相当耗时,而程序在运行过程中一旦报错,ide会自动退出跟踪并关闭iis。而程序在出现问题的时候,往往不是一次两次f5就可以解决问题的,而且每次你重新运行又要重新操作一次需要预先进行的步骤,这耗费的时间真的让人蛋疼。好处就是你可以看到到底是哪里出了什么问题。还有一种需要使用f5进行调试的情况是,有时系统会抛出这样一些异常,不知是出于安全原因还是处于某此文来自: 马开东博客
转载请注明出处 网址:
种不为人知的原因,他会告诉你程序出现了错误,但具体错误请你查看innerexception,而这个innerexception是exception类的一个property,你只有通过ide找到这个exception并打开它的innerexception才能知道它到底出了什么问题。。。纠结。。。& & & & 使用attachtoprocess意味着将程序的运行和代码的跟踪分离。具体过程如下(以一个网站为例),&&&&&&&&首先我使用ctrl+f5将整个程序(网站)快速启动运行起来,对其进行操作,直到我希望对代码进行跟踪的地方,如图3。
&&&&& & 图3中,若我点击添加,将调用程序的post方法,对左侧选中的节点&烟气脱硫技术的适用性&添加一个名为&测试指标1&的子节点。&此时,由于我使用的是ctrl+f5,所以若我直接点击&添加&按钮,程序不会产生任何中断而是直接运行。这里我先将需要跟踪的代码打好断点,如图4。
&&&&& & 我把断点打在第106行,希望在一进入方法时就对代码进行跟踪,&然后选择"debug"菜单中的&attach to process"如上图1。然后,弹出选择菜单。如图5。&
&&&&& & 这里我选择的是名称为&iisexpress.exe"的进程,即图5中颜色加深的那一行。因为web项目的代码是部署到iis上的(具体是编译后部署dll等到iis上,还是直接部署源代码可能存在多种情况,您可以参考/zh-cn/cc437689关于web项目的编译和部署或其他资料进行深入研究)。点击attach之后,整个ide界面便进入跟踪调试模式,如图6.
&&&&&& & 此时我再点击网页上的&添加&按钮,即可从断点开始调试,如图7.
&&&&& & 如上图,断点被命中,方法确实传入了名称为我刚才输入的&测试指标1&的模型。如此,即可开始对代码进行跟踪,直到完成本次调试,即可以点击停止调试。注意:即使在跟踪的过程中程序出现bug无法继续运行下去需要退出,或者手动退出了调试,iis也不会关闭,对网站的运行不会产生任何影响。你只需要在需要调试的时候对iis进程使用attach to process功能即可。&
  具体使用时还有一些技巧,比如说,我ctrl+f5运行程序,运行到需要跟踪时,attach&to&process,结果发现需要改后台代码,此时关闭跟踪,修改后台代码后进行rebuild,此时不要关闭iis和浏览器,直接使用ctrl+f5,就省去了重启iis的步骤,也能节省相当的时间,只需要让程序重新部署,打开网页后,可以直接从上一个窗口需要跟踪的那一步直接进行attach to process开始操作。&&&&& & ps:关于调试时的窗口常用的是immediatewindow以及watch窗口,immediatewindow用来即搜索此文相关文章:此文来自: 马开东博客
网址: 站长QQ
VisualStudio调试技巧--AttachtoProcess_博客园相关文章
博客园_总排行榜
博客园_最新
博客园_月排行榜
博客园_周排行榜
博客园_日排行榜程序调试技巧 —— Attach to Process - MadFrog - 博客园
&按Ctrl+F5运行测试程序时,弹出一个错误窗口问你是要&#8220;终止、重试、忽略&#8221;,却没写出错的地方,让人很是郁闷。按F5进行调试,往往错误又不出现了。
对于这种出现概率较少的bug,当在运行时弹出那个对话框时可以先别急着选择那三个选项,点击visual studio菜单栏的debug-&Attach to Process,开始对进程调试。
而此时一般进程正处于running状态,无法进行调试,点击debug工具栏的暂停按钮,就是两条坚杠的那个,然后此时编辑器会显示出程序暂停的位置,也就是出错的位置。
而这个出错的位置一般都是库函数或系统内核函数,基本看不懂,但是别急,程序会停留在这些函数里,那一定是自己程序的某个地方调用到这个函数里,那么怎么找到这个自己程序里的函数呢。
点击菜单栏debug-&Windows-&Call Stack 在Call Stack调试区会从当前出错的函数逐级往上跟踪,一直到mian(),__tmainCRTStartup(),mainCRTStartup(),及kernel32.dll里面。那么自己程序中的函数就会紧接着main()函数。 OK,顺滕摸瓜找到那个函数,看看出了问题什么吧。4830人阅读
开始调试 VS 项目;附加到进程;中断代码;单步执行代码;运行到光标处;运行到调用堆栈上的函数;设置下一语句;单步执行“仅我的代码”;停止并重新开始调试;从调试的进程分离。
如果打开的解决方案是 Visual Studio,你有三种方法来开始调试:
选择“调试”、“启动调试”(键盘:F5)。
你的应用程序将启动然后运行,直到:
调试器到达断点。
在“调试”菜单上选择“停止调试”。
将引发异常。
退出应用程序。
选择“调试”、“单步执行”(键盘:F11)或“调试”、“逐过程”(键盘:F10)。
你的应用程序将启动,然后在第一行中断。
在源窗口中,选择执行代码中的某行,然后在上下文菜单上选择“运行到光标处”。
你的应用程序将启动,并一直运行到断点或光标位置,具体取决于断点在前还是光标在前。
调试期间,若要在代码映射上对你的代码执行进行可视化跟踪,请参阅。
调试器还可以附加到正在 Visual Studio 外的过程中运行的程序。&一旦附加到某个程序,就可以使用调试器执行命令、检查程序状态,等等。检查程序的能力可能会受到某些限制,这取决于程序是否用调试信息生成,是否可以访问程序源代码,以及公共语言运行时
JIT 编译器是否在跟踪调试信息。
附加到本地计算机上运行的进程
选择“调试”,“附加到进程”。&在“附加到进程”对话框中,从“可用进程”列表中选择进程,然后选择“附加”。
有关更多信息,请参见。
&|&&|&&|&|&&|&&|&
用 VS 调试器调试应用程序时,应用程序或者正在运行(执行)或处于中断模式。
当执行到达断点或发生异常时,调试器将中断应用程序的执行。&你还可以随时手动中断执行。
断点是一个信号,它通知调试器在某个特定点上暂时将应用程序执行挂起。&当执行在某个断点处挂起时,我们称程序处于中断模式。&进入中断模式并不会停止或结束程序的执行;执行可以在任何时候继续。
大多数调试器功能(例如,在本地窗口中查看变量&#20540;,或在“监视”窗口中计算表达式)仅在中断模式下可用。&应用程序的所有元素都将保留(例如,函数、变量和对象都保留在内存中),但其移动和活动将被挂起。&在中断模式下,你可以检查元素的位置和状态,以查看是否存在冲突或
Bug。&在中断模式下,你还可以对应用程序进行调整。
你可以配置断点,挂起基于多种情况的执行。&请参阅。&本节描述两种中断代码的基本方式。
在代码中设置断点
若要在代码中设置简单断点,请打开 Visual Studio 编辑器中的源文件。&设置光标要中断的代码行,然后在上下文菜单上选择“断点”、“插入断点”(键盘:F9)。&调试器将在执行该代码行之前中断执行。
Visual Studio 中的断点提供了一组丰富的附加功能,例如条件断点和跟踪点。&请参阅。
手动中断代码
若要在正在执行的应用程序上,中断下一个可用的代码行,请选择“调试”、“全部中断”(键盘:Ctrl&#43;Alt&#43;Break)。
如果使用“仅我的代码”选项进行调试,则可以在项目的下一个代码行中断执行。&请参阅。
如果正在调试多个程序,则默认情况下,断点或“全部中断”命令将影响所有被调试的程序。&请参阅。
如果中断正在执行的代码,而没有响应的源或符号 (.pdf) 文件,调试器将显示“未找到源文件”或“未找到符号”页面,帮助你找到相应的文件。&请参阅。
如果你无法访问支持文件,仍可以在“反汇编”窗口中调试汇编指令。
“单步执行”是最常见的调试过程之一。&“单步执行”即一次执行一行代码。&当你暂停执行时(例如运行调试器到断点),可以使用三个“调试”菜单命令来单步执行代码:
键盘快捷键
如果某一行包含函数调用,“逐语句”仅执行调用本身,然后在函数内的第一个代码行处停止。&否则,请“逐语句”执行下一语句。
如果某一行包含函数调用,则“逐过程”执行调用函数,然后在调用函数的第一个代码行处停止。&否则,请“逐语句”执行下一语句。
Shift&#43;F11
“跳出”将一直执行代码,直到函数返回,然后在调用函数中的返回点处中断。
在嵌套函数调用上,“逐语句”将进入并单步执行嵌套最深的函数。&如果对类&#20284;&Func1(Func2())&的调用使用“逐语句”,调试器将进入并单步执行函数&Func2。
实际上,调试器逐句通过代码语句,而不是物理行。&例如,if&子句可以写在一行内:
int x = 42;
string s = &Not answered&;
if( int x == 42) s = &Answered!&;
当你单步执行此行时,调试器将该条件视为一步,将结果视为另一步(在此示例中,条件为 true)。
若要在逐步执行函数的过程中,对调用堆栈进行可视化跟踪,请参阅。
有时,你想执行到代码中的某一点,然后停止执行。&如果在想要中断的位置设置了断点,请选择“调试”、“启动调试”,如果还未启动调试,可以选择“调试”、“继续”。&(这两种情况下的快捷键都是&F5。)&执行代码时,调试器将在下一个断点停止。&选择“调试”、“继续”,直至到达所需的断点。
你还可以运行到代码编辑器中光标停放的位置,或者运行到指定的函数。
运行到光标处
若要运行到光标位置,请将光标放在源窗口中可执行的代码行上。&在编辑器的上下文菜单上,选择“运行到光标”。
在调用堆栈上运行到函数
在“调用堆栈”窗口中,选择函数,然后从上下文菜单选择“运行到光标”。&若要对调用堆栈进行可视化跟踪,请参阅。
运行到通过名称指定的函数
可以命令调试器运行应用程序,直至到达指定的函数。&你可以通过名称指定函数,也可以从调用堆栈中选择函数。
若要通过名称指定函数,请选择“调试”、“新建断点”、“在函数处中断”,然后输入函数名称和其他标识信息。
如果是重载函数,或者函数在多个命名空间,你可以在“选择断点”对话框中选择想要的函数。
将调试器中断后,你可以移动执行点,设置下一个要执行的代码语句。&源窗口或“反汇编”窗口的空白区域中的黄色箭头标记要执行的下一条语句的位置。&通过移动此箭头,可以跳过部分代码或返回到以前执行过的行。&在某些情况下可以使用此方法,例如,跳过包含已知
bug 的代码段。
若要设置下一个执行的语句,请使用以下过程之一:
在源窗口中,将黄色箭头拖动希望执行下一语句的位置,该位置应在同一源文件。
在源窗口中,将光标放置在希望执行的下一行上,然后在上下文菜单上选择“设置下一语句”。
在“反汇编”窗口中,将光标放置在希望执行的下一汇编指令上,然后在上下文菜单上选择“设置下一语句”。
设置下一条语句将导致程序计数器直接跳到新位置。&使用此命令时要小心:
不执行旧执行点和新执行点之间的指令。
如果向后移动执行点,则不撤消插入的指令。
将下一条语句移动到另一个函数或范围通常会导致调用堆栈损坏,导致一个运行时错误或异常。&如果尝试将下一条语句移动到另一个范围,则调试器将打开一个含有警告的对话框,并提供一个取消该操作的机会。&在
Visual Basic 中,不能将下一条语句移动到另一个范围或函数。
在本机 C&#43;&#43; 中,如果已启用运行时检查,设置下一条语句会导致执行到达方法的结尾时引发异常。
当启用“编辑并继续”时,如果你进行了“编辑并继续”无法立即重新映射的编辑,那么“设置下一语句”将失败。&例如,如果你编辑了 catch 块中的代码,将发生这种情况。&出现这种情况时,&你将看到错误消息,告诉你操作不受支持。
在托管代码中,在以下情况下不能移动下一条语句:
下一条语句与当前语句不在同一个方法中。
使用实时调试启动调试。
正在展开一个调用堆栈。
已引发一个 System.StackOverflowException 或 System.Threading.ThreadAbortException 异常。
应用程序处于活动运行状态时不能设置下一条语句。&要设置下一语句,调试器必须处于中断模式。
有时,你在调试过程中可能只希望查看自己编写的代码,而忽略其他代码(如系统调用)。&为此,可以使用“仅我的代码”调试。&“仅我的代码”将隐藏非用户代码,从而使这些代码不出现在调试器窗口中。&单步执行时,调试器逐句通过所有非用户代码,但不在其中停止。&请参见
设备项目不支持“仅我的代码”。
如果你已加载系统代码的调试符号,且未启用“仅我的代码”,则可以单步执行系统调用,就像可以单步执行其他任何调用一样。
要了解如何禁用“仅我的代码”,请参阅
若要访问 Microsoft 符号文件,请参阅主题中的。
在调试时加载特定系统组件的符号:
打开“模块”窗口(键盘:Ctrl&#43;Alt&#43;U)。
选择要加载符号的模块。
查看“符号状态”列可以了解哪些模块加载了符号。
在上下文菜单中选择“加载符号”。
默认情况下,调试器将逐过程执行托管代码中的属性和运算符。&在多数情况下,这会提供较好的调试体验。&若要启用单步执行属性或运算符,请选择“调试”、“选项和设置”。&在“调试”、“常规”页面上,清除“逐过程执行属性和运算符(仅限托管)”复选框
停止调试意味着终止调试会话。&停止执行意味着终止正调试的进程并结束调试会话。&请勿与中断执行混淆,后者意味着暂停正在调试的进程的执行但调试会话仍处于活动状态。&从进程分离将停止调试进程,但进程仍会运行。
选择“调试”、“停止调试”,当程序从 Visual Studio 启动时,终止正在调试的进程。&如果程序附加到进程,而不是从
Visual Studio 启动,则该进程仍继续运行。
当你退出正在调试的应用时,调试将自动终止。
选择“调试”、“重新启动”,停止当前正在调试的会话并重新启动调试器中的启动项目。
选择“调试”、“全部分离”来停止调试,但被调试的进程仍保持运行。
请参阅和,了解有关使用 Visual Studio 附加到多个进程和控制多个进程的详细信息。
&&相关文章推荐
* 以上用户言论只代表其个人观点,不代表CSDN网站的观点或立场
访问:468385次
积分:5129
积分:5129
排名:第5150名
原创:67篇
转载:257篇
评论:32条
(3)(2)(1)(4)(2)(1)(3)(1)(2)(5)(3)(4)(4)(1)(4)(1)(5)(1)(9)(11)(1)(2)(2)(2)(4)(2)(6)(25)(21)(34)(9)(6)(4)(9)(6)(8)(13)(4)(9)(1)(1)(3)(1)(3)(2)(7)(23)(11)(23)(14)(3)西西软件园多重安全检测下载网站、值得信赖的软件下载站!
→ Unity3D自带MonoDevelop编辑器断点调试教程
v3.0 英文特别版
类型:编程工具大小:403.4M语言:英文 评分:6.7
断点调试功能可谓是程序员必备的功能了。Unity3D支持编写js和c#脚本,但很多人可能不知道,其实Unity3D也能对程序进行断点调试的。不过这个断点调试功能只限于使用Unity3D自带的MonoDevelop编辑器。而用是不行的。听说有个叫做UnityVS的东西可以使用VS对Unity进行断点Debug,不过没试过。好了,简单的说说做法吧:首先肯定是先要把脚本编辑器指定为MonoDevelop了。选择好之后,可以在项目面板右键选择Sync&MonoDevelop Project来打开MonoDevelop。因为需要有脚本才能对脚本进行调试,所以我写了个很简单的脚本,里面有两个按钮,按第一个“add”按钮的时候,程序会用一个循环的方式把从0到9的数加起来,然后累加给sum。按第二个按钮时,会把sum清零。&写好脚本之后,把脚本随便拖到场景的物体上面,我们准备调试了。在调试之前,我们需要把MonoDevelop和Unity3D进行连接。具体的连接方法有2种:第一种,先把当前场景保存一下,然后关掉Unity。回到MonoDevelop,按F5或者点击Debug按钮。这样,MonoDevelop会打开一个新的Unity3D界面,这时候连接完成了。第二种方法,无需关掉Unity,在MonoDevelop的Run菜单下选择Attach to Process&然后选择Unity的进程,点击Attach按钮。&这时候,MonoDevelop就连接上了Unity了。当连接好了Unity3D之后,右边的调试按钮就变成可用了,我们把视窗显示选择Debug。debug模式脚本下面的位置会多出两个窗口。&回到Unity,点击运行按钮,会看到刚才的脚本已经运行了。里面有两个按钮。&回到MonoDevelop,在脚本里面我们打一个断点(在行号左边点一下)&&然后回到Unity里面,点击第一个按钮“add”。这时候断点起作用了,程序会暂停,MonoDevelop跳到断点的行。留意看下面debug的Locals信息,会看到当前状态下的变量i和sum的值。使用调试按钮,让程序单步的运行我们看到了当前的变量i和sum的实际变化情况。到这里,断点调试已经完成。调试完之后,我建议最好把MonoDevelop和Unity3D的连接断开。假如你不断开的话,Unity会一直处于很卡的状态。断开的方法也是有几种了,首先对应Debug按钮有一个断开的按钮,可以直接点击断开。或者我们可以把刚才附加的进程Detach掉。&再或者,我们可以点击这个插头按钮,把Debugger 断开。这两种方法连接Unity,我建议还是使用第二种附加进程的方式吧。毕竟你不可能每次调试都要关掉一次Unity然后再从MonoDevelop打开一次Unity。所以,编写脚本的时候,把连接Detach掉,等需要调试的时候,再把进程Attach上去,进行调试就行了。
游戏制作游戏开发一般来说是一个大工程,对于很多国外的单机网游都是投资上亿美元的,那么对于个人来说制作游戏困难吗当然没那么容易,不过只要掌握了这些游戏制作软件,也会变的很简单了。游戏制作软件,顾名思义,就是可以制作游戏,自己喜欢玩的小游戏等,可以添加进游戏主题元素的软件工具,游戏制作是指一个电子游戏的制作过程。由于游戏的类型大小和要求,游戏制作需要的人员和时间也不一样。对于大型的游戏,一般需要几十个...
01-24 / 37.4M
推荐理由:橙光文字游戏制作工具是66RPG出的一款文字游戏制作软件,也是《彩虹文字游戏制作精灵》的第二个版本。这个软
02-15 / 335KB
推荐理由:2DFM是一款图形界面操作方式的2d格斗游戏制作软件,以其上手容易,操作简单,无需懂得代码即可制作出专业级
01-06 / 21.1M
推荐理由:RPG Maker XP 是由日本 Enterbrain 公司开发的一款 RPG 游戏制作软件。它可以使一个不懂编程的人也能做出精
03-04 / 15.9M
推荐理由:Game4You是一个免费的应用程序,允许你用你自己的照片创建第一人称游戏,并添加音频文件和文本。您可以自定
03-31 / 42.2M
推荐理由:3D电玩制作软件,可制作互动式3D游戏环境,然后编辑成单独的可执行程序可以分发销售。
功能:3DRad是一个易
01-04 / 1.5M
推荐理由:忆游横版游戏制作软件(以下简称忆游play)是一款国人个人独立开发允许使用者按自己意愿创建游戏而不需要任
11-1611-1311-1302-0202-0202-0101-2901-2701-2201-13
阅读本文后您有什么感想? 已有23人给出评价!
名称大小下载

我要回帖

更多关于 病毒性腹泻吃什么药 的文章

 

随机推荐