C++|使用Visual Studio进行远程macOS C++开发( 二 )




在 Visual Studio 创建连接后 , 它可以用作 CMakeSettings.json 或 CMakePresets.json 配置中的 CMake 目标 。下面我将介绍如何使用 CMakePresets.json 设置一个新的 CMake 项目 。
一个CMake工程的例子1. 由于我们在这个例子中使用到了”CMake presets” , 因此首先确保Visual Studio 安装中启用了CMakePresets , 可以到 工具 > 选项 > CMake > 常规设置中选中“始终使用CMakePresets.json”这个选项 。
2. 从 File > New > Project 选择 CMake Project , 来创建一个新项目(在这个例子中 , 我们叫它“CMakeProject90”) 。在默认情况下 , 该项目将针对“本地计算机”打开 。从“目标系统”下拉列表中选择与上一步中建立的 Mac 系统的连接 。


该项目的目标平台将反映此选择并将其标识为 Mac 目标 。

输出窗口的CMake窗格将包含复制和CMake配置操作的日志 。


此时 , 项目已准备好构建和调试了 。
3. 从解决方案资源管理器中打开 CMakeProject.cpp 并在 main 的第一行放置一个断点 。从“选择启动项”下拉列表中选择“CMakeProject90” 。开始调试 (F5) 。Visual Studio 将构建项目(请参阅输出窗口的构建窗格)并在 Mac 上启动调试器 。调试器将停止指向刚刚设置的断点位置的应用程序 。

Visual Studio 的调试子功能(例如 , 本地、监视和调用堆栈窗口)现在可用于应用程序的调试阶段 。
在Mac上附加调试Visual Studio 调试器的附加到进程功能也适用于 Mac 平台 。
1. 将上述 C++ 应用程序的 main 函数更改如下:


保存文件并选择 Debug>Start without Debugging 。
2. 选择 Debug>Attach to Process… 在“Attach to Process”对话框中选择连接类型“SSH” 。然后从“连接目标”下拉列表中选择 Mac 连接 。该对话框将使用 Mac 上运行的进程填充“可用进程”显示 。

选择“附加” 。将弹出“选择代码类型”对话框 。选择“本机 (LLDB)” , 然后单击“确定” 。

调试器现在已附加到 Mac 上的远程进程 。选择 Debug>Break All 开始调试 。

需要注意的事项目前仅支持 x64 Mac 进行调试 。这意味着当你尝试在 ARM64 Mac 上进行调试时 , 必须安装 Rosetta , 并且只能调试针对 x64 交叉编译的应用程序 。
总结还是原来的味道 , 还是熟悉的配方 。 Visual Studio伴你一路同行 , 不管你是Windows , Linux , 还是Mac 。
最后Microsoft Visual C++团队的博客是我非常喜欢的博客之一 , 里面有很多关于Visual C++的知识和最新开发进展 。 大浪淘沙 , 如果你对Visual C++这门古老的技术还是那么感兴趣 , 则可以经常去他们那(或者我这)逛逛 。
本文来自:《Visual Studio for remote macOS C++ development》
【C++|使用Visual Studio进行远程macOS C++开发】