Skip to content

Repo sync for protected CLA branch #8384

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Merged
merged 11 commits into from
Aug 22, 2022
7 changes: 6 additions & 1 deletion docs/debugger/create-custom-views-of-native-objects.md
Original file line number Diff line number Diff line change
Expand Up @@ -489,14 +489,19 @@ You can also specify multi-dimensional arrays. In that case, the debugger needs
<Rank>$T2</Rank>
<Size>_M_extent._M_base[$i]</Size>
<ValuePointer>($T1*) _M_buffer_descriptor._M_data_ptr</ValuePointer>
<LowerBound>0</LowerBound>
</ArrayItems>
</Expand>
</Type>
```

- `Direction` specifies whether the array is in row-major or column-major order.
- `Rank` specifies the rank of the array.
- The `Size` element accepts the implicit `$i` parameter, which it substitutes with the dimension index to find the length of the array in that dimension. In the previous example, the expression `_M_extent.M_base[0]` should give the length of the 0th dimension, `_M_extent._M_base[1]` the 1st, and so on.
- The `Size` element accepts the implicit `$i` parameter, which it substitutes with the dimension index to find the length of the array in that dimension.
- In the previous example, the expression `_M_extent.M_base[0]` should give the length of the 0th dimension, `_M_extent._M_base[1]` the 1st, and so on.
- The `LowerBound` specifies the lower bound of each dimension of the array. For multi-dimensional arrays, you can specify an expression that uses the implicit `$i` parameter. The `$i` parameter will be substituted with the dimension index to find the lower bound of the array in that dimension.
- In the previous example, all dimensions will start at 0. However, if you had `($i == 1) ? 1000 : 100` as the lower bound, the 0th dimension will start at 100, and the 1st dimension will start at 1000.
- E.g. `[100, 1000], [100, 1001], [100, 1002], ... [101, 1000], [101, 1001],...`

Here's how a two-dimensional `Concurrency::array` object looks in the debugger window:

Expand Down
Binary file added docs/debugger/media/remote-debug-cpp-deploy.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added docs/debugger/media/remote-debugging-cpp.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file removed docs/debugger/media/remotedebugcplusdeploy.png
Binary file not shown.
Binary file removed docs/debugger/media/remotedebuggingcplus.png
Binary file not shown.
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@
title: "Project settings for a C++ debug config"
description: Configure C and C++ debugging in Property Pages. This article describes the settings and tells you their category.

ms.date: "06/07/2022"
ms.date: "08/19/2022"
ms.topic: "reference"
f1_keywords:
- "VC.Project.VCDebugSettings.WebBrowser.DebuggerType"
Expand Down Expand Up @@ -148,7 +148,7 @@ You can change the project settings for a C or C++ debug configuration in the **
| **GPU Default Breakpoint Behavior** (GPU debugging only) | Specifies whether a breakpoint event should be raised for each thread in a SIMD warp. The default setting is to raise the breakpoint event only once per warp. |
| **Amp Default Accelerator** | Specifies the default AMP accelerator when debugging GPU code. Choose **WARP software accelerator** to investigate if an issue is caused by the hardware or a driver instead of your code. |
| **Deployment Directory** (Remote Windows Debugger) | Specifies the path on the remote computer where the project output will be copied prior to launch. The path can be a network share on the remote computer, or it can be a path to a folder on the remote computer. The default setting is empty, which means the project output is not copied to a network share. To enable deployment of the files, you must also select the **Deploy** check box in the Configuration Manager dialog box. For more information, see [How to: Create and edit configurations](../ide/how-to-create-and-edit-configurations.md). |
| **Additional Files to Deploy** (Remote Windows Debugger) | If the Deployment Directory property is set, this is a semicolon-delimited list of additional files to copy to the deployment directory. The default setting is empty, which means that no additional files are copied to the deployment directory. To enable deployment of the files, you must also select the **Deploy** check box in the Configuration Manager dialog box. For more information, see [How to: Create and edit configurations](../ide/how-to-create-and-edit-configurations.md). |
| **Additional Files to Deploy** (Remote Windows Debugger) | If the Deployment Directory property is set, this is a semicolon-delimited list of additional folders or files to copy to the deployment directory. The default setting is empty, which means that no additional folders or files are copied to the deployment directory. To copy the contents of a folder to the same folder in the Deployment Directory, specify a folder name. To enable deployment of the files, you must also select the **Deploy** check box in the Configuration Manager dialog box. For more information, see [How to: Create and edit configurations](../ide/how-to-create-and-edit-configurations.md). |
| **Deploy Visual C++ Debug Runtime Libraries** (Remote Windows Debugger) | If the Deployment Directory property is set, this specifies whether the Visual C++ debug runtime libraries for the current platform should be copied to the network share. The default setting is Yes. |

## C/C++ folder (General category)
Expand Down
28 changes: 15 additions & 13 deletions docs/debugger/remote-debugging-cpp.md
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@
title: "Remote Debug a C++ Project | Microsoft Docs"
description: Learn how to debug a Visual Studio C++ application from a remote computer by following these step-by-step instructions.
ms.custom: "remotedebugging"
ms.date: "11/11/2021"
ms.date: "08/19/2022"
ms.topic: "conceptual"
dev_langs:
- "C++"
Expand Down Expand Up @@ -52,50 +52,52 @@ The remote debugger is supported on Windows 7 and newer and versions of Windows
> If you need to add permissions for additional users, change the authentication mode, or port number for the remote debugger, see [Configure the remote debugger](../debugger/remote-debugging.md#configure_msvsmon).

## <a name="remote_cplusplus"></a> Remote debug a C++ project
In the following procedure, the name and path of the project is C:\remotetemp\MyMfc, and the name of the remote computer is **MJO-DL**.
In the following procedure, the path of the project is C:\remotetemp, and the name of the remote computer is **MySurface**.

1. Create an MFC application named **mymfc.**
1. Create a C++ Console application named **CppConsoleApp**

2. Set a breakpoint somewhere in the application that is easily reached, for example in **MainFrm.cpp**, at the start of `CMainFrame::OnCreate`.
2. Set a breakpoint somewhere in the application that is easily reached, for example in **CppConsoleApp.cpp**, in the `main` function.

3. In Solution Explorer, right-click on the project and select **Properties**. Open the **Debugging** tab.

4. Set the **Debugger to launch** to **Remote Windows Debugger**.

![Screenshot of the Debugging tab in the Visual Studio Solution Explorer Properties. The Debugger to launch property is set to Remote Windows Debugger.](../debugger/media/remotedebuggingcplus.png)
![Screenshot of the Debugging tab in the Visual Studio Solution Explorer Properties. The Debugger to launch property is set to Remote Windows Debugger.](../debugger/media/remote-debugging-cpp.png)

5. Make the following changes to the properties:

|Setting|Value|
|-|-|
|Remote Command|C:\remotetemp\mymfc.exe|
|Remote Command|C:\remotetemp\CppConsoleApp.exe|
|Working Directory|C:\remotetemp|
|Remote Server Name|MJO-DL:*portnumber*|
|Remote Server Name|MySurface:*portnumber*|
|Connection|Remote with Windows Authentication|
|Debugger Type|Native Only|
|Deployment Directory|C:\remotetemp.|
|Additional Files to Deploy|C:\data\mymfcdata.txt.|
|Deployment Directory|C:\remotetemp|
|Additional Files to Deploy|$(ProjectDir)\data|

If you deploy additional files (optional), the folder must exist on both machines.
If you deploy additional folders, and want all the files in a folder deployed to the same folder, specify a folder name.

For more information on the properties, see [Project settings for a C++ Debug configuration](../debugger/project-settings-for-a-cpp-debug-configuration.md).

6. In Solution Explorer, right-click the solution and choose **Configuration Manager**.

7. For the **Debug** configuration, select the **Deploy** check box.

![Screenshot of the Configuration Manager in the Visual Studio Solution Explorer. The Debug configuration is selected, and Deploy is checked.](../debugger/media/remotedebugcplusdeploy.png)
![Screenshot of the Configuration Manager in the Visual Studio Solution Explorer. The Debug configuration is selected, and Deploy is checked.](../debugger/media/remote-debug-cpp-deploy.png)

8. Start debugging (**Debug > Start Debugging**, or **F5**).

9. The executable is automatically deployed to the remote computer.

10. If prompted, enter network credentials to connect to the remote machine.

The required credentials are specific to your network's security configuration. For example, on a domain computer, you might choose a security certificate or enter your domain name and password. On a non-domain machine, you might enter the machine name and a valid user account name, like <strong>MJO-DL\[email protected]</strong>, along with the correct password.
The required credentials are specific to your network's security configuration. For example, on a domain computer, you might choose a security certificate or enter your domain name and password. On a non-domain machine, you might enter the machine name and a valid user account name, like <strong>MySurface\[email protected]</strong>, along with the correct password.

11. On the Visual Studio computer, you should see that execution is stopped at the breakpoint.

> [!TIP]
> Alternatively, you can deploy the files as a separate step. In the **Solution Explorer,** right-click the **mymfc** node and then choose **Deploy**.
> Alternatively, you can deploy the files as a separate step. In the **Solution Explorer,** right-click the project node and then choose **Deploy**.

If you have non-code files that are required by the application, you can specify them in a semicolon delimited list in **Additional Files to Deploy** on the **Remote Windows Debugger** page.

Expand Down
1 change: 0 additions & 1 deletion gamedev/unity/unity-scripting-upgrade.md
Original file line number Diff line number Diff line change
Expand Up @@ -343,5 +343,4 @@ The sample contains examples of several .NET 4.x features. You can download the
* [History of C#](/dotnet/csharp/whats-new/csharp-version-history)
* [What's New in C# 6](/dotnet/csharp/whats-new/csharp-6)
* [Asynchronous programming in Unity, Using Coroutine and TAP](/archive/blogs/appconsult/unity-coroutine-tap-en-us)
* [Async-Await Instead of Coroutines in Unity 2017](http://www.stevevermeulen.com/index.php/2017/09/using-async-await-in-unity3d-2017/)
* [Unity Forum - Experimental Scripting Previews](https://forum.unity.com/forums/experimental-scripting-previews.107/)