VS远程调试与附加调试
使用场景
假如你要开发的程序需要运行在独特的硬件上,比如:服务器,然而这个"独特的硬件"却不能给你装VS,这时候远程调试就登场了.
测试工具/环境一览
Key | Value |
---|---|
VS版本 | VS2017 |
被调试程序net框架版本 | 4.0 |
目标设备系统 | Win7 32位 |
目标设备IP | 168.5.16.42 |
我自己的ip | 192.168.11.106 |
如果远程机器没密码,需要配置这个
测试代码
static void Main(string[] args)
{
Console.WriteLine("等待调试器...");
//这个属性用来检测本程序是否被调试器附加,开头这一段一直循环,等待调试器附加上来再继续执行代码
while (!System.Diagnostics.Debugger.IsAttached)
{
System.Threading.Thread.Sleep(100);
}
Console.WriteLine("调试器连接成功!");
var a = 123;
var b = 222;
var c = a + b;
Console.WriteLine(c);
}
根据以上代码编译出程序
发送相关文件到目标设备
VS安装目录下有个远程调试文件夹,里面有多个版本,根据情况,选择一个,我这里选x86的...
然后是你要调试的程序文件,传输过去.
在目标设备,运行远程调试器
notice1:目标机器,是指被调试的机器,不是我们自己运行VS的机器
notice2:可能需要装net4.5与vc的一些运行库,如果运行不起来,尝试把net框架与vc运行库各个版本都装上试试.
在目标机器运行要调试的程序
在本机VS菜单打开附加调试的界面
1:首先输入远程ip和端口
2:输入要调试的程序名称
3:如果找不到,可以勾选左下角
4:选择程序,附加
如果对方面设备有密码,期间可能会让输入密码.如果没有密码,但是不管怎么试都失败,请参考上面配置安全选项.
断点成功
还可以看到变量内容:
其它细节
附加调试也能附加到本机进程
选择目标计算机的时候,默认本机计算机名称,不用改.
调试本机进程不用运行远程调试器.
可以让VS直接生成程序到远程设备
首先共享远程调试目录,给everyone读写权限:
在本机尝试打开
复制这个路径
粘贴到项目属性的这个地方
编译输出
成功!
调试也支持直接远程启动
不建议这么干,程序在使用AppDomain.CurrentDomain.BaseDirectory等方式获取启动路径的时候得到的会是远程路径:
"随笔"类型下的内容为原创,转载请注明来源. http://www.cnblogs.com/DragonStart/
分类:
C# ASP.NET
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· Linux系列:如何用 C#调用 C方法造成内存泄露
· AI与.NET技术实操系列(二):开始使用ML.NET
· 记一次.NET内存居高不下排查解决与启示
· 探究高空视频全景AR技术的实现原理
· 理解Rust引用及其生命周期标识(上)
· 阿里最新开源QwQ-32B,效果媲美deepseek-r1满血版,部署成本又又又降低了!
· 单线程的Redis速度为什么快?
· SQL Server 2025 AI相关能力初探
· 展开说说关于C#中ORM框架的用法!
· AI编程工具终极对决:字节Trae VS Cursor,谁才是开发者新宠?