记一次 .NET 程序的性能优化实战(4)—— .NET 源码查看及使用 vs 调试
原总结工具调试dotNETpart4regex正则表达式vsdnspy
前言
在前面三篇文章中应该已经把 .NET
中正则表达式相关的问题"格尽"了。感兴趣的小伙伴儿可以参考 part1,part2 和 part3。由于篇幅原因,在前面的文章中并没有介绍如何下载 .NET
源码,如何调试 .NET
源码。本文会简单介绍如何下载 .NET
源码,如何在线浏览 .NET
源码,如何使用 vs
调试 .NET
下载 .NET 源码
微软提供了一个非常棒的可以在线浏览 .NET 源码的网站,不仅可以在线浏览(体验不错),还可以下载到本地。点击右上角的 Download
按钮即可列出可供下载的各个版本的 .NET
拿到源码后可以直接打开工程文件(Source\ndp.sln
)浏览代码,相当方便。虽然有源码可以参考,对理解 Regex
说明: 虽然有工程文件,能浏览代码,但是不能成功编译。
调试工具选择
根据之前的调试经验,调试 .NET
dnSpy
- 真算的上是
.NET
- 逆向神器。可以在没有符号文件的情况下进行源码级的调试,绿色免安装,使用习惯与
vs
- 基本一致。
Github
- 对应的地址在这里。
visual studio
- 宇宙第一
IDE
- ,调试
.NET
- 程序是非常给力的。虽然在调试没有符号文件的模块时不能像
dnSpy
- 那样进行源码级的调试,但是也可以使用 .net reflactor 等插件帮助解决。
windbg
- 虽然
windbg
- 也可以在
sos.dll
- 等扩展的帮助下很好的调试
.NET
- 程序。但是我更倾向于使用
windbg
本文只介绍使用 vs
调试 .NET
vs 调试设置
- 设置调试符号路径
经常调试的小伙伴儿肯定知道
pdb
- 对调试的重要性。我觉得,在
windows
- 下做调试,第一件应该做的事就是设置好调试符号路径。所以我的电脑上总会设置环境变量
_NT_SYMBOL_PATH
- 。对应的值如下:
_NT_SYMBOL_PATH=SRV*d:\My\mssyms*http://msdl.microsoft.com/download/symbols*
- 表示会从
d:\My\mssyms\
- 这查找调试符号,如果找不到会到微软官方符号服务器上下载,并缓存到
d:\My\mssyms\
- 如果没设置过此环境变量也没关系,可以到对应的调试器中进行设置,在
vs
- 设置获取源码
调试
.NET
- 源码需要进行设置,整体设置也比较简单。点击
调试(D) -> 选项和设置(G)...
- 弹出选项界面,选择
调试 -> 常规
- ,然后按下图设置即可。
说明: 如果 vs
调试 .NET
总结
- 微软提供了一个非常棒的可以在线浏览 .NET 源码的网站。
- 可以使用
dnSpy
- 或者
vs
- (需要设置)调试
.NET
参考资料
.NET源码
欢迎各位小伙伴指出不足,提出建议!感谢关注我的博客:)
作 者:编程难
码云博客:https://bianchengnan.gitee.io
github博客:https://bianchengnan.github.io
版权所有,转载请保留原文链接:)