İlginizi Çekebilir
  1. Ana Sayfa
  2. Dynamics CRM
  3. Dynamics CRM 2015 Kodlama Mimarisi – Bölüm 9 – Plug-in’i Debug Etmek

Dynamics CRM 2015 Kodlama Mimarisi – Bölüm 9 – Plug-in’i Debug Etmek

Dynamics-CRM-2015-Kodlama-Mimarisi-Bolum-9-Plug-in-i-Debug-Etmek

CRM 2015 içerisinde yazmış olduğumuz bir plug-in’i debug etmenin iki temel yolu bulunmakta. Birinci yol çalışan sisteme Visual Studio ile attach olarak yapılan, ikinci yol ise plug-in profiller kullanmak. Profiller için Microsoft dokümantasyonlarda plug-in performansını ölçmek için kullanılıyor dese de aslında 1. Yöntemden daha sağlıklı olduğunu söyleyebilirim. Özellikle Online sistemler için başka çareniz de yok zaten.

Servis’lere Attach Olarak Debug Etme

Plug-in’i sisteme kaydettikten sonra Visual Studio ile nereye attach olacağımızı seçmemiz gerekmekte.


Resim-1

Online : CRM Web arabirimini

Offline : Outllok Client gibi offline yapıdaki yazılımlar

Kendimize uygun olan secimi yaptıktan sonra geriye bir tek breakpoint’i seçip attach olmak kalıyor.

Visual Studio’yu açıp “Attach to Process..” diyoruz.


Resim-2

Sonra aşağıdaki ekran görüntüsü gelecek ve ilgili servisi seçeceğiz.


Resim-3

Aşağıdaki ekran görüntüsünde de görüldüğü üzere Visual Studio ilgili yerde devreye girecek ve bizim kodu debug etmemizi sağlayacaktır.


Resim-4

İşlem bu kadar basit sadece dikkat etmeniz gereken noktalar bulunmakta;

  1. Eger disk’e yaz adımını seçerek plug-in’i sisteme kayit ettiyseniz bu plug-in’in debug modda yeni bir versiyonunu ayni dizine kopyalamak için plug-in üzerinde çalıştığı servisi yeniden başlatmanız gerekir.
  2. Plug-in üzerinde değişiklikler yaptığınızda her seferinde registration tool’u ile güncelleme işlemini yapın.
  3. Eğer plug-in’i bu şekilde test edip bütün işlemleri bitirdiyseniz onu veritabanına kaydetmenizi tavsiye ederim. Disk olarak bırakmanız pek önerilen bir yöntem değildir.
  4. Her ne olursa olsun .pdb uzantılı dosyaları assembly klasörü içerisinde bırakmayın.
  5. Sandbox içindeki bir plug-in’i debug etmek istiyorsanız aşağıdaki registery ayarının 1 (DWORD) değeri taşıdığından emin olun : HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\MSCRM\SandboxDebugPlugins

Plug-in Profiller’i kullanarak Debug etme

Bu yöntemi kullanmak birçok bakımdan daha avantajlı nedeni ise CRM size kullanıcının yaptığı hareketi simule ediyor ve böylece siz bunun üzerinden debug ediyorsunuz. Ayrıca çıktıları başkalarına gönderme opsiyonu da bulunmakta. En değerli özelliği ise plug-in’i derleyip CRM’e atmak gibi bir derdiniz yok. Yani bir hata mi yakaladığınız ya da kodun bir yerini mi değiştirmek istiyorsunuz tek yapmanız gereken değişikliği yapıp uygulamaya yeniden bağlanmak ayni kullanıcı hareketi tekrar simule edilecek ve siz de yaptığınız değişikliğin etkilerini göreceksiniz.

Simdi sırasıyla bu işlemi nasıl yapacağımıza bakalım. Öncelikle “Plug-in Registration Tool”‘u açıyoruz ve işlem yapmak istediğimiz organizasyonu seçiyoruz.

Tool üzerindeki “Install Profiller” düğmesine tıklıyoruz. Böylece “Plug-in Profiller”‘da listemizde gözükmeye başlıyor.

Daha sonra test etmek istediğimiz step’i seçiyoruz ve yine toolbar’da yer alan “Start Profilling” düğmesine basıyoruz. Karşımıza aşağıdaki gibi “Profiler Settings” ekranı çıkıyor.


Resim-5

Bu adımda iki seçenekten birini seçmeniz lazım.

  • Exception: Microsoft, Exception yöntemini önermekte gördüğünüz gibi. Bunun anlamı ise su kullanıcı ya da siz plug-in’i tetikledeginizde plug-in çalışacak ve sistem size bir hata mesajı gösterecek. Bu hata mesajı içerisinde plug-i debug etmemize yarayacak bilgiler yer alacak. Bu bilgileri almak için çıkan hata penceresinde “Download Log File” düğmesine basmanız gerekmekte.
  • Persist to Entity: Eğer ikinci adimi seçerseniz bu sefer bütün bilgiler CRM içerisinde bir Entity içerisine yazılacak.

İki adımdan birini seçip plug-in’i tetikleyecek işlemi yaptıktan sonra “Plug-in Registration Tool” içerisinde “Debug” düğmesine tıklamanız gerekmekte.


Resim-6

Karşınıza aşağıdaki gibi bir ekran gelecek. Bu ekran bir önceki seçtiğiniz adıma göre iki işlemden birini yapmanız gerekmekte;

Eğer “Exception” adımını seçtiyseniz “…”‘ya basarak kaydetmiş olduğunuz hata dosyasının yerini gösterin. Eger “Persist To Entity” adimini seçtiyseniz aşağı doğru duran ok düğmesine basınız. Karşınıza şöyle bir ekran çıkacak;


Resim-7

Bu ekrandan kaydettiğiniz profile log’unu seçebilirsiniz.

Sonra sırasıyla .dll dosyanizi sisteme gösterin ve debug etmek istediğiniz Plug-in’i secin. Visual Studio’yu açın ve “PluginRegistration.exe” uygulamasına attach olun. Start Execution düğmesine basın ve breakpoint koyduğunuz yerde bekleyin. Bir sure sonra Visual Studio’a beklediğimiz yere gelecek ve bizim debug etmemizi sağlayacak.


Resim-8

Eger plug-in’de değişiklik yapmanız gerekiyorsa değişiklikleri yapın ama CRM’e atmayın ilk önce biraz önceki adımları uygulayarak kodu tekrar test edin. Artık koddan eminseniz CRM içerisine gönderebilirsiniz güncellediğiniz .dll’i.

Bu arada belirtmeliyimki aşağıda “plug-in traces” bölümünden de debug etmeden kodun nasıl çalıştığını izleyebilirsiniz.


Resim-9

Burada için TracingService ile yazacağınız mesajlar görüntülenecektir.

Bu konuyla ilgili sorularınızı https://forum.mshowto.org linkini kullanarak ulaşacağınız forum sayfamızda sorabilirsiniz.

Referanslar

https://www.mshowto.org

Yorum Yap

Yazar Hakkında

Barış Kanlıca firmalara CRM ve yazılım konusunda danışmanlık yapmaktadır ve yazılım eğitimleri vermektedir. Dynamics CRM alanında yaptığı çalışmalarından dolayı Microsoft kendisine bu alanda sadece 55 kişide olan MVP(Most Valuable Professional) unvanını ve ödülünü vermiştir. Barış Kanlıca birçok üniversite ve seminerde konuşmacı olmaktadır. Kendisi INETA topluluğunun bir konuşmacısıdır. Ayrıca www.yazgelistir.com, www.yazilimgunlugu.com ve www.nedirtv.com sitelerinde bölüm editörüdür.Uzunca bir süredir Londra'da yaşayan Barış Kanlıca ve kurucusu olduğu Mawens Business Solution'da danışmanlık hizmeti vermeye devam etmektedir.

Yorum Yap