Observação
O acesso a essa página exige autorização. Você pode tentar entrar ou alterar diretórios.
O acesso a essa página exige autorização. Você pode tentar alterar os diretórios.
Uma das principais diferenças entre aplicativos UWP e aplicativos de área de trabalho tradicionais é que os títulos UWP residem em um contêiner de aplicativo sujeito ao PLM (Gerenciamento do Ciclo de Vida do Processo). Os aplicativos UWP podem ser suspensos, retomados ou encerrados em todas as plataformas pelo serviço do Runtime Broker e há ferramentas dedicadas para você usar para forçar essas transições ao testar ou depurar o código que os manipula.
Recursos do Visual Studio 2015
O depurador interno no Visual Studio 2015 pode ajudá-lo a investigar possíveis problemas ao usar recursos exclusivos da UWP. Você pode forçar seu aplicativo a diferentes estados PLM usando a barra de ferramentas Eventos de Ciclo de Vida, que fica visível quando você executa e depura seu título.
Barra de ferramentas de eventos de ciclo de vida 
A ferramenta PLMDebug
PLMDebug.exe é uma ferramenta de linha de comando que permite controlar o estado PLM de um pacote de aplicativos e é enviada como parte do SDK do Windows. Depois de instalada, a ferramenta reside em C:\Arquivos de Programas (x86)\Kits do Windows\10\Depuradores\x64 por padrão.
O PLMDebug também permite desativar o PLM para qualquer pacote de aplicativo instalado, o que é necessário para alguns depuradores. Desabilitar o PLM impede que o serviço do Runtime Broker encerre seu aplicativo antes que você tenha a chance de depurar. Para desabilitar o PLM, use a opção /enableDebug, seguida pelo nome completo do pacote do seu aplicativo UWP (o nome curto, o nome da família do pacote ou a AUMID de um pacote não funcionarão):
plmdebug /enableDebug [PackageFullName]
Depois de implantar seu aplicativo UWP no Visual Studio, o nome completo do pacote é exibido na janela de saída. Como alternativa, você também pode recuperar o nome completo do pacote executando Get-AppxPackage em um console do PowerShell.
Opcionalmente, você pode especificar um caminho absoluto para um depurador que será iniciado automaticamente quando o pacote do aplicativo for ativado. Se você quiser fazer isso usando o Visual Studio, precisará especificar VSJITDebugger.exe como o depurador. No entanto, VSJITDebugger.exe requer que você especifique a opção "-p", juntamente com o PID (ID de processo) do aplicativo UWP. Como não é possível saber o PID do seu aplicativo UWP de antemão, esse cenário não é possível fora da caixa.
Você pode contornar essa limitação escrevendo um script ou uma ferramenta que identifica o processo do seu jogo e, em seguida, o shell executa VSJITDebugger.exe, passando o PID para o seu aplicativo UWP. O exemplo de código C# a seguir ilustra uma abordagem simples para fazer isso.
using System.Diagnostics;
namespace VSJITLauncher
{
class Program
{
static void Main(string[] args)
{
// Name of UWP process, which can be retrieved via Task Manager.
Process[] processes = Process.GetProcessesByName(args[0]);
// Get PID of most recent instance
// Note the highest PID is arbitrary. Windows may recycle or wrap the PID at any time.
int highestId = 0;
foreach (Process detectedProcess in processes)
{
if (detectedProcess.Id > highestId)
highestId = detectedProcess.Id;
}
// Launch VSJITDebugger.exe, which resides in C:\Windows\System32
ProcessStartInfo startInfo = new ProcessStartInfo("vsjitdebugger.exe", "-p " + highestId);
startInfo.UseShellExecute = true;
Process process = new Process();
process.StartInfo = startInfo;
process.Start();
}
}
}
Exemplo de uso disso em conjunto com PLMDebug:
plmdebug /enableDebug 279f7062-ce35-40e8-a69f-cc22c08e0bb8_1.0.0.0_x86__c6sq6kwgxxfcg "\"C:\VSJITLauncher.exe\" Game"
em que Game é o nome do processo e 279f7062-ce35-40e8-a69f-cc22c08e0bb8_1.0.0.0_x86__c6sq6kwgxxfcg é o nome do pacote completo do pacote de aplicativo UWP de exemplo.
Observe que cada chamada para /enableDebug deve ser acoplada posteriormente a outra chamada PLMDebug com a opção /disableDebug. Além disso, o caminho para um depurador deve ser absoluto (não há suporte para caminhos relativos).