How to profile Visual C++, Visual C#, and Visual Basic code in Windows Store apps on a remote device
This topic describes how to profile code in Windows Store apps that are written in XAML and Visual C++, Visual C#, or Visual Basic and when you want to collect data on a remote device.
See How to profile Visual C++, Visual C#, and Visual Basic code in Windows Store apps on a local machine to profile apps on the machine where Visual Studio is installed.
See How to profile JavaScript code in Windows Store apps on a local machine or How to profile JavaScript code in Windows Store apps on a remote device when you want to profile and Visual C++, Visual C#, or Visual Basic components of an app written in HTML5 and JavaScript.
We do not recommend profiling in the simulator because the simulator can distort the performance of your app.
Visual Studio is usually installed on a desktop computer. Windows Store apps run on a wide variety of devices, form factors, and processor types. Remote profiling lets you collect performance data on any device that is connected to your Visual Studio computer over a network or that is connected directly through an Ethernet cable. When you profile remotely, Visual Studio deploys the latest build of your app. You can start your app immediately, or you can profile your app after it is started by a contract or some other process.
Note
-
To profile on a remote device, you must be an administrator on the device.
-
We recommend that you perform user interaction directly on the remote device and that you do not use Remote Desktop Connection. Remote Desktop Connection can significantly alter the performance of your app and the performance data that you collect.
-
To collect the most accurate performance results, you should profile a Release build of your app. See How to: Set Debug and Release Configurations in the MSDN Library.
-
In this topic
You can learn:
Configure remote profiling on the remote device
Configure remote profiling in Visual Studio
To profile a managed app
To profile a Visual C++ app
Profile the app
Collect performance data for the entire profiling run
Collect performance data for specific scenarios
Configure remote profiling on the remote device
You must have a developer license installed on the remote device; you must have the Visual Studio Remote Tools installed on the remote device; and the Remote Debugging Monitor must be running on the remote device.
To install a developer license installed on the remote device, see Gettting a developers license
To install the Visual Studio remote tools, see Installing the Remote Debugger
To start the remote debugging Monitor, choose Remote Debugging Monitor on the Start screen.
Configure remote profiling in Visual Studio
To profile an app on a remote device, you specify the name or IP address of the device in the debugging properties of your Visual Studio project.
To profile your app on a remote device:
In Visual Studio, open the project that you want to profile.
To collect the most accurate performance results, you should profile a Release build of your app. Select Release from the Solutions Configurations list on the Visual Studio toolbar.
For more information, see How to: Set Debug and Release Configurations in the MSDN Library.
The following procedures depend on whether your project is written in Visual C++ or managed code (Visual C#, Visual Basic, etc.).
To profile a managed app
On the Debug menu, choose Project Properties.
Choose the Debug menu item.
From the Target Device list, choose Remote Machine.
In the Remote Machine box, type the name or IP address of the remote device.
If the remote device is on the same subnet as the Visual Studio computer, or if the device is directly connected to the Visual Studio computer, you can choose Find, and then select the device on the Remote Debugger connections dialog box.
Require Authentication should always be set to Yes. Not requiring network authentication puts your network at significant risk of attacks by malicious users.
These properties are ignored by the profiler:
Do not launch, but debug my code when it starts
Allow Local Network Loopback
Uninstall and then re-install my package. All information about the package state is deleted.
Debugger Type
To profile a Visual C++ app
On the Debug menu, choose Project Properties.
Choose Debugging in the Configuration Properties node.
From the Debugger to launch list, choose Remote Machine.
In the Machine Name row, type the name or IP address of the remote device.
If the remote device is on the same subnet as the Visual Studio computer, or if the device is directly connected to the Visual Studio computer, you can choose the down arrow in the row, choose the <Locate...> item, and then select the device on the Remote Debugger connections dialog box.
Require Authentication should always be set to Yes. Not requiring network authentication puts your network at significant risk of attacks by malicious users.
These properties are ignored by the profiler:
Launch Application
Allow Local Network Loopback
Debugger Type
Deploy Visual C++ Debug Runtime Libraries
Profile the app
You can collect profiling data for the entire run, or you can collect data only for specific scenarios. You start profiling, collecting data for all or part of the execution run, and then stop. Visual Studio then displays the results in a document window of the IDE.
Collect performance data for the entire profiling run
To profile your app from the start to the end, do this:
Start the profiler. Choose Start Performance Analysis (Keyboard ALT + F2) to start your app and start profiling immediately. You will need to accept the elevation of privilege for the Remote Debugging Monitor.
Exercise the app. Run those parts of the application that you want to profile. Repeat key scenarios to get more accurate results.
Stop profiling. In the profiling document window, choose Stop profiling (Keyboard: CTL + ALT + F2). The profiler analyzes the data and displays the Summary view of the profiling data.
Collect performance data for specific scenarios
To profile a specific scenario in your app, do this:
Start the profiler. Choose Start Performance Analysis Paused (Keyboard: CTRL + ALT + F2) to start your app with profiling suspended. You will need to accept the elevation of privilege for the Remote Debugging Monitor.
Resume and suspend profiling. Just before you begin the scenario that you are interested in, choose Resume profiling in the profiling document window. Exercise the scenario, and then choose Pause profiling to suspend data collection. You can suspend and resume profiling as often as you choose.
Repeat key scenarios to get more accurate results.
Stop profiling. In the profiling document window, choose Stop profiling (Keyboard: CTL + ALT + F2).
When you stop the profiling run, the profiler analyzes the data and displays the Summary view of the profiling data in a document window of the IDE. See Analyzing performance data for Visual C++, Visual C#, and Visual Basic code in Windows Store apps
See Also
Concepts
Analyzing the performance of Windows Store apps
How to profile Visual C++, Visual C#, and Visual Basic code in Windows Store apps on a local machine
Analyzing performance data for Visual C++, Visual C#, and Visual Basic code in Windows Store apps