时间:2014-03-31
在调试模式森中卜下运行程序时,并不仅仅是运行编写好的代码,调试程序包含了应用程序的符号信息,所以VS知道执行每行代码时发生了什么,符号信息意味着跟踪未编译代码中使用的变量名,这样,它们就可以匹配编译的机器码应用程序中现有的值,而机器码程序不包含人类易读的信息,这些信息包此穗含在.pdb文件中,这些文件位于计算机的Debug目录下,它们可以执行许多有用的 *** 作,包括:
1.给VS输出调试信息
2.在执行应用程序的过程中,查看变量的值
3.暂停程序,重新启动程序
4.在代码的某个位置自动暂停程序的执行
5.一次执行程序中的一行代码
6.在应用程序的培答执行过程中,监视变量内容的修改
7.在运行期间修改变量的内容
8.测试函数的调用
VSTS包含了Profiler,也经常见一些博客上用Profiler得到的数据郑陪进皮拿行性能分析,其中最著名的莫过于Rico Mariani的Performance Quiz系列了。使用VSTS的Profiler可以收集程序运行过燃丛搭程中每个方法的调用次数,所消耗的总时间等等,一目了然,但是我在使用过程中却出现了问题。例如就拿这篇文章来说,它详细分析了各种解析字符串的方式,最终用Profiler生成的Call Tree如下:然而,在我却只能收集到:看出区别来了不?我只能收集到我写的方法,或是我调用的.NET框架的方法,而我无法获得框架内部方法的调用情况。我搜索了各种资料,尝试了各种可以的选项,都没有效果。后来我又尝试了ANTS Profiler,效果也是一样(只能获得“公开情报”)。于是我怀疑是不是缺少pdb文件的缘故,于是根据Shawn Burke的文章设置了Symbol Server——没有效果。我不甘心,又使用NetMassDownloader下载了pdb文件和.NET Framework源代码,并在VS里进行了设置:其实可以得到这些结果:欢迎分享,转载请注明来源:内存溢出
评论列表(0条)