在windows通过visual studio远程调试linux mono程序
本文参考文章 https://github.com/techl/MonoRemoteDebugger
1、通过连接https://github.com/techl/MonoRemoteDebugger下载MonoRemoteDebug,并在vs2015中打开
2、重新生成解决方案,期间可能出现nuget包丢失,请通过nuget修复所有引用,确保所有项目编译成功
3、打开项目根目录,依次打开目录Output/Debug/Extension,然后找到MonoRemoteDebugger.VSExtension这个文件,双击打开,然后安装

4、安装完成后,重启所有vs,查看菜单栏是否有MonoRemoteDebugger,如果没有,则安装失败

5、准备linux安装 mono远程调试的服务器端,执行以下命令
cd ~ wget https://github.com/techl/MonoRemoteDebugger/releases/download/v1.0.10/MonoRemoteDebugger.Server.zip unzip -d MonoRemoteDebugger.Server MonoRemoteDebugger.Server.zip cd MonoRemoteDebugger.Server mono MonoRemoteDebugger.Server.exe
6、新建控制台程序,加入测试代码,在开始位置加入断点,准备远程调试

7、编译完成后,点击菜单栏的MonoRemoteDebugger->Debug with mono (remote) 将弹出以下菜单
1)在Remote-IP输入你linux系统的IP
2)点击Connect开始调试

8、程序开始执行,并命中断点

9、按F10之后,程序执行到Console.ReadLine()这一行,继续按F10,程序阻塞,回到linux端,看到执行记录

