前言
调试项目发布后的代码:分为两种一是在vs里面附加进程调试,二是使用dnspy反编译工具根据dll(程序集)文件进行项目调试。本文主要讲vs附加进程调试,下一章讲dnspy调试所遇到的问题。记录一下,以免后期用到。
一、环境
发布在iis上的net5.0项目,运行iis上发布的网站,使用visual studio进行网站调试。
二、问题
在之前 .NET Framework框架下面,调试已经发布的项目只需要附加到进程选择w3wp.exe 就可以了,又到后来的netcore2.1框架需要在附加到进程时候选择dotnet.exe。问题就出现在这儿,在我认为netcore2.1后面的版本都是附加到dotnet.exe 进程的时候,我的net5.0又不行了,要么找不到dotnet.exe ,要么是断点不执行,非常头大。。
三、解决办法
首先这是两个问题
1:因为之前没有想过调试发布的项目,所以在发布的时候选择了Release模式,这一步就是重新发布一下选择Debug模式。
2:就是不要选择所谓的dotnet.exe进程,我查了下官网资料,里面明确说明了在netcore3.1以后就是默认为w3wp.exe 进程了,tmd…
最后就进入断点了。
OK,到此问题就结束了。不过在vs里面调试项目的时候我又想到如果是客户那面的服务器上没有安装visual studio那我要怎么样才能调试远程服务器上的代码呢?
所以就花时间研究了一下dnspy反编译工具调试dll程序集。话毕,下一章来记录一下dnspy调试项目的步骤以及所遇到的问题。