Visual Studio'da UWP uygulamalarında hata ayıklarken askıya alma, sürdürme ve arka plan olaylarını tetikleme

Hata ayıklamadığınızda Windows İşlem Ömrü Yönetimi (PLM), kullanıcı eylemlerine ve cihazın durumuna yanıt olarak uygulamanızın yürütme durumunu denetler. Hata ayıklarken Windows bu etkinleştirme olaylarını devre dışı bırakır. Bu konuda, bu olayların hata ayıklayıcıda nasıl başlatıldığı açıklanmaktadır.

Bu konu, Arka plan görevlerinde hata ayıklamayı da açıklar. Arka plan görevleri, uygulamanız çalışmadığında bile belirli işlemleri arka plan işleminde gerçekleştirmenizi sağlar. Hata ayıklayıcısını kullanarak uygulamanızı hata ayıklama moduna alabilir ve ardından kullanıcı arabirimini başlatmadan arka plan görevini başlatabilir ve hatalarını ayıklayabilirsiniz.

İşlem Ömrü Yönetimi ve arka plan görevleri hakkında daha fazla bilgi için bkz . Başlatma, devam etme ve çoklu görev yapma.

İşlem Ömrü Yönetimi olaylarını tetikleme

Kullanıcı uygulamadan uzaklaştığında veya Windows düşük güç durumuna girdiğinde Windows uygulamanızı askıya alabilir. İlgili uygulama ve kullanıcı verilerini kalıcı depolama alanına kaydetmek ve kaynakları serbest bırakmak için olayı yanıtlayabilirsiniz Suspending . Bir uygulama Askıya Alındı durumundan devam ettirildiğinde Çalışıyor durumuna girer ve askıya alındığı yerden devam eder. Uygulama durumunu geri yüklemek veya yenilemek ve kaynakları geri kazanmak için olayı yanıtlayabilirsiniz Resuming .

Windows mümkün olduğunca çok askıya alınmış uygulamayı bellekte tutmaya çalışsa da, windows uygulamanızı bellekte tutmak için yeterli kaynak yoksa uygulamanızı sonlandırabilir. Kullanıcı ayrıca uygulamanızı açıkça kapatabilir. Kullanıcının bir uygulamayı kapattığını belirten özel bir olay yoktur.

Visual Studio hata ayıklayıcısında, işlem yaşam döngüsü olaylarında hata ayıklamak için uygulamalarınızı el ile askıya alabilir, sürdürebilir ve sonlandırabilirsiniz. İşlem yaşam döngüsü olayında hata ayıklamak için:

  1. Hata ayıklamak istediğiniz olayın işleyicisinde bir kesme noktası ayarlayın.

  2. Hata ayıklamaya başlamak için F5'e basın.

  3. Hata Ayıklama Konumu araç çubuğunda, tetiklemesini istediğiniz olayı seçin:

    Suspend, resume, terminate, and background tasks

    Askıya alma ve sonlandırma , uygulamayı kapatır ve hata ayıklama oturumunu sonlandırır.

Arka plan görevlerini tetikleme

Herhangi bir uygulama, uygulama çalışmadığında bile belirli sistem olaylarına yanıt vermek için bir arka plan görevi kaydedebilir. Arka plan görevleri kullanıcı arabirimini doğrudan güncelleştiren kodu çalıştıramaz; bunun yerine kutucuk güncelleştirmeleri, rozet güncelleştirmeleri ve bildirim bildirimleriyle kullanıcıya bilgi gösterir. Daha fazla bilgi için bkz . Uygulamanızı arka plan görevleriyle destekleme.

Hata ayıklayıcıdan uygulamanız için arka plan görevlerini başlatan olayları tetikleyebilirsiniz.

Dekont

Hata ayıklayıcı yalnızca cihazdaki durum değişikliğini gösteren olaylar gibi veri içermeyen olayları tetikleyebilir. Kullanıcı girişi veya başka veriler gerektiren arka plan görevlerini el ile tetiklemeniz gerekir.

