You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: docs/build/cmake-remote-debugging.md
+12-8Lines changed: 12 additions & 8 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -7,9 +7,9 @@ description: "How to use Visual Studio C++ on Windows to create and build a CMak
7
7
8
8
# Tutorial: Debug a CMake project on a remote Windows machine
9
9
10
-
This tutorial shows how to use Visual Studio C++ on Windows to create and build a CMake project that you can deploy and debug on a remote Windows machine. This tutorial is specific to ARM64, but the steps can be generalized for other architectures.
10
+
This tutorial uses Visual Studio C++ on Windows to create and build a CMake project that you can deploy and debug on a remote Windows machine. This tutorial is specific to Windows ARM64, but the steps can be generalized for other architectures.
11
11
12
-
The default debugging experience for ARM64 is remote debugging on Windows. Debugging an ARM64 CMake project without configuring your debug settings as shown in this tutorial will result in an error that Visual Studio can't find the remote machine.
12
+
In Visual Studio, the default debugging experience for ARM64 is remote debugging an ARM64 Windows machine. Debugging an ARM64 CMake project without configuring your debug settings as shown in this tutorial will result in an error that Visual Studio can't find the remote machine.
13
13
14
14
In this tutorial, you'll learn how to:
15
15
@@ -24,10 +24,10 @@ In this tutorial, you'll learn how to:
24
24
25
25
### On the host machine
26
26
27
-
To set up Visual Studio for cross-platform C++ development, install the tools that allow you to build for the target architecture. For this tutorial, install the ARM64 build tools:
27
+
To set up Visual Studio for cross-platform C++ development, install the build tools for the target architecture. For this tutorial, install the ARM64 build tools by following these steps:
28
28
29
29
1. Run the Visual Studio Installer. If you haven't installed Visual Studio yet, see [Install Visual Studio](https://docs.microsoft.com/visualstudio/install/install-visual-studio#:~:text=Install%20Visual%20Studio%201%20Make%20sure%20your%20computer,...%204%20Choose%20workloads.%20...%20More%20items...%20)
30
-
1. On the Visual Studio Installer home screen, choose **Modify**. (Look under **More** if you don't see it).
30
+
1. On the Visual Studio Installer home screen, choose **Modify** (look under **More** if you don't see it).
31
31
1. From the choices at the top, choose **Individual components**.
32
32
1. Scroll down to the **Compilers, build tools, and runtimes** section.
33
33
1. Ensure that the following are selected:
@@ -51,18 +51,22 @@ Give Visual Studio a few moments to create the project and populate the **Soluti
51
51
52
52
## Change the configuration to target ARM64
53
53
54
-
Because you're targeting an ARM64 Windows machine, you need to use the ARM64 build tools. To select the ARM64 build tools, select the Visual Studio **Configuration** dropdown and select **Manage Configurations...**
54
+
To target an ARM64 Windows machine, you need to build with ARM64 build tools. Select the Visual Studio **Configuration** dropdown and select **Manage Configurations...**
55
55
56
56

57
57
58
-
Change the **Configuration name**to **arm64-debug**. This is a unique, friendly name to make it easier for you to identify these settings in the **Configuration**dropdown.
58
+
Add a new configuration by selecting the green **+**button. Choose **arm64-debug** in the dialog that appears and press the **Select**button:
59
59
60
-
Select the **Toolset** dropdown. From the list of build tools, choose **msvc_arm64_x64**. Your settings should now look something like this:
This will add a debug configuration named **arm64-Debug** to the *`CmakeSettings.json`* file. This configuration name is a unique, friendly name to make it easier for you to identify these settings in the **Configuration** dropdown.
63
+
64
+
The **Toolset** dropdown will be set to **msvc_arm64_x64**. Your settings should now look something like this:
> In the **Toolset** dropdown, **msvc_arm64** uses the 32-bit host tools to cross-compile ARM64, whereas **msvc_arm64 x64** uses the 64-bit host tools to cross-compile for ARM64--which is what you will do in this tutorial.
69
+
> In the **Toolset** dropdown, **msvc_arm64** uses 32-bit host tools to cross-compile to ARM64, whereas **msvc_arm64 x64** uses 64-bit host tools to cross-compile to ARM64--which is what you will do in this tutorial.
66
70
67
71
Save the `CMakeSettings.json` file and ensure that your **arm64-debug** configuration is selected in the configuration dropdown:
Copy file name to clipboardExpand all lines: docs/build/launch-vs-schema-reference-cpp.md
+5-5Lines changed: 5 additions & 5 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -56,20 +56,20 @@ Use the *launch.vs.json* file to configure debugging parameters. To create the f
56
56
externalConsole|boolean|If true, a console is launched for the debuggee. If **`false`**, no console is launched. The default for this setting is **`false`**. This option is ignored in some cases for technical reasons.|
57
57
|`pipeTransport`|string|When present, this tells the debugger to connect to a remote computer using another executable as a pipe that will relay standard input/output between Visual Studio and the MI-enabled debugger (such as gdb). Allowed values: one or more [Pipe Transport Options](#pipe_transport_options).|
58
58
59
-
## <aname="remote_deploy_debug"></a> Remote debug and deploy properties
59
+
## <aname="remote_deploy_debug"></a> C++ Windows remote debug and deploy properties
60
60
61
61
Used when debugging and deploying an app on a remote machine.
62
62
63
63
|Property|Type|Description|
64
64
|-|-|-|
65
-
|`cwd`|string|The working directory of the target on the remote machine. When using CMake, the macro `${debugInfo.defaultWorkingDirectory}` can be used as the value of this field. The default value is the remote workspace root unless overridden in the *`CMakeLists.txt`* file.|
66
-
|`deploy`|string|Specifies extra files/directories to deploy. For example:`deployDirectory:{"sourcePath1":"targetPath1", sourcePath2":"targetPath2"}`|
67
-
|`deployDirectory`|string|The location on the remote machine where project outputs are automatically deployed to. Defaults to `%temp%/<targetname>`|
65
+
|`cwd`|string|The working directory of the target on the remote machine. When using CMake, the macro `${debugInfo.defaultWorkingDirectory}` can be used as the value of this field. The default value is the directory of the debug program/command.|
66
+
|`deploy`|string|Specifies extra files/directories to deploy. For example:<br> `"deploy": {"sourcePath":"<Full path to source file/directory on host machine>", "targetPath":"<Full destination path to file/directory on target machine>"}`|
67
+
|`deployDirectory`|string|The location on the remote machine where project outputs are automatically deployed to. Defaults to "`C:\Windows Default Deploy Directory\<name of launch entry>`|
68
68
|`deployDebugRuntimeLibraries`|string|Specifies to deploy the debug runtime libraries for the active platform. Defaults to `"true"` if the active configurationType is `"Debug"`|
69
69
|`deployRuntimeLibraries`|string|Specifies to deploy the runtime libraries for the active platform. Defaults to `"true"` if the active configurationType is `"MinSizeRel"`, `"RelWithDebInfo"`, or `"Release"`.|
70
70
|`disableDeploy`| boolean | Specifies whether any files should be deployed. |
71
71
|`remoteMachineName`|string|Specifies the name of the remote ARM64 Windows machine where the program is launched. May be the server name or the remote machine's IP address|
72
-
|`windowsAuthenticationType`|string|Specifies the type of remote connection. Possible values are `"Remote Windows authentication"` and `"Remote Windows with No authentication"`. The default is `"Remote Windows authentication"`.|
72
+
|`windowsAuthenticationType`|string|Specifies the type of remote connection. Possible values are `"Remote Windows authentication"` and `"Remote Windows with No authentication"`. The default is `"Remote Windows authentication"`. This should match the authentication setting specified on the remote debugger running on the remote macihne.|
0 commit comments