如何使用vs调试.net framework代码 (二)(完)
文章列表: 如何使用vs调试.net framework代码 (一)
如何使用vs调试.net framework代码 (二)(完)
上回 二招让我们具备了调试和跟踪 底层框架代码的能力,但是我们经常要对付一些 "后台"运行的底层代码,这些代码并没有明显由我们的代码来调用,所以想定位它们,必须使用下面这招了.
招三: 函数断点调试法 , -->这个办法当然一样能调试自己写的代码,但对付第三方的代码更好用
1. 为了方便 断点的操作, 可以请出 vs的 断点管理窗, 通过菜单 调试-->窗口-->断点 可以打开它
2. 有两个路径可以创建 函数断点
a. 在vs菜单中 调试--> 新建断点-->函数断点
b. 在 断点管理窗口 新建-->函数断点
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
(不支持通配符)
4.中断效果
如果设置正确,就能中断在函数的第一条语句上
注意: 正如上一文所说, 有些变量的成员是拿不到值的, 这个我也不知道如何办
好了,不懂调试就不懂编程,希望大家玩得开心.