 闽公网安备 35020302035485号
                
                闽公网安备 35020302035485号
                最近在做的项目上做了一些性能优化的工作,用到了 Visual Studio 远程调试,所以本篇文章整理一下远程调试技巧。
首先,了解一下 Visual Studio远程调试是什么?

3.设置远程调试器[1],这是最重要的一环,远程调试器是跟随 Visula Studio 安装时一同安装的,若要远程调试的计算机安装了 Visula Studio, 可以直接找到他启动,若要远程的调试的计算机是纯净环境,那么可以通过设置文件共享[1],将本机的远程调试器共享以便调试,另外如果要远程调试的计算机是服务器,你需要经常进行这样的远程调试,则可以将远程调试器配置为服务[1]。
	
using System;
using System.Management;
using System.Text;
class Program
{
    static void Main()
    {
        //回车后开始输出,便于等待远程调试接入
        Console.ReadLine();
        StringBuilder sb = new StringBuilder();
        sb.AppendLine("计算机基本信息:\n");
         // 堆代码 duidaima.com
        // 获取操作系统信息
        sb.AppendLine("操作系统信息:");
        var osQuery = new ManagementObjectSearcher("SELECT * FROM Win32_OperatingSystem");
        foreach (var os in osQuery.Get())
        {
            sb.AppendLine($"名称: {os["Caption"]}");
            sb.AppendLine($"版本: {os["Version"]}");
            sb.AppendLine($"制造商: {os["Manufacturer"]}");
            sb.AppendLine($"计算机名: {os["CSName"]}");
        }
        sb.AppendLine();
        // 获取处理器信息
        sb.AppendLine("处理器信息:");
        var cpuQuery = new ManagementObjectSearcher("SELECT * FROM Win32_Processor");
        foreach (var cpu in cpuQuery.Get())
        {
            sb.AppendLine($"名称: {cpu["Name"]}");
            sb.AppendLine($"制造商: {cpu["Manufacturer"]}");
            sb.AppendLine($"描述: {cpu["Description"]}");
        }
        sb.AppendLine();
        // 获取内存信息
        sb.AppendLine("内存信息:");
        var memQuery = new ManagementObjectSearcher("SELECT * FROM Win32_PhysicalMemory");
        foreach (var mem in memQuery.Get())
        {
            sb.AppendLine($"容量: {Math.Round(Convert.ToDouble(mem["Capacity"]) / (1024 * 1024 * 1024), 2)} GB");
            sb.AppendLine($"速度: {mem["Speed"]} MHz");
        }
        var str= sb.ToString();
        Console.Write(str);
        Console.ReadLine();
    }
}
然后在本机 Debug 一下看一下本机的信息:

C:\Program Files\Microsoft Visual Studio\2022\Professional\Common7\IDE\Remote Debugger\x64msvsmon.exe C:\Program Files\Microsoft Visual Studio\2022\Professional\Common7\IDE\Remote Debugger\x86\msvsmon.exe但是,一般我们都不会在发布计算机或者服务器上安装调试环境,所以还有第二种方式,以文件共享的方式,将当前开发环境电脑的远程调试器共享给发布计算机或者服务器。具体如何设置共享文件夹就不在这里赘述了,我这里使用 MobaXterm 远程过去后自动添加了C盘的共享,可以直接使用。


4.勾选显示所有用户的进程,防止找不到目标进程。
	 

参考链接
	[1] Visual studio (windows)远程调试 --- https://learn.microsoft.com/zh-cn/visualstudio/debugger/remote-debugging?view=vs-2022
[2] 调试程序中的符号(.pdb)和源文件 --- https://learn.microsoft.com/zh-cn/visualstudio/debugger/specify-symbol-dot-pdb-and-source-files-in-the-visual-studio-debugger?view=vs-2022
[3] 远程调试c#项目 --- https://learn.microsoft.com/zh-cn/visualstudio/debugger/remote-debugging-csharp?view=vs-2022