10、看到程序输出当前ip,其实这个程序是在linux下运行的,已经不是在vs编译代码的机器上运行了
11、每次调试,调试插件都弹出一个连接服务器的窗口,我对这个插件源码进行了调整
把MonoRemoteDebugger.VSExtension.Views.ServersFound窗体的load事件中增加了如下代码
private void ServersFound_Loaded(object sender, RoutedEventArgs e)
{
string path = "c://MonoRemoteDebugger.DefaultIP.txt";
if (File.Exists(path))
{
string value = File.ReadAllText(path);
if (!string.IsNullOrEmpty(value))
{
this.TxtIP.Text = value;
Select(this.BtnConnect, e);
}
}
}
这样,我在c盘下新建MonoRemoteDebugger.DefaultIP.txt,里面写上服务器的ip,就不用每次调试都弹出这个窗口了,调试的时候,相对方便一点
在windows通过visual studio远程调试linux mono程序的更多相关文章
- 通过Windows Visual Studio远程调试WSL2中的.NET Core Linux应用程序
最近两天在Linux中调试.NET Core应用程序,同时我发现在Linux中调试.NET Core应用程序并不容易.一直习惯在Visual Studio中进行编码和调试.现在我想的是可以简单快速的测 ...
- Visual Studio远程调试监视器(MSVSMON.EXE)的32位版本不能用于调试64位进程或64位转储
在VS2013中调试Silverlight项目时,提示:无法附加.Visual Studio远程调试监视器(MSVSMON.EXE)的32位版本不能用于调试64位进程或64位转储.请改用64位版本. ...
- CLR调试报错“Visual Studio远程调试监视器 (MSVSMON.EXE) 的 64 位版本无法调试 32 位进程或 32 位转储。请改用 32 位版本”的解决
Win7 64位电脑上进行visual studio的数据库项目的CLR存储过程进行调试时,报错: ---------------------------Microsoft Visual Studio ...
- 在Chrome+Visual Studio中调试asp.net程序很慢的问题(Firefox也有类似问题)
在Chrome+Visual Studio中调试asp.net程序很慢的问题(Firefox也有类似问题) 今天开始起在Chrome中调试,发现问题主要出在菜单栏(layout文件)中,google了 ...
- Visual Studio远程调试
Visual Studio支持调试远程机器上的程序,经过简单设置后,就像调试本地代码一样方便. 第一步:将vs工具里的Remote Debugger文件夹拷贝到目标机器.大致的目录应该是:D:\Pro ...
- visual studio远程调试 remote debugger
下载远程debug工具: https://docs.microsoft.com/zh-cn/visualstudio/debugger/remote-debugging?view=vs-2015 或者 ...
- 无法在web服务器上启动调试。Microsoft Visual Studio 远程调试监视器(MSVSMON.EXE)似乎没有在远程计算机上运行,VS2012调试错误
1.重启(无用) 2.关闭防火墙(无用) 3.开启文件与打印机共享(无用) 4.无远程调试权限,改为本地调试.或者是IIS中此项目没有启动.或者没有在IIS中新建此项目.
- VS本地调试 Visual Studio远程调试监视器(MSVSMON.EXE)的32位版本不能用于调试64位进程或64位转储
vs2017 调试一致都没啥问题,今天莫名报这个错误,感觉好奇怪,网上搜索了半天也没解决,最后看着错误信息感觉很诡异,我本地调试你给我启动远程调试监测器干嘛,localhost也访问不了,ping了一 ...
- 使用Windows上的Eclipse 远程调试 linux下的Tomcat
1:修改Linux上Tomcat的catalina.sh,第一行添加declare -x CATALINA_OPTS="-Xdebug -Xrunjdwp:transport=dt_sock ...
随机推荐
- Qt中新建类构造函数的初始化参数列表
使用Qt-creator自动生成一个窗体应用程序时会自动创建一个新的类,我的程序中名为MyDialog,类的定义为: #ifndef MYDIALOG_H #define MYDIALOG_H #in ...
- gVim的pathogen
1.安装gVim 1.选择Full模式 2. 在vimfiles 文件夹下,会有许多空文件夹.将它们全删掉. 3.将vim74文件夹下的"autoload"文件夹 剪切 到 vim ...
- 利用JS实现购物网站商品放大镜效果
大家几乎都有在网上购物的经验,有的网站会有一个商品放大镜功能, 就是把鼠标移到图片上的时候,旁边会有另外一张大的图片展示,等同于 放大镜效果,那这样的效果怎样实现的呢,我把代码发给大家,请大家参考. ...
- Deepin -Android Studio-Genymotion 之旅
Deepin -Android Studio-Genymotion 之旅 暑假无聊中在deepin系统下配置好了android的开发环境,并使用了比较好的一款模拟器–Genymotion;下面是我配置 ...
- VerifyCodeUtil.java
package com.vcredit.framework.utils; import java.awt.Color;import java.awt.Font;import java.awt.Grap ...
- 【30集iCore3_ADP出厂源代码(ARM部分)讲解视频】30-1 前言
视频简介: 该视频介绍收到iCore3应用开发平台后如何获取出厂代码,以 及如何下载出厂代码到应用开发平台中. 源视频包下载地址: http://pan.baidu.com/s/1nuUZW17 ...
- MySQL主主复制+MMM实现高可用
架构图: 环境规划 角色 IP VIP 用途 DB1 192.168.56.101 192.168.56.111/113 主Master提供wirte+read DB2 192.168.56.102 ...
- C# 根据年月日获取星期几方法
#region 根据年月日计算星期几(Label2.Text=CaculateWeekDay(2004,12,9);) /// <summary> /// 根据年月日计算星期几(Label ...
- SQL UNION 和 UNION ALL 操作符\SQL SELECT INTO 语句\SQL CREATE DATABASE 语句
SQL UNION 操作符 UNION 操作符用于合并两个或多个 SELECT 语句的结果集. 请注意,UNION 内部的 SELECT 语句必须拥有相同数量的列.列也必须拥有相似的数据类型.同时,每 ...
- php 获取中文长度 截取中文字符串
#获取中文长度mb_strlen($str,$encoding); #截取中文字符串 mb_substr(str,start,length,encoding);