Arka plan görev olayını tetiklemenin en gerçekçi yolu, uygulamanızın çalışmamasıdır. Ancak, standart bir hata ayıklama oturumunda olayı tetikleme de desteklenir.

Standart hata ayıklama oturumundan arka plan görev olayını tetikleme

  1. Arka plan görev kodunda hata ayıklamak istediğiniz bir kesme noktası ayarlayın.

  2. Hata ayıklamaya başlamak için F5'e basın.

  3. Hata Ayıklama Konumu araç çubuğundaki olaylar listesinden, başlatmak istediğiniz arka plan görevini seçin.

    Suspend, resume, terminate, and background tasks

Uygulama çalışmadığında arka plan görevi tetikleme

  1. Arka plan görev kodunda hata ayıklamak istediğiniz bir kesme noktası ayarlayın.

  2. Başlangıç projesi için hata ayıklama özellik sayfasını açın. Çözüm Gezgini'da projeyi seçin. Hata Ayıkla menüsünde Özellikler'i seçin.

    C++ projeleri için Yapılandırma Özellikleri'ni genişletin ve hata ayıklama'yı seçin.

  3. Aşağıdakilerden birini yapın:

    • Visual C# ve Visual Basic projeleri için Başlatma'yı seçin , ancak başlatıldığında kodumda hata ayıklama

      C#/VB debug launch application property

    • C++ projeleri için Uygulamayı başlat listesinden Hayır'ı seçin.

      C++/VB Launch application debug property

  4. Uygulamayı hata ayıklama moduna almak için F5 tuşuna basın. Hata Ayıklama Konumu araç çubuğundaki İşlem listesinin, hata ayıklama modunda olduğunuzu belirtmek için uygulama paketi adını görüntülediğine dikkat edin.

    Background task Process list

  5. Hata Ayıklama Konumu araç çubuğundaki olaylar listesinden, başlatmak istediğiniz arka plan görevini seçin.

    Suspend, resume, terminate, and background tasks

Yüklü bir uygulamadan İşlem Ömrü Yönetimi olaylarını ve arka plan görevlerini tetikleme

Hata ayıklayıcıya zaten yüklenmiş bir uygulamayı yüklemek için Yüklü Uygulama Paketinde Hata Ayıkla iletişim kutusunu kullanın. Örneğin, Microsoft Store'dan yüklenen bir uygulamanın hatalarını ayıklayabilir veya uygulamanın kaynak dosyalarına sahip olduğunuzda bir uygulamada hata ayıklayabilirsiniz, ancak uygulama için Visual Studio projesine sahip olmayabilirsiniz. Yüklü Uygulama Paketinde Hata Ayıkla iletişim kutusu, bir uygulamayı Visual Studio makinesinde veya uzak bir cihazda hata ayıklama modunda başlatmanıza veya uygulamayı hata ayıklama modunda çalışacak ancak başlatmayacak şekilde ayarlamanıza olanak tanır. Daha fazla bilgi için bkz . Yüklü bir uygulama paketinde hata ayıklama.

Uygulama hata ayıklayıcıya yüklendikten sonra, yukarıda açıklanan yordamlardan herhangi birini kullanabilirsiniz.

Arka plan görevi etkinleştirme hatalarını tanılama

Arka plan altyapısı için Windows Olay Görüntüleyicisi tanılama günlükleri, arka plan görevi hatalarını tanılamak ve gidermek için kullanabileceğiniz ayrıntılı bilgileri içerir. Günlüğü görüntülemek için:

  1. Olay Görüntüleyicisi uygulamasını açın.

  2. Eylemler bölmesinde Görünüm'ü seçin ve Analiz ve Hata Ayıklama Günlüklerini Göster'in işaretli olduğundan emin olun.

  3. Olay Görüntüleyicisi (Yerel) ağacında Uygulama ve Hizmet Günlükleri>Microsoft>Windows>BackgroundTasksInfrastructure düğümlerini genişletin.

  4. Tanılama günlüğünü seçin.