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也重启一下再试
原文地址:https://www.cnblogs.com/voiceangel/p/9733809.html
.NET社区新闻,深度好文,欢迎访问公众号文章汇总 http://www.csharpkit.com
asp.net core 错误定位 vs2017 远程调试部署在centos上的asp.net core程序相关推荐
- 用Eclipse远程调试部署在Tomcat下的Web应用程序
今天同事告诉了我一个用Eclipse远程调试部署在Tomcat下的Web应用程序的方法: 安装解压版本的Tomcat,因为现在好像Tomcat的Windows安装版目录下没有catalina.sh(. ...
- Vs2017远程调试图文教程(以及避坑点)
前言: 做为一个程序员, 必备的技能就是代码调试了,但是你们真的掌握了VS 的调试吗? 接下我要讲的是VS 远程调试服务器上IIS 的代码.有些时候由于线上环境和本地环境的差异, 导致本地可以运行, ...
- VS2017远程调试详解(内网、外网)
远程调试可分为:附加到进程与远程Windows调试器两种方式 两种方式区别可简单理解为: (1)附加到进程:需将本地编译完成后的exe与相关dll拷贝至目标电脑:此方式前提被调试软件可正常打开 (2) ...
- VS2017远程调试LattePanda(C#)
缘由 LattePanda 是一块信用卡大小的运行Win10系统的开发板,并且集成了一块Arduino Leonardo单片机,可以外拓各种传感器模块.在重新安装了精简Win10系统后占用磁盘6G多空 ...
- 如何用Visual Studio Code远程调试运行在服务器上的nodejs应用
假设我有一个nodejs应用,运行在AWS - 亚马逊云平台上(Amazone Web Service).我想用本地的Visual Studio Code来远程调试服务器端的nodejs应用. Vis ...
- 如何远程调试部署在CloudFoundry平台上的nodejs应用
网络上关于如何本地调试nodejs应用的教程已经很多了,工具有Chrome开发者工具,Visual Studio Code,和nodejs周边的一些小工具等等. 在实际情况中,我们可能遇到本地运行良好 ...
- 远程调试运行在Resin上面的Web应用程序
为什么80%的码农都做不了架构师?>>> 有时候,我们不得不放弃在本地调试我们的程序,把我们的程序先布署到服务器,然后把调试信息都记在日志中,用眼睛瞅日志来调试程序. 不是用这 ...
- tomcat mysql报错日志在哪_mysql 中记录用户登录错误日志...-Tomcat远程调试-java书上小例子6_169IT.COM...
接口: java不支持多继承性,即一个类只能有一个父类,单继承性使得java简单,易于管理程序,为了克服单继承的缺点,java使用接口,一个类可以使用多个接口 使用 interface来定义接口 接 ...
- VS2017远程调试 windows 对 windows
https://blog.csdn.net/dybb8999/article/details/72625062 https://blog.csdn.net/u013600225/article/det ...
最新文章
- plsql developer导出csv乱码问题
- 苹果电脑macbook怎样强制关闭软件
- tableau可视化数据分析60讲(二)-tableau入门篇之各模块功能介绍
- pwm一个时间单位_RK3308——RGB调色灯三路PWM驱动
- 千亿级的数据难题,优酷工程师怎么解决?
- hibernate saveorupdate mysql_Mysql数据库 hibernate保存数据时,Mysql主键需设定自增,否则报错_MySQL...
- 前端html面试题及答案2019,前端面试题及答案2019-20210415034948.docx-原创力文档
- 关于Java String对象创建问题解惑
- Eclipse导出WAR包
- vim的异常退出处理
- Farkas'Lemma 和 S-Lemma
- 第14届军警狙击手世界杯:中国队包揽全部冠军
- 【面试宝典】Mysql面试题大全
- 再见2019,你好2020,属(鼠)于我的年华
- 72 ----直纹面、二次直纹面、单叶双曲面、双曲抛物面
- js中for-in的用法
- PIP 更换国内安装源
- winmail的安装及使用说明流程
- 2018春招便利蜂--你的准备永远不能覆盖面试官的提问
- Intel Boot Agent BIOS image utility - IBABUILD .