asp.net core 错误定位 & vs2017 远程调试部署在centos上的asp.net core程序
前言
程序运行中会出现各种BUG。 排除BUG有三种方式。
一、访问页面直接报错误信息
出于安全,服务器是关闭这个功能的。在centos上可以用 命令设置环境变量来解决: export ASPNETCORE_ENVIRONMENT=Development
二、console输出
console.WriteLine(" hello");
三、日志
使用组件 NLog.Web.AspNetCore 来实现 写入文件、console、db、email等
https://github.com/NLog/NLog.Web/wiki/Getting-started-with-ASP.NET-Core-2
三、远程调试
有时候必须在服务器上调试代码。比如做微信公众号开发,需要做一些url回调, 此时无法在开发电脑上做调试。所以远程调试代码就很有必要了。经过2个小时摸索,顺利实现。 (注意:用jexus时无法远程调试,因为jexus隐藏了dotnet进程,它把dotnet作为自己的子进程,所以无法附加dotnet进程.)
1.在vs2017中设置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.通过附加到进程实现远程调试
vs2017点菜单 调试-》附加到进程
选择dotnet进程,点附加
选managed,确定,此时vs2017就处于调试状态了,可以设一个断点。如果断点无法设置,可以看看输出窗口里的提示信息,根据提示信息一般可以解决问题。如果找不到原因,把centos上的dotnet程序重启一下,vs2017也重启一下再试。
--------------------- 本文来自 soband_xiang 的CSDN 博客 ,全文地址请点击:https://blog.csdn.net/soband_xiang/article/details/82914195?utm_source=copy
asp.net core 错误定位 & vs2017 远程调试部署在centos上的asp.net core程序的更多相关文章
- 使用visual c++ 2005远程调试64位系统上32位与64位程序
一直都挺喜欢使用visual c++远程调试代码,它能展现给我们当时代码执行最真实的情景,今天有时间记录一下,以免以后忘了. 远程调试需要在被调试端安装服务器,对于visual c++ 2005来说调 ...
- VS2017 远程调试linux(centos).net core
第一步建立链接 Tools > Options > Cross Platform > Connection Manage 工具>选项>跨平台>连接管理器 第二步骤 ...
- VS2017 远程调试linux(centos).net core程序(通过附加程序的方式)
参考两位大神的帖子: https://blog.csdn.net/soband_xiang/article/details/82914195 https://blog.csdn.net/weixin_ ...
- VS2017 远程调试小记
VS2017 远程调试小记 支持windows\linux\macos, 直接连接项目点的上线版本代码进行调试.保证bug在同个环境下实时追踪. 注意点 双方的 msvsmon.exe版本需一致,最好 ...
- Visual Studio 调试系列12 远程调试部署在远程计算机IIS上的ASP.NET应用程序
系列目录 [已更新最新开发文章,点击查看详细] 要调试已部署到IIS的ASP.NET应用程序,请在部署应用程序的计算机上安装并运行远程工具,然后从Visual Studio附加到正在运行的应用 ...
- VS2017远程调试C#或 Visual Studio 中的 Visual Basic 项目
来源:远程调试C#或 Visual Studio 中的 Visual Basic 项目 若要调试已部署在另一台计算机的 Visual Studio 应用程序,安装和在其中部署您的应用程序的计算机上运行 ...
- vs2017远程调试
使用情景:服务器端程序出了问题,但本地开发环境又无法模拟.此时需要使用VS进行远程调试. 使用方法: 找到VS安装路径,将Remote Debuuger拷贝到服务器端 (注意一定要和你本地运行的VS版 ...
- Windows平台部署 Asp.Net Core 3.1.0,将 ASP.NET Core 应用发布到 IIS ,使用 IIS 在 Windows 上托管 ASP.NET Core
第一部分:本教程介绍如何在 IIS 服务器上托管 ASP.NET Core 应用. 官方文档地址:https://docs.microsoft.com/zh-cn/aspnet/core/tutori ...
- 1.6部署到CentOS「深入浅出ASP.NET Core系列」
希望给你3-5分钟的碎片化学习,可能是坐地铁.等公交,积少成多,水滴石穿,谢谢关注. 安装.NET Core 官方安装地址: https://www.microsoft.com/net/learn/d ...
随机推荐
- 2016级算法第四次上机-D.AlvinZH的1021实验plus
978 AlvinZH的1021实验plus 思路 贪心,中等题. 使用miss变量表示未覆盖的最小数字,初始值为1. 初始覆盖区间为[1,miss),目标是覆盖[1,m],即miss需要大于m. 需 ...
- jquery 实现动画效果(各种方法)
1.show()和hide()和toggle()(这是show和hide的一个综合,一个按钮就实现显示和隐藏) 效果: 代码: <button type="button" c ...
- Schema Workbench 启动慢
原始是JDBC连接设定的时候需要在参数中增加下列选项 FILTER_SCHEMA_LIST 官方的解释是 就是去搜寻连接数据库的所有的表结构,表越大越慢. 也要把这选项去除,保存数据库链接,并重新登录 ...
- Q467 环绕字符串中唯一的子字符串
把字符串 s 看作是"abcdefghijklmnopqrstuvwxyz"的无限环绕字符串,所以 s 看起来是这样的:"...zabcdefghijklmnopqrst ...
- 二分--POJ-3258
POJ-3258,二分 题目 Description Every year the cows hold an event featuring a peculiar version of hopscot ...
- js 面向对象 定时器 046
获取DOM对象补充 document.getElementsByTagName('div'); //获取的多个DOM对象 这种对象叫伪数组 如果想遍历此对象 通过for(var i=0; i < ...
- Windows下代替自带cmd的开源软件cmder
cmder cmder是一个增强型命令行工具,不仅可以使用windows下的所有命令,更爽的是可以使用linux的命令,shell命令 下载 Cmder官网 下载的时候,会有两个版本,分别是mini与 ...
- centos安装postgresql-rpm
rpm -ivh pgdg-centos93-9.3-3.noarch.rpm确认,回车,
- IO概念解析------同步异步阻塞非阻塞
各个IO Model的比较如图所示: 阻塞和非阻塞强调的是程序在等待调用结果(消息,返回值)时的状态. 阻塞调用是指调用结果返回之前,当前线程会被挂起.调用线程只有在得到结果之后才会返回.非阻塞调用 ...
- Java - 关于子类父类的向上转型,向下转型
以下Animal为父类,Dog,Cat作为子类,分别继承Animal class Animal{ public void shout(){ System.out.println("叫了一声& ...