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 ...
随机推荐
- 网络传输层之TCP/UDP详解
一.运输层协议概述 从通信和信息处理的角度看,运输层向它上面的应用层提供通信服务,它属于面向通信部分的最高层,同时也是用户功能中的最低层. 运输层的任务就是负责主机中两个进程之间的通信,其数据传输的单 ...
- java8特性之Lambda表达式
1.典型的用Lambda表达式的场景 如果有这样的一个小应用,其中的一个类Student包含姓名(name),性别(sex),分数(score),如下: package demo; public cl ...
- Angular--TypeScript finalize 方法
self._entityService .getAll() .pipe( finalize(() => { if (self.sheet && self.sheet.length ...
- 关于 IsLocalUrl 方法的注意事项
用于判断是否为本地url的方法 Url.IsLocalUrl() 的注意事项: 此方法是以判断传入的url字符串的开头是否为 "/" 为依据来判断是否为本地url,所以如果传入的u ...
- 换个角度看Salesforce之基础配置学习笔记(二)
1. 登录后无法使用Developer Console? 先找到当前登录用户的Profie,然后勾选Profile中的View All Data(Modify All Data)即可: 2. Pers ...
- [转] Hive函数大全
1.内置运算符 1.1关系运算符 运算符 类型 说明 A = B 所有原始类型 如果A与B相等,返回TRUE,否则返回FALSE A == B 无 失败,因为无效的语法. SQL使用”=”,不使用”= ...
- openstf安装手记
一款基于nodejs+jade模板开发的手机群控框架,你可以在此基础上拿来测试设备,或者群操作等等. 主要核心技术在于如何在不root的情况下实时流畅录屏,以及远程操作手机. 官方git https: ...
- [大数据入门]实战练习 安装Cloudera-Hadoop集群
实验环境规划 Hostname IP OS Roles Machine 0 elephant 192.168.124.131 Machine 1 tiger 192.168.124.132 ...
- springboot 上传图片与回显
在网上找了很多例子,不能完全契合自己的需求,自行整理了下.需求是这样的:项目小,所以不需要单独的图片服务器,图片保存在服务器中任意的地方,并且可以通过访问服务器来获取图片.话不多说上代码: 1.依赖 ...
- PHP面向对象的基本原则
对象内部是高内聚的 ——对象只负责一项特定的功能(职能可大可小) ——所有对象相关的内容都封装到对象内部 高内聚就是该有的都有,用的时候不会缺胳膊少腿! 对象对外是低耦合的 ——外部世界可以看到对象的 ...