如何使用vs调试.net framework代码 (二)(完)

      文章列表: 如何使用vs调试.net framework代码 (一)

                      如何使用vs调试.net framework代码 (二)(完)  

     上回 二招让我们具备了调试和跟踪 底层框架代码的能力,但是我们经常要对付一些 "后台"运行的底层代码,这些代码并没有明显由我们的代码来调用,所以想定位它们,必须使用下面这招了.

      招三:    函数断点调试法  , -->这个办法当然一样能调试自己写的代码,但对付第三方的代码更好用

         1. 为了方便 断点的操作, 可以请出 vs的 断点管理窗, 通过菜单 调试-->窗口-->断点 可以打开它

如何使用vs调试.net framework代码 (二)(完)

如何使用vs调试.net framework代码 (二)(完)


    2.  有两个路径可以创建 函数断点

           a.  在vs菜单中 调试-->   新建断点-->函数断点

           b. 在 断点管理窗口  新建-->函数断点

   如何使用vs调试.net framework代码 (二)(完)

3.  在新建窗口中 输入你希望 中断的函数名称 ,  例如: 上图的 GetRouteData

              提示:  至于函数名称写什么,你当然要预先查查资料啦, 你想查看的代码估计包含在哪个类的哪个函数里, 就把这个名写下来

                 可以填函数名 , 也可以包含类名和命名空间, 或通配符 ,如* 

                    以下示例可用: 

                            GetRouteData  _> 每个函数名为GetRouteData的方法第一句时中断 (本例可中断在  RouteCollection.GetRouteData和 Route.GetRouteData)

                            Route.GetRouteData --> 只中断在 Route.GetRouteData方法的第一句 (不中断在RouteCollection.GetRouteData下)

                            System.Web.Routing.Route.GetRouteData --->只中断在   System.Web.Routing.Route.GetRouteData  方法的第一句

                            Route.*  --->中断在每个Route类下的函数下

                            GetRoute* -->中断在每个函数名前缀为GetRoute*下,如 GetRoute, GetRouteData

                              (不支持通配符)

         如何使用vs调试.net framework代码 (二)(完)

如何使用vs调试.net framework代码 (二)(完)


  4.中断效果 

            如果设置正确,就能中断在函数的第一条语句上

    如何使用vs调试.net framework代码 (二)(完)

   

    注意:  正如上一文所说, 有些变量的成员是拿不到值的, 这个我也不知道如何办

           如何使用vs调试.net framework代码 (二)(完)


  好了,不懂调试就不懂编程,希望大家玩得开心.