Bagikan melalui


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.

Di mana mendapatkan PLMDebug

PLMDebug.exe disertakan dalam Alat Penelusuran Kesalahan 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 contoh:

"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 berjalan untuk semua paket yang diinstal.

/enableDebug Paket [DebuggerCommandLine]
Menaikkan jumlah referensi debug untuk paket. Paket dikecualikan dari kebijakan PLM jika memiliki jumlah referensi debug non-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.

/menyelesaikan Paket
Mengakhiri paket.

/forceTerminate Paket
Memaksa penghentian paket.

/cleanTerminate Paket
Menangguhkan dan kemudian mengakhiri paket.

/Menangguhkan Paket
Menangguhkan paket.

/melanjutkan Paket
Melanjutkan paket.

/disableDebug Paket
Mengurangi jumlah referensi debug untuk paket.

/enumerateBgTasks Paket
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 mengambil kontrol manual atas manajemen siklus hidup proses 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 sedang berjalan dalam paket.

Contoh

Contoh 1

Lampirkan 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 terinstal. 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 dilampirkan saat aplikasi Anda 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 menelusuri kesalahan, 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 dekremen 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, dekremen 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 mengkueri 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 berada 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, lanjutkan, dan latar belakang saat menelusuri kesalahan aplikasi UWP di Visual Studio

Alat yang Disertakan dalam Alat Debugging untuk Windows