2000字范文,分享全网优秀范文,学习好帮手!
2000字范文 > asp.net core 错误定位 vs 远程调试部署在centos上的asp.net core程序

asp.net core 错误定位 vs 远程调试部署在centos上的asp.net core程序

时间:2022-08-04 18:43:45

相关推荐

asp.net core 错误定位  vs 远程调试部署在centos上的asp.net core程序

前言

程序运行中会出现各种BUG。 排除BUG有三种方式。

一、访问页面直接报错误信息

出于安全,服务器是关闭这个功能的。在centos上可以用 命令设置环境变量来解决: export ASPNETCORE_ENVIRONMENT=Development

二、console输出

console.WriteLine(" hello");

三、日志

使用组件 NLog.Web.AspNetCore 来实现 写入文件、console、db、email等

/NLog/NLog.Web/wiki/Getting-started-with--Core-2

三、远程调试

有时候必须在服务器上调试代码。比如做微信公众号开发,需要做一些url回调, 此时无法在开发电脑上做调试。所以远程调试代码就很有必要了。经过2个小时摸索,顺利实现。 (注意:用jexus时无法远程调试,因为jexus隐藏了dotnet进程,它把dotnet作为自己的子进程,所以无法附加dotnet进程.)

1.在vs中设置centos服务器ssh连接信息

菜单 工具-》选项 跨平台-- 连接管理器,如下图,添加ssh服务器

2.在centos服务器上安装unzip软件

调试器第一次附加程序时要下载一些zip格式的软件包,需要解压,因此要安装unzip

在centos上运行命令: yum install -y unzip zip

上面图书友情提示(粉丝价七折)

3.编译程序,上传服务器并运行

a.debug模式下编译程序,将程序dll文件和对应的.pdb文件上传到服务器。 (dll和pdb一定要是同时生成的,否则不匹配无法命中断点)

注意,.net core程序需要做一些修改:

1)https功能实现要在.net core程序内部实现

2)443端口启用也要指定

b. 终端执行 dotnet xxx.dll 运行程序

4.通过附加到进程实现远程调试

vs点菜单 调试-》附加到进程

选择dotnet进程,点附加

选managed,确定,此时vs就处于调试状态了,可以设一个断点。如果断点无法设置,可以看看输出窗口里的提示信息,根据提示信息一般可以解决问题。如果找不到原因,把centos上的dotnet程序重启一下,vs也重启一下再试

原文地址:/voiceangel/p/9733809.html

.NET社区新闻,深度好文,欢迎访问公众号文章汇总

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。