zoukankan      html  css  js  c++  java
  • 使用 SSH 在 Linux 上远程调试 .NET Core 实例 演示

    必备条件

    在 Visual Studio 计算机上,需要安装ASP.NET 和 web 开发工作负荷或 .net Core 跨平台开发工作负荷。

    在 Linux 服务器上,需要安装 SSH 服务器,并将其解压缩,并安装 wget。 例如,在 Ubuntu 上,可以通过运行以下内容来实现此目的:

    sudo apt-get install openssh-server unzip curl
    
    yum install openssh-server

    生成并部署应用程序

    准备应用程序以进行调试:

    • 请考虑在生成应用程序时使用调试配置。 调试零售编译的代码(发布配置)比调试编译的代码更难。 如果需要使用 Release 配置,请先禁用仅我的代码。 若要禁用此设置,请选择 "工具" > 选项" > 调试",然后取消选中 "启用仅我的代码"。

    • 请确保将项目配置为生成可移植的 pdb (这是默认设置),并确保 PBD 与 DLL 位于同一位置。 若要在 Visual Studio 中配置此项,请右键单击该项目,然后选择 "属性" > 生成 > 高级 > 调试信息"。

    在调试之前,可以使用多种方法来部署应用。 例如,你能够:

    • 将源复制到目标计算机,并在 Linux 计算机上生成 dotnet build

    • 在 Windows 上生成应用程序,并将生成项目传输到 Linux 计算机。 (生成项目由应用程序本身、它可能依赖的任何运行库以及 .deps.json文件组成。)

    附加调试器

    配置计算机后,在 Linux 计算机上启动该应用程序,然后便可以附加该调试器。

    1. 在 Visual Studio 中,选择 "调试" > "附加到进程 ... "。

    2. 在 "连接类型" 列表中,选择 " SSH"。

    3. 将连接目标更改为目标计算机的 IP 地址或主机名。

    4. 查找要调试的进程。

      你的代码在唯一进程名称或名为 dotnet 的进程中运行。 若要查找你感兴趣的进程,请检查 " Title " 列,其中显示了该进程的命令行参数。

      在下面的示例中,将在 "附加到进程" 对话框中显示的 SSH 传输上看到远程 Linux 计算机上的进程列表。

    5. 选择 “附加” 。

    6. 在出现的对话框中,选择要调试的代码类型。 选择 "托管(.Net Core For Unix) "。

    7. 使用 Visual Studio 调试功能来调试应用程序。

      在下面的示例中,你将看到 Visual Studio 调试器在远程 Linux 计算机上运行的代码的断点处停止。

    改造程序我这里用的是控制台这块方便附加时间等待

    发布

     这些文件考进linux(linux 需要安装 netcore环境 )下面是CenterOS 安装方法

    其他系统参考这个官方文档

    https://docs.microsoft.com/zh-cn/dotnet/core/install/linux-package-manager-ubuntu-1910

    sudo rpm -Uvh https://packages.microsoft.com/config/centos/7/packages-microsoft-prod.rpm
    sudo yum install aspnetcore-runtime-3.1
    sudo yum install dotnet-runtime-3.1

     运行

    dotnet test.dll

    这里会暂停住 我们开始远程连接

     

    打开 vs 

     https://docs.microsoft.com/zh-cn/visualstudio/debugger/remote-debugging?f1url=https%3A%2F%2Fmsdn.microsoft.com%2Fquery%2Fdev16.query%3FappId%3DDev16IDEF1%26l%3DZH-CN%26k%3Dk(vs.debug.remote.overview)%26rd%3Dtrue&view=vs-2019

    这个连接需要下载安装

     有时点击查找无法发现 linux (此处很坑)我弄了很久很久很久。。。。。后来发现 不要点击查找

    返回 点击 刷新

     

     然后 返回 shell 回车

    进入断点 调试开始。

  • 相关阅读:
    用栈实现队列
    “非常规”的漏洞挖掘思路与技巧-请求参数加密,js接口- 漏洞定级评分的标准与关注点-违规测试标准详解
    【linux 文件管理】2-文件目录命令
    EHC
    kali linux高级渗透测试第七课
    maltego CE社区版-Domain与DNS name
    name servers-域名服务器
    【linux 文件管理】1-文件目录结构
    web应用安全自学指南
    kali linux高级渗透测试第六课
  • 原文地址:https://www.cnblogs.com/mrguoguo/p/12661492.html
Copyright © 2011-2022 走看看