Windows 11 ARM Kernel Debugging

Merhabalar,

Geçtiğimiz günlerde yaşanan #crowdstrike probleminden sonra yazılım dünyasının her alaninda hata ayıklamanın önemi daha da iyi anlaşılmış olacaktır.

Bu sebeple, Windows’un yeni adım attığı ARM dünyasında, iki adet Windows 11 ARM sanal makineyi, sanal seri port üzerinden birbirine bağlayıp, kernel debugging yapmamıza olanak sağlayacak ortamı hazırlamaya çalışacağız.

Remote kernel debugging yapmak için iki adet Windows makineye ihtiyacımız olacak. Bunlardan bir tanesi Host, diğeri Target makinemiz olacak. Host olan makine uzerinde debugger calisacak, Target olan ise bu debugger ile baglantili olan ve debug edilen makinemiz olacak. Kisaca, Host uzerinde WinDbg’i kullanacagiz, Target uzerinde etkilerini gorecegiz.

Tüm bu işlemler için M1 işlemcili Mac bir bilgisayarda Parallels Desktop uygulamasını kullanarak bir adet Windows 11 ARM sanal makine oluşturuyoruz.

Yükleme tamamlandıktan sonra, Virtual Machine ayarlarına girip, Hardware sekmesinden TPM Chip cihazını siliyoruz. Bu adım Target makinesini debug moduna alabilmek için gereklidir.

Bu aşamadan sonra kurduğumuz Windows 11 ARM makineyi iki adet Linked Clone olarak ayırıyoruz. Bunlardan bir tanesi Host, diğeri ise Target olarak bize hizmet edecekler.

İki adet Linked Clone oluşturduktan sonra Parallels Desktop Control Center aşagidaki gibi gözükecektir.

Şimdi bu iki makineyi seri port üzerinden bağlamak için yapmamız gereken adımlara geçiyoruz.

Host makinemizin (Windows11_Base_Host) Hardware sekmesine giderek iki makinenin aynı anda bağlı olacağı seri port ekleme işlemini gerçekleştiriyoruz.

Target makinemizin Hardware sekmesine gelerek, seri port ekliyoruz. Bu sefer, listede, az önce “windbg” ismi ile eklediğimiz seri port soketini göreceğiz, listeden onu seçiyoruz.

Son konfigürasyon aşağıda ekran görüntüsünde gösterildiği gibi olmalı. Burada dikkat edilmesi gereken konu, Target tarafının Client modunda, Host tarafının ise Server modunda olmasıdır.

Target tarafının COM üzerinden debug yapılandırmasını yapıyoruz.

Host tarafında ise yapmamız gereken tek şey WinDbg yüklemek, bunun için Microsoft Store’u kullanabilirsiniz.

Tüm bu işlemlerden sonra her iki makineye de restart atıyor ve kapatıyoruz. Sonrasında Host makinemizi başlatıp, WinDbg yardımı ile seri port üzerinden debugging işlemi başlatıyoruz.

Ardından Target makinemizi çalıştırdıktan sonra Host’a seri port üzerinden bağlantı kurduğunu göreceğiz.

Leave a Reply

E-posta adresiniz yayınlanmayacak. Gerekli alanlar * ile işaretlenmişlerdir