asp.net core 错误定位 vs2017 远程调试部署在centos上的asp.net core程序
? ? 前言
? ? ?程序運(yùn)行中會(huì)出現(xiàn)各種BUG。 排除BUG有三種方式。
一、訪問(wèn)頁(yè)面直接報(bào)錯(cuò)誤信息
? ? ?出于安全,服務(wù)器是關(guān)閉這個(gè)功能的。在centos上可以用 命令設(shè)置環(huán)境變量來(lái)解決:? ?export ASPNETCORE_ENVIRONMENT=Development
二、console輸出
? ?console.WriteLine(" hello");
三、日志
? 使用組件 NLog.Web.AspNetCore 來(lái)實(shí)現(xiàn) 寫(xiě)入文件、console、db、email等?
??https://github.com/NLog/NLog.Web/wiki/Getting-started-with-ASP.NET-Core-2
三、遠(yuǎn)程調(diào)試
?有時(shí)候必須在服務(wù)器上調(diào)試代碼。比如做微信公眾號(hào)開(kāi)發(fā),需要做一些url回調(diào), 此時(shí)無(wú)法在開(kāi)發(fā)電腦上做調(diào)試。所以遠(yuǎn)程調(diào)試代碼就很有必要了。經(jīng)過(guò)2個(gè)小時(shí)摸索,順利實(shí)現(xiàn)。 (注意:用jexus時(shí)無(wú)法遠(yuǎn)程調(diào)試,因?yàn)閖exus隱藏了dotnet進(jìn)程,它把dotnet作為自己的子進(jìn)程,所以無(wú)法附加dotnet進(jìn)程.)
1.在vs2017中設(shè)置centos服務(wù)器ssh連接信息
? ? ?菜單 工具-》選項(xiàng)? ? 跨平臺(tái)-- 連接管理器,如下圖,添加ssh服務(wù)器
2.在centos服務(wù)器上安裝unzip軟件
? ?調(diào)試器第一次附加程序時(shí)要下載一些zip格式的軟件包,需要解壓,因此要安裝unzip
? ? 在centos上運(yùn)行命令: yum install -y unzip zip
上面圖書(shū)友情提示(粉絲價(jià)七折)3.編譯程序,上傳服務(wù)器并運(yùn)行
? a.?debug模式下編譯程序,將程序dll文件和對(duì)應(yīng)的.pdb文件上傳到服務(wù)器。? (dll和pdb一定要是同時(shí)生成的,否則不匹配無(wú)法命中斷點(diǎn))
? ? ? 注意,.net core程序需要做一些修改:
? ? ?1)https功能實(shí)現(xiàn)要在.net core程序內(nèi)部實(shí)現(xiàn)
? ? ?2)443端口啟用也要指定
? b. 終端執(zhí)行 dotnet xxx.dll 運(yùn)行程序
?4.通過(guò)附加到進(jìn)程實(shí)現(xiàn)遠(yuǎn)程調(diào)試
???vs2017點(diǎn)菜單? 調(diào)試-》附加到進(jìn)程
選擇dotnet進(jìn)程,點(diǎn)附加
選managed,確定,此時(shí)vs2017就處于調(diào)試狀態(tài)了,可以設(shè)一個(gè)斷點(diǎn)。如果斷點(diǎn)無(wú)法設(shè)置,可以看看輸出窗口里的提示信息,根據(jù)提示信息一般可以解決問(wèn)題。如果找不到原因,把centos上的dotnet程序重啟一下,vs2017也重啟一下再試
原文地址:https://www.cnblogs.com/voiceangel/p/9733809.html
.NET社區(qū)新聞,深度好文,歡迎訪問(wèn)公眾號(hào)文章匯總 http://www.csharpkit.com
總結(jié)
以上是生活随笔為你收集整理的asp.net core 错误定位 vs2017 远程调试部署在centos上的asp.net core程序的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: 确认过眼神,你是ApacheWay的人
- 下一篇: asp.net ajax控件工具集 Au