abp 调试

概要

研究Abp(ASP.NET Boilerplate)框架有几个月了,从一遍遍的看官方文档,到如今看源码,一路走来学习了不少知识。 不少新手都很关心源码如何调试,我也是如此,在反复看Debugging文档后仍是没法调试!通过反复研究学习,终于能够调试了,先看一下下面截图效果,下面我来按步骤来介绍如何调试abp源码:git

 

Sourcelink or Symbol file(.pdb)

官网上文档介绍abp是支持SourceLink,可是按照官网配置是没法调试的,但愿做者在下个版本中修复。github

程序数据库(.pdb)文件也叫Symbol file(符号文件)也能够用来调试,但不幸的是做者abp v2.1.3(包含) 以前发布的nuget 包中并未包含.pdb文件,能够查看Issuses #2133, v2.1.3版本以后做者应该会修复这个问题。shell

 

Symbol file(.pdb)如何调试

第一步 准备工做

首先说明准备工做,我所用的abp源码是v2.1.3,能够从github上获取,我使用的项目是官网提供的Event Cloud例子,也能够从github上获取,须要注意二者的abp版本号一致。数据库

 

第二步 调试配置

打开Debug -- Options框架

 

取消"Enable Just My Code",勾选"Enable source server support"和“Enbale source link support”,实际不须要勾选这么多,暂且先勾上吧。学习

 

点击Symbols选项,点击“Sepcify modules”,增长abp*.dll模块,这样明确指定模块能够增长加载速度。测试

 

第三步 准备Symbol文件

个人abp v2.1.3的源码路径为"D:\aspnetboilerplate",在cmd命令中执行powershell.exe -file "D:\aspnetboilerplate\nupkg\pack.ps1",就会编译好全部dll, 例如:调试

 

我在另外一台机器上执行上面cmd命令会报错,以下截图,我也没搞清楚为何,由于我根本不知道pack.ps1到底有啥用,哈哈,有大神能够指导下吗?因此我换了一种方式,直接打开abp工程,把模式调成Release,直接整个解决方案编译。server

 

 

 第四步 替换文件

从上一步编译后生成的目录中替换文件到咱们项目(Event Cloud)对应的目录中,例如:"D:\aspnetboilerplate\src\Abp\bin\Release\net46\Abp.pdb"到“D:\Projects\ABP\eventcloud-master\src\packages\Abp.2.1.3\lib\net46”;xml

"D:\aspnetboilerplate\src\Abp.Web.Api\bin\Release\net46\Abp.Web.Api.pdb"到“D:\Projects\ABP\eventcloud-master\src\packages\Abp.Web.Api.2.1.3\lib\net46”

须要调试什么源码拷贝对应的一套文件(dll,pdb,xml)到项目的对应packages中.

 

第五步 开始调试

点击调试,查看Output窗口查看咱们关心的abp*.dll的Symbol是否是加载成功了人,若是加载成功,咱们就能够F11调试abp源码了。有小伙伴说须要经过File -- Open -- File... 打开abp中对应源码文件加断点来调试,我测试下来,不打开也能够直接调试了.

 

总结

abp的后续版本应该能够直接调试了,此博客只为abp老版本提供一个workround.

相关文章
相关标签/搜索