PLMDebug

PLMDebug.exe adalah alat yang memungkinkan Anda menggunakan debugger Windows untuk men-debug aplikasi Windows, yang berjalan di bawah Manajemen Siklus Hidup Proses (PLM). Dengan PLMDebug, Anda dapat mengambil kontrol manual untuk menangguhkan, melanjutkan, dan mengakhiri aplikasi Windows.

Tips Dengan Windows 10, versi 1607 atau yang lebih baru, Anda dapat menggunakan perintah UWP, seperti .createpackageapp untuk men-debug aplikasi UWP. Untuk informasi selengkapnya, lihat Men-debug aplikasi UWP menggunakan WinDbg.

Tempat mendapatkan PLMDebug

PLMDebug.exe disertakan dalam Alat Debugging untuk Windows.

plmdebug /query [Package]
plmdebug /enableDebug Package [DebuggerCommandLine]
plmdebug /terminate Package
plmdebug /forceterminate Package
plmdebug /cleanterminate Package
plmdebug /suspend Package
plmdebug /resume Package
plmdebug /disableDebug Package
plmdebug /enumerateBgTasks Package
plmdebug /activateBgTask "{TaskID}"

Parameter

Paket
Nama lengkap paket atau ID proses yang sedang berjalan.

DebuggerCommandLine
Baris perintah untuk membuka debugger. Baris perintah harus menyertakan jalur lengkap ke debugger. Jika jalur memiliki spasi kosong, jalur harus diapit dalam tanda kutip. Baris perintah juga dapat menyertakan argumen. Berikut adalah beberapa contohnya:

"C:\Program Files (x86)\Windows Kits\8.0\Debuggers\x64\WinDbg.exe"

"\"C:\Program Files\Debugging Tools for Windows (x64)\WinDbg.exe\" -server npipe:pipe=test"

/query [Package]
Menampilkan status berjalan untuk paket yang terinstal. Jika Paket tidak ditentukan, perintah ini menampilkan status yang sedang berjalan untuk semua paket yang diinstal.

/enableDebugPackage [DebuggerCommandLine]
Menaikkan jumlah referensi debug untuk paket. Paket dikecualikan dari kebijakan PLM jika memiliki jumlah referensi debug bukan nol. Setiap panggilan ke /enableDebug harus dipasangkan dengan panggilan ke /disableDebug. Jika Anda menentukan DebuggerCommandLine, debugger akan melampirkan saat aplikasi apa pun dari paket diluncurkan.

/hentikanPaket
Menghentikan paket.

/forceTerminatePackage
Memaksa penghentian paket.

/cleanTerminatePackage
Menangguhkan dan kemudian mengakhiri paket.

/suspendPackage
Menangguhkan paket.

Paket /resume
Melanjutkan paket.

/disableDebugPackage
Mengurangi jumlah referensi debug untuk paket.

Paket /enumerateBgTasks
Menghitung id tugas latar belakang untuk paket.

/activateBgTask "{TaskId}"
Mengaktifkan tugas latar belakang. Perhatikan bahwa tidak semua tugas latar belakang dapat diaktifkan menggunakan PLMDebug. TaskID harus dibungkus dengan tanda kurung kurawal dan tanda kutip. Contohnya:

plmdebug.exe /activatebgtask "{29421c11-1e1a-47a4-9121-949ce9e25456}"

Keterangan

Anda harus memanggil plmdebug /enableDebug sebelum memanggil salah satu fungsi yang ditangguhkan, dilanjutkan, atau dihentikan.

Alat PLMDebug memanggil metode antarmuka IPackageDebugSettings. Antarmuka ini memungkinkan Anda mengontrol manajemen siklus hidup proses secara manual untuk aplikasi Anda. Melalui antarmuka ini (dan sebagai hasilnya, melalui alat ini), Anda dapat menangguhkan, melanjutkan, dan mengakhiri aplikasi Windows Anda. Perhatikan bahwa metode antarmuka IPackageDebugSettings berlaku untuk seluruh paket. Tangguhkan, lanjutkan, dan hentikan memengaruhi semua aplikasi yang saat ini berjalan dalam paket.

Contoh

Contoh 1

Melampirkan debugger saat aplikasi Anda diluncurkan

Misalkan Anda memiliki aplikasi bernama MyApp yang ada dalam paket bernama MyApp_1.0.0.0_x64__tnq5r49etfg3c. Verifikasi bahwa paket Anda diinstal dengan menampilkan nama lengkap dan menjalankan status semua paket yang diinstal. Di jendela Prompt Perintah, masukkan perintah berikut.

plmdebug /query

Package full name: 1daa103b-74e1-426d-8193-b6bc7ed66fed_1.0.0.0_x86__tnq5r49etfg3c
Package state: Terminated

Package full name: 41fb5f27-7b60-4f5e-8459-803673131dd9_1.0.0.0_x86__tnq5r49etfg3c
Package state: Suspended
...
Package full name: MyApp_1.0.0.0_x64__tnq5r49etfg3c
Package state: Terminated
...

Tambahkan jumlah referensi debug untuk paket Anda, dan tentukan bahwa Anda ingin WinDbg melampirkan saat aplikasi diluncurkan.

plmdebug /enableDebug MyApp_1.0.0.0_x64__tnq5r49etfg3c "C:\Program Files (x86)\Windows Kits\8.0\Debuggers\x64\WinDbg.exe"

Saat Anda meluncurkan aplikasi, WinDbg akan melampirkan dan menerobos masuk.

Setelah Anda selesai men-debug, lepaskan debugger. Kemudian turunkan jumlah referensi debug untuk paket Anda.

plmdebug /disableDebug MyApp_1.0.0.0_x64__tnq5r49etfg3c

Contoh 2

Melampirkan debugger ke aplikasi yang sudah berjalan

Misalkan Anda ingin melampirkan WinDbg ke MyApp, yang sudah berjalan. Di WinDbg, pada menu File , pilih Lampirkan ke Proses. Perhatikan ID proses untuk MyApp. Katakanlah ID prosesnya adalah 4816.

Menaikkan jumlah referensi debug untuk paket yang berisi MyApp.

plmdebug /enableDebug 4816

Di WinDbg, dalam kotak dialog Lampirkan ke Proses , pilih proses 4816, dan pilih OK. WinDbg akan dilampirkan ke MyApp.

Setelah Anda selesai men-debug MyApp, lepaskan debugger. Kemudian turunkan jumlah referensi debug untuk paket.

plmdebug /disableDebug 4816

Contoh 3

Menangguhkan dan melanjutkan aplikasi Anda secara manual

Misalkan Anda ingin menangguhkan dan melanjutkan aplikasi secara manual. Pertama, tambahkan jumlah referensi debug untuk paket yang berisi aplikasi Anda.

plmdebug /enableDebug MyApp_1.0.0.0_x64__tnq5r49etfg3c

Menangguhkan paket. Handler yang ditangguhkan aplikasi Anda disebut, yang dapat membantu untuk penelusuran kesalahan.

plmdebug /suspend MyApp_1.0.0.0_x64__tnq5r49etfg3c

Setelah Anda selesai menelusuri kesalahan, lanjutkan paket.

plmdebug /resume MyApp_1.0.0.0_x64__tnq5r49etfg3c

Terakhir, turunkan jumlah referensi debug untuk paket.

plmdebug /disableDebug MyApp_1.0.0.0_x64__tnq5r49etfg3c

Contoh 4

Mengaktifkan tugas latar belakang secara manual

Untuk mengaktifkan tugas latar belakang secara manual untuk penelusuran kesalahan, Anda dapat meminta daftar tugas latar belakang yang terdaftar lalu mengaktifkannya melalui plmdebug.

Kueri pertama kumpulan tugas latar belakang yang terdaftar:

plmdebug /enumeratebgtasks MyApp_1.0.0.0_x64__tnq5r49etfg3c

Package full name is MyApp_1.0.0.0_x64__tnq5r49etfg3c.
Background Tasks:
SampleTask : {50DB0363-D722-4E23-A18F-1EF49B226CC3}

Jika Anda ingin menjamin bahwa tugas diaktifkan, aktifkan mode debug terlebih dahulu. Misalnya, tugas oportunistik seperti tugas yang diaktifkan TimeTrigger tidak akan diaktifkan saat sistem dalam penghemat baterai. Mengaktifkan mode debug pada paket akan memastikan sistem mengabaikan kebijakan yang akan mencegah aktivasi jika tidak.

plmdebug /enabledebug MyApp_1.0.0.0_x64__tnq5r49etfg3c

Kemudian aktifkan tugas yang diinginkan menggunakan GUID pendaftarannya, yang Anda hitung.

plmdebug /activatebgtask "{50DB0363-D722-4E23-A18F-1EF49B226CC3}"

Lihat juga

Cara memicu peristiwa penangguhan, melanjutkan, dan latar belakang saat menelusuri kesalahan aplikasi UWP di Visual Studio

Alat yang Disertakan dalam Alat Debugging untuk Windows