visual-studio-2010 - Visual Studio在其他电脑上远程上传调试

标签 visual-studio-2010 remote-debugging

有没有办法在另一台电脑上远程上传、运行和调试应用程序?

我知道您可以将 Visual Studio 远程调试器附加到远程计算机上运行的应用程序,但我正在寻找一种完全自动化的方法。

我正在构建一个家庭自动化系统,如果我能得到某种 visual studio 插件,让我在 VS 中按 F5,然后应用程序将正常构建并发送到我的,那就太棒了服务器 PC 并在那里运行(附带远程调试)。

问题是我的笔记本电脑没有我的服务器 PC 拥有的所有硬件。我可以手动将它连接到我的笔记本电脑,但老实说,这样做 2 - 3 次后会变得无聊......此外,串行端口名称和其他一些与硬件相关的东西在两台计算机之间是不同的。所以这意味着我对每个系统都有不同的配置。

最后但同样重要的是,我几乎可以称之为最重要的事情哈哈: 我不想躺在床上写代码,或者坐在客厅里吃披萨,同时调试我的家庭自动化。现在,我被 3 根 USB 电缆、一根音频电缆和一根连接电视的 HDMI 电缆绑在我的办公 table 上……有点乱。

存在远程调试...我们已经上传文件至少 10 年了...我们以前有过程序运行其他程序...请告诉我有人发明了这个系统!!!

顺便说一句。我可以通过 Teamviewer 与应用程序交互。我只是不想经历“F5 -> Teamviewer -> 在本地电脑上做事 -> 在远程电脑上做事 -> 测试软件 -> 查找错误 -> 重复”过程。

如果我可以登录并且程序已经启动并运行,那就太好了。此外,如果我可以让 STOP 按钮停止远程 PC 上的软件,那就太棒了,我什至可以考虑向实现它的人发送六瓶啤酒哈哈。

最佳答案

我不知道有这样的产品存在但是您可以做很多事情来使平凡的任务变得更加容易。

1) 将开始操作从 Start Project 更改为 Start External Program

enter image description here

run_remote_process.bat 中添加脚本

a) 将您的二进制文件复制到您的远程/服务器 PC
b) 使用 remcom在远程机器上启动您的进程

现在是编码位:将其添加到您的 Main 入口方法中:

public static void Main(string[] args)
{
    if(args.Any(arg=>arg=="debug"))
    {
        while (!Debugger.IsAttached)
        {
            Thread.Sleep(100);
        }
        Debugger.Break(); 
    }
}

确保在启动进程时传递 debug 参数。这将挂起您的进程,直到您附加到它。

现在您要做的就是使用 Visual Studio 附加到进程。您可以使用键盘快捷键快速执行此操作:

Alt-D, P (press enter) 然后按你进程的字母滚动到它 (Enter)

走吧!

不理想,但比许多手动步骤要好得多。

关于visual-studio-2010 - Visual Studio在其他电脑上远程上传调试,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11923695/

相关文章:

visual-studio - Visual Studio 2010 中的多监视器支持

wpf - 当图像包含多个图标时使用 VS2010 图像库

visual-studio-2010 - 在VS2010中使用Inconsolata

Qt Creator 远程调试器

c++ - 远程调试问题

visual-studio - 使用 VS2012 远程调试 Windows 服务

android - 如何使用 WebView 启用 WebKit 的 Android 应用程序远程调试/检查器?

c# - 尝试从 C++/CLI 调用非托管 C++ 时解决错误

visual-studio-2008 - 调试 NET Framework 源代码不可用

ubuntu - GDB 无法设置附加的 Visual Studio docker 上不允许的控制终端操作