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 ...
随机推荐
- php sapi 产生core 文件
php sapi 产生core 文件 1) vim /usr/local/php7.1.6-debug/etc/php-fpm.conf rlimit_core = 0 改为 rlimit_core ...
- c语言数据结构学习心得——二叉树
二叉树 n(n>=0)个结点的有限集合:(五种形态) 1.或者为空二叉树,n=0: 2.或者由一个根结点和两个互不相交的被称为根的左子树和右子树组成.左子树和右子树又分别是一棵二叉树. 3.每个 ...
- 基本bash shell命令
以下列举一些常用的bash shell命令,在使用时方便查找. 访问Linux系统上的手册:man 命令.例:man ps 手册是由分页程序来显示的,可以通过点击 空格,回车,向上和向下箭头 ...
- leetcode-665-Non-decreasing Array
题目描述: Given an array with n integers, your task is to check if it could become non-decreasing by mod ...
- Linux Python import jenkins 报错 oserror: /usr/lib/python2.7/site-packages/lookup3.so
安装了jenkins和Python-jenkins后,在脚本中import jenkins会报错:oserror: /usr/lib/python2.7/site-packages/lookup3.s ...
- tp5 重定向缺少index.php报错(No input file specified)
转别人的,有用,Mark一下 public 下的.htaccess 修改为 <IfModule mod_rewrite.c> Options +FollowSymlinks -Multi ...
- rm: cannot remove `xxx’: Operation not permitted问题的处理方案
第一步:22.txt lsattr 22.txt 查看文件属性 看到的情况 -----a------- 第二步:去除a的属性 chattr -a 22.txt 第三步:在此执行删除 rm 22.txt
- python计算π及进度条显示
今天老师布置了一个课后作业,去尽可能的准确计算π的值,还要显示时间和进度条,对于python小白的我,当然是综合书上和网上的知识,自己做了一个小程序,代码如下: 一.写代码的准备工作:用pip下载第三 ...
- SpringBoot中使用Jackson导致Long型数据精度丢失问题
数据库中有一个bigint类型数据,对应java后台类型为Long型,在某个查询页面中碰到了问题:页面上显示的数据和数据库中的数据不一致.例如数据库中存储的是:1475797674679549851, ...
- Loadrunner—关联知识点
一.关联定义 把脚本中某些写死的数据,转变成是撷取自服务器所发送的.动态的.每次都不一样的数据 二.什么时候需要做关联 要想弄清这个问题,我们首先要知道客户端与服务器端的请求与响应的过程 过程说明: ...