.NET 法式榜样调试技能(一):快速定位异常的一些办法

发布时间:2017-06-10 10:00 来源:互联网 以后栏目:web技巧类

   这篇文章重要简介了.NET法式榜样调试技能(一):快速定位异常的一些办法,本文讲解了定位本机异常、在客户情况定位.net法式榜样异常两方面的内容,须要的同伙可以参考下

  作为一个法式榜样员,解BUG是我们任务中常做的任务,乃至可以说处理成绩才能是一小我任务才能的重要表现。由于这表现了一个法式榜样员的技巧程度、技巧深度、经历等等。

  那么在我们处理BUG的过程当中,定位成绩是异常重要的。有句话叫"发明成绩是处理成绩的一半。

  本文讲述就快速定位异常(专指.NET法式榜样异常)的办法。包含在本机定位异常,在客户情况定位.net法式榜样异常,在客户情况定位SilverLight异常。

  一:定位本机异常

  在我们本机定位异常很轻易。假定我们都是应用的的VisualStudio,那么只须要在调试->异常菜单中将Common Langeuage Runtime Exception(CLR异常)勾选。以下图:

  在下面的图片中可以发明有5种类型的异常,例如c++异常、win32异常等等。关于.NET法式榜样来讲我们只存眷CLR异常。

  接上去停止调试,当本身的法式榜样代码中有异常的时辰,VS就会主动定位到异常的地位。

  我们可以看到异常的详细信息,并且可在调用客栈窗口中看到 法式榜样的客栈信息。在客栈信息中我们可以看到在哪个类、哪个函数中出的错,以下图:

  调试法式榜样有两种方法,一种是用VS直接启动法式榜样,另外一种是附加到过程。

  附加到过程的时辰,法式榜样类型不要选错了,我应用的是.net4.0 所以法式榜样类型选择的是 托管(4.0版)代码。

  别的附加到过程有个快捷键是 Ctrl+Alt+P。

  然则假设异常不是你的代码中抛出的,那么若何定位呢?

  可以翻开 调试 菜单下面的 选项和设置,将 启用"仅我的代码" 这一

汗青人物故事[www.9-39.com/html/person/]
项撤消勾选。那么他人代码中的异常便可以抛出了。

  二:在客户情况定位 .net 法式榜样异常:

  我们的法式榜样最后都邑运转在客户的情况中,客户情况上不会有VS如许的开辟对象,那么怎样办呢?

  我们可以应用一个很小巧的敕令行调试对象Mdbg.exe,这个对象是装置VS的时辰附带装置的,仅能调试.net托管代码。

  Mdbg.exe其实有很多功能,不过本文只讲它定位异常的功能,后续文章会讲应用Mdbg.exe单步调试的办法。

  Mdbg.exe敕令详细简介可以 输入 h(help) 或许? 名来检查,也能够看下面的链接,

  http://msdn.microsoft.com/zh-cn/ms229861(vs.80).aspx#

  根据CLR版本的不消,Mdbg.exe也是有多个版本的。

  C:Program Files (x86)Microsoft SDKsWindowsv7.0ABinMdbg.exe用于调试

  CLR2.0(对应net2.0,3.0,3.5)法式榜样。

  C:Program Files (x86)Microsoft SDKsWindowsv7.0ABinNETFX 4.0 ToolsMdbg.exe用于调试CLR4.0法式榜样(对用.net4.0)。

  别的Mdbg.exe有一个依附DLL 叫做MdbgCore.dll。我们可以直接将照应版本的Mdbg.exe和MdbgCore.dll拷贝到客户机械上应用。

  没有装置VS的同伙可以拷贝我本身封装的一个装置包 http://xiazai.jb51.net/201506/other/U8DebugSetup.rar,这外面除Mdbg.exe还有一些其他组件我们前面的文章会用到。

  • 1、
  • 2、
  • 3、
  • 4、
  • 5、
  • 6、
  • 7、
  • 8、
  • 9、
  • 10、
  • 11、
  • 12、
  • 13、
  • 14、
  • 15、
  • 16、
  • 17、
  • 18、
  • 19、
  • 20、
  • 21、
  • 22、
  • 23、
  • 24、
  • 25、
  • 1、
  • 2、
  • 3、
  • 4、
  • 5、
  • 6、
  • 7、
  • 8、
  • 9、
  • 10、
  • 11、
  • 12、
  • 13、
  • 14、
  • 15、
  • 16、
  • 17、
  • 18、
  • 19、
  • 20、
  • 21、
  • 22、
  • 23、
  • 24、
  • 25、