Debug-MMAppPrelaunch

Debugs the application prelaunch of a specific application by triggering the prelaunch to occur and to exit debug mode for the application.

Syntax

Debug-MMAppPrelaunch
     -PackageFullName <String>
     [-DisableDebugMode]
     -PackageRelativeAppId <String>
     [-CimSession <CimSession[]>]
     [-ThrottleLimit <Int32>]
     [-AsJob]
     [<CommonParameters>]

Description

The Debug-MMAppPrelaunch cmdlet debugs the application prelaunch of a specific application by triggering the prelaunch to occur and to exit debug mode for the application.

Prelaunching is a new feature added in Windows® 8.1 that improves the launch performance of apps from the Windows Store by proactively launching frequently used apps in the background if they are not already running or suspended. This makes starting an app as fast as switching to a suspended app from the user's perspective. This command enables you to prelaunch an app into debug mode.

You identify the application to prelaunch by including the PackageFullName and PackageRelativeAppId parameters.

To turn off debugging, specify the application and also include the DisableDebugMode parameter.

Examples

Example 1: Prelaunch an app and enable debug mode

PS C:\> Debug-MmAppPreLaunch -PackageFullName Microsoft.ZuneMusic_2.0.94.0_x64__8wekyb3d8bbwe -PackageRelativeAppId Microsoft.ZuneMusic

This command prelaunches an application in debug mode.

Example 2: Clear debug mode from the prelaunch activated app

PS C:\> Debug-MmAppPreLaunch -PackageFullName Microsoft.ZuneMusic_2.0.94.0_x64__8wekyb3d8bbwe -PackageRelativeAppId Microsoft.ZuneMusic -DisableDebugMode

This command disables the debug mode from the app that you previously prelaunch activated.

Example 3: Getting the PackageFullName and PackageRelativeAppId of your App

PS C:\> ForEach ($Package in Get-AppxPackage) {ForEach ($AppRelativeId in (Get-AppxPackageManifest($Package)).Package.Applications.Application.Id) {'PackageFullName: ' + $Package.PackageFullName; 'PackageRelativeId: ' + $AppRelativeID; ''}}

This command shows how you can find the PackageFullName and PackageRelativeAppId information for your package.

Parameters

-AsJob

Runs the cmdlet as a background job. Use this parameter to run commands that take a long time to complete.

The cmdlet immediately returns an object that represents the job and then displays the command prompt. You can continue to work in the session while the job completes. To manage the job, use the *-Job cmdlets. To get the job results, use the Receive-Job cmdlet.

For more information about Windows PowerShell background jobs, see about_Jobs.

Type:SwitchParameter
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-CimSession

Runs the cmdlet in a remote session or on a remote computer. Enter a computer name or a session object, such as the output of a New-CimSession or Get-CimSession cmdlet. The default is the current session on the local computer.

Type:CimSession[]
Aliases:Session
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-DisableDebugMode

Indicates that the cmdlet turns off debug mode for the selected application.

Type:SwitchParameter
Aliases:ddm
Position:Named
Default value:None
Required:False
Accept pipeline input:True
Accept wildcard characters:False

-PackageFullName

Specifies the full name of the AppX package that contains the application to be prelaunched in debug mode.

Type:String
Aliases:pfn
Position:Named
Default value:None
Required:True
Accept pipeline input:True
Accept wildcard characters:False

-PackageRelativeAppId

Specifies the application ID of the application within the AppX package that is prelaunched. The application ID is found in the package manifest file.

Type:String
Aliases:praid
Position:Named
Default value:None
Required:True
Accept pipeline input:True
Accept wildcard characters:False

-ThrottleLimit

Specifies the maximum number of concurrent operations that can be established to run the cmdlet. If this parameter is omitted or a value of 0 is entered, then Windows PowerShell® calculates an optimum throttle limit for the cmdlet based on the number of CIM cmdlets that are running on the computer. The throttle limit applies only to the current cmdlet, not to the session or to the computer.

Type:Int32
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

Inputs

None

Notes

  • None