罗技|在 Visual Studio 中使用远程 MacOS 调试功能

罗技|在 Visual Studio 中使用远程 MacOS 调试功能

文章图片

罗技|在 Visual Studio 中使用远程 MacOS 调试功能

之前的一篇文章中 , 暴雪开发团队介绍了如何借助 Visual Studio 在 Linux 上调试C++ 应用程序 。 Microsoft Office 团队看了这篇博客文章后 , 他们和 C++ 团队取得了联系 。 他们也需要类似的工作流程 , 但目标操作系统是 MAC , 而不是Linux 。 C++ 团队与Office 工程师密切合作 , 将相同的底层技术带到了 MAC 平台 。

以下博客文章是与 Anthony Penniston 共同撰写的 , 他是一位与我们密切合作以提供此功能的开发工程师 。 谢谢你 , 安东尼!
开发团队简介Anthony 的 Office 团队致力于提供核心生产力功能 , 例如文档存储和同步、协作、预测智能、身份验证和单点登录 。 由于在 Microsoft Office 上工作的性质 , 该团队在他们交付的产品中非常注重跨平台 , 也因此 , 他们有时候会感受到很多独特的痛苦 。
具体来说 , 由于 Office 提供可扩展、可靠、响应迅速且跨平台的产品 , 因此团队必须使用多个不同的编译器和生成系统以 C++ 本机方式构建其产品 , 同时仍在统一代码库上运行 。 因此 , 他们所做的每个更改通常会影响多个平台上的同一产品 。
Office 团队如何完成工作?在与 C++ 团队合作开发适用于 MAC 的远程调试解决方案之前 , Office 团队希望深入了解 MAC 操作系统的特定行为 , 但也碰到了一些挑战 。 他们必须尝试从源代码和日志中猜测行为 , 或者安装 MAC 系统并学习如何使用 XCode 调试本机代码 。 此外 , 了解特定于平台的行为最终变得更加困难 , 因为团队的大部分成员主要具有 Windows 方面的专业知识和经验 。
这样的工作流程对于 Windows 工程师来说不切实际 。 结果 , 很多开发结点经常被推迟 , MAC 特定的问题通过不太理想的解决方法和多次反复试错的猜测来解决 。 到目前为止 , 这是推进其工作的一种徒劳无益的方式 。 对于许多 Windows 工程师来说 , 他们可能只需要短暂地了解 MAC 特定行为的一次性问题 , 能够使用熟悉的 Windows 工具是一个巨大的好处和节省时间 。
Office 团队真的希望继续在 Visual Studio 中进行开发以满足他们的所有需求 , 因为它具有行业标准和行业领先的工具的声誉 , 用于在 Windows 上开发和调试 C++ 应用程序 。 Visual Studio 通过一些方便的功能(如 IntelliSense、代码浏览和导航以及自动完成)帮助他们理解代码库 , 并快速将问题转化为答案 , 将想法转化为实现 。
由于 Microsoft Office 团队主要在 Windows 上开发 , 以及其他几个平台 , 因此需要大量投资才能熟练掌握其他工具生态系统 。 能够重用他们使用 Windows 工具构建的技能并将其应用于各个平台 , 这对工程师来说非常有价值 。 因此 , 当 Anthony 看到 C++ 团队开发的功能允许用户在 Visual Studio 中调试 Linux 上的 C++ 代码时 , 他非常兴奋地与团队联系并了解有关此功能如何适应 MAC 的更多信息 。
对远程 MAC 开发的支持Anthony 向 C++ 团队提出他的请求后 , C++ 工程师就能够与 Office 团队互动和协作 , 以生成一个原型 , 以满足他在 Visual Studio 中进行远程 MAC 开发的需求 。 这在几周内就完成了 。 由于 C++ 团队能够快速响应此请求 , 因此在为期一周的黑客马拉松结束时 , 他们已经能够向 Office 团队演示并提高对这一新产品工作的认识 。
在演示中 , 他们能够吸引许多其他 Office 工程师接受这个想法 , 这些工程师渴望看到更多 , 因此在这一年中 , C++ 团队继续与 Office 团队合作 , 进一步将体验完善为 Visual Studio 2022 中 LLDB 的开箱即用的远程调试功能 ,这不仅满足了团队的所有技术要求 , 并解决了所有给出的反馈 , 而且对于不熟悉工作流程的工程师来说也很容易入门 。