Remote Debugging Nedir ve Nasıl Uygulanır?

by - Eylül 09, 2016

#Remote Debugging Nedir?#
    -Remote Debugging sunucu üzerindeki projelerde hata ayıklamak(debuglamak) için kullanılan yöntemdir.

#Remote Debugging Nasıl Uygulanır?#
    -Remote Debugging erişim sağlayabildiğiniz tüm sunuculara uygulayabilirsiniz.

#Remote Debugging'e Neden İhtiyaç Duyulur?#
    -Yazılım geliştiricilerinin en büyük problemlerinden biriside sunucu konfigürasyonlarını ayarlamalarıdır.Çoğunlukla dosya yolu sorunu yada dosya yazma-okuma izin problemlerini ortadan kaldırmak için "Remote Debugging"e ihtiyaç duyulur.

  • Uygulamanın Yapılacağı Ortam
  1. IDE    --> Visual Studio 2013 Ultimate
  2. SERVER --> Vmware Windows Server 2012 

-"https://www.microsoft.com/en-us/download/details.aspx?id=48156" link üzerinden sunucuya kurulmak üzere rtools dosyasını indiriniz.


-İndirilen dosyayı sunucunuza aktarınız.


-İndirilen dosyayı sunucunuza yükleyiniz.


-Sunucu üzerinde yüklenen "Remote Debugger" programını "Run as administrator" seçeniğine tıklayarak başlatınız.


-Açılan program üzerinden "Tools->Options" kısmından gerekli ayarlamaları yapabilirsiniz.



-TCP/IP portu default olarak 4018 olarak belirlenmiştir.Burada dikkat edilmesi gereken husus erişim sağlayacağınız sunucunun ve istemcinin eğerki varsa Güvenlik Duvarları(Firewall) üzerindeki portların izinli olmasıdır aksi takdirde bağlantı gerçekleşmeyecektir.Dilerseniz sunucunuza Kullanıcı Adı ve Parola ile girebilir yada "No Authenticate" seçeneğini seçerek Kullanıcı Adı ve Parola doğrulaması yapılmadan sunucu ile bağlantı sağlayabilirsiniz. 


-Visual Studio 2013 üzerinden "DEBUG->Attach to Process..." tıklayınız.


-"Find" butonuna tıklayarak bağlanmak istediğiniz sunucuyu seçiniz.
Kullanıdığım sunucu VMware üzerinde Windows Server 2012 sanal sunucusudur ve "My Subnet" altında direkt olarak görüntülenmiştir.Dilerseniz uzak sunucunuzun IP adresini girerekte sunucunuza bağlanabilirsiniz.Bağlanacağınız sunucu için "Select" butonuna tıklayınız.Sunucu üzerindeki tüm işlemleri görüntüleyebilmek için "Show all processes from all users" checkboxını check olarak işaretleyiniz.


-Sunucu bağlantınızın başarılı olup olmadığınızı kontrol ediniz.


-Visual Studio 2013 üzerinde sunucu üzerindeki hangi işlemlerin çalıştığını görüntüleyebilirsiniz.


-Sunucu üzerinde "IIS Manager(Internet Information Service Manager)" programını başlatınız. 


-Visual Studio 2013 üzerinde sunucu üzerindeki işlemleri tekrar görüntelediğinizde "w3wp.exe" yani hata ayıklayacağım projemin, işleminin listelendiğini görüyoruz.


-"w3wp.exe" işlemini seçip "Attach" butonuna tıklayınız.



-Visual Studio 2013 üzerinden "DEBUG->Windows->Modules" penceresini açınız.Ayrıca "Process" kısmından da hangi processin attach edildiğinin kontrolünü yapabilirsiniz.Görüldüğü gibi ID'si 5920 olan "w3wp.exe" process attach edilmiştir.


-Projenizdeki bazı modülleriniz için "Symbol File" yüklemeniz gerekmektedir.Kendi projemde bulunan "Application.Core.dll" dosyası için .pdb uzantılı dosyayı yüklüyorum.

-PDB uzantılı dosyalar Program Debug Database türündeki dosyalardır ve içlerinde hata ayıklama bilgilerini tutarlar.Her "Remote Debugging" işleminde bu dosyaların dosya yolları yüklenmelidir.Eğerki bu dosyaları kaydederseniz "Symbol File" dosyaları direkt olarak yüklenecektir.


-Projenizdeki dll dosyaları için .pdb "Symbol File" dosya yolunu gösteriniz.


-Örn:"Application.Service.dll" dosyası için .pdb "Symbol File" dosya yolunu gösteriyorum.



-"Tools->Options->Debugging->Symbols" kısmından daha önceden kaydedilmiş "Symbol File" dosyalarının konumlarını belirtebilirsiniz.Böylece "Remote Debugging" işlemi için sürekli manuel olarak dosya yolu göstermenize gerek kalmayacaktır. 


-Herhangi bir browser üzerinden url kısmına sunucunuz üzerindeki uygulamanıza erişip dilerseniz Javascript üzerindende hata ayıklayarak kontrol edebilirsiniz. 



-Visual Studo 2013 üzerinde koymuş olduğum "Break Point" e istek doğru bir şekilde gelip hata ayıklama işlemine buradan devam edebilirsiniz.



Faydalı olması dileğiyle...

Kaynakça:



You May Also Like

1 Yorum