Loading

abp 调试

概要

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

 

Sourcelink or Symbol file(.pdb)

官网上文档介绍abp是支持SourceLink,但是按照官网配置是无法调试的,希望作者在下个版本中修复。

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

 

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, 例如:

 

 

 第四步 替换文件

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

"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.

posted @ 2017-07-11 16:19  GerryGe  阅读(1515)  评论(0编辑  收藏  举报