ICode9

精准搜索请尝试: 精确搜索
首页 > 其他分享> 文章详细

.Net Core调试Liunx

2022-08-31 11:33:31  阅读:155  来源: 互联网

标签:Core liunx 连接 vs ssh Net net 调试 Liunx


场景:

  之前做.net core项目,只能本机调试测试完,发布后放在liunx上。但这个时候经常会因为环境问题,配置问题等,导致程序出现莫名其妙的bug,有的日志还记录的不完善,很难找到问题。

解决方法:

  主要还是看官方文档,之前尝试过liunx调试,但是没成功。这次看到微软更新了版本,甚至可以利用WSL,直接在windows下进行liunx环境调试。这wsl我还不是很理解,目前我理解为就是liunx的虚拟机,或者环境。

  准备调试:我的是vs 2019,需要修改发布时的配置,把断点信息放进去,就像gcc的-g,然后就可以用gdb调试一样。这点很重要

  工具->选项->调试->启用“仅我的代码”:不禁用的话,默认生成时会把debug的信息忽略掉。

 

   然后记得把模式改成Debug模式:(右键项目->属性->生成)

 

   然后就可以发布了,发布成文件夹,主要要看看文件夹下是不是包含dll文件和.pdb文件,这个pdb文件主要是调试所用的信息文件。

  发布完,去用dotnet xxxx.dll启动程序

  ssh连接远程服务器:调试->附加到进程,选择连接目标,连接成功后,可以看到进程信息,选择刚刚调试的进程,“附加”->托管,就可以了。

 

   看一下结果:这个情况就是在连接,并启用调试适配器(估计也是liunx上的一个调试器对liunx的.net进行调试,然后用ssh进行信号的传输,vs的继续执行,下一步等操作被解析成指令,传过去,再把结果传回来)

 

   断点命中:

 

   其实是之前在vscode调试liunx上的c++时,我发现c++调试贼丝滑,.net不应该这么拉才对,于是回来又研究了一下。果然是之前对调试,编译,连接,预处理等的理解不够。

参考:

  https://docs.microsoft.com/zh-cn/visualstudio/debugger/remote-debugging-dotnet-core-linux-with-ssh?view=vs-2022

  https://m.php.cn/article/456769.html

标签:Core,liunx,连接,vs,ssh,Net,net,调试,Liunx
来源: https://www.cnblogs.com/chenzibai/p/16642403.html

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有