SlideShare a Scribd company logo
1 of 28
Tema Mağazacılık
BT Yazılım Geliştirme Departmanı
İçerik
 Static Code Analysis
 Code Metrics
 Profiling
 IntelliTrace
Static Code Analysis
 Code review, akıl yordamıyla farkedilebilecek hataları
  ya da iyileştirmeleri tespit amaçlı yapılır.
 Static code analysis, standartlara oturtulabilecek
  durumları tespit etmeye ve ileride karşılaşacağımız
  problemlerin sayısını düşürmeye yarar.
 Static code analysis, otomatikleştirilebilir.
Static Code Analysis
 Visual Studio 2010 üzerinde, bir proje için static code
  analysis özelliğini aktif hale getirme
 Kural setlerinin tanımlanması ya da kendi kural
  setimizin oluşturulması
 Proje üzerinde static code analysis çalıştırılması ve
  sonuçların incelenmesi
 Uyarı ya da hatanın giderilmesi
Static Code Analysis
 Arka plandaki tüm işi FxCop yapmaktadır.
 Microsoft tarafından geliştirilmiştir.
 IDE içerisinde yapılabilen herşey ve daha fazlası FxCop
  ile command line üzerinden yapılabilir.
 Reflection yerine, Introspection tekniğini
  kullanmaktadır.
 Introspection engine, mevcut kurallar ve custom rule
  geliştirmeye yarayan tüm araçlar [VS]/Team
  Tools/Static Analysis Tools/FxCop klasörü içerisinde
  bulunmaktadır.
Static Code Analysis
         Sorular???
Code Metrics
 Yazdığımız kodun yönetilebilirliği hakkında bazı
    bilgiler edinmemizi sağlar.
   Maintainability Index
   Cyclomatic Complexity
   Class Coupling
   Lines of Code
   Depth of Inheritance (*)
   Otomatik üretilen kodlar bu değerlendirme dışında
    kalır.
Maintainability Index
 0 – 10 arası düşük yönetilebilirlik
 10 – 20 arası orta yönetilebilirlik
 20 – 100 arası yüksek yönetilebilirlik
Cyclomatic Complexity
 Kodun yapısal karmaşıklığını ifade eder.
 Program içerisinde oluşan farklı pathlerin
  hesaplanması ile bulunur.
 if-else, switch, while, for, foreach gibi kontrol
  statementların her birisinin içerisindeki her mantıksal
  kontrol, +1 karmaşıklık ifade eder.
 Kod ne kadar karmaşık ise, o kod için yazılacak unit
  test sayısı da o kadar fazla olmalıdır.
Depth of Inheritance
 Base class’ı her extend eden seviye için bir artar
Depth of Inheritance
 Rakam büyüdükçe, anlaşılırlık zorlaşmaktadır.
 Namespace ve proje bazındaki değer, içerisinde
 barındırdığı en derin hiyerarşiye eşittir.
Class Coupling
 Bir sınıfın bağımlı olduğu her sınıf için bir artar
Class Coupling
 Primitive tipler (int, double vs) ve built-in yapılar
  (string, object vs) için hesaplanmaz.
 İyi dizayn edilmiş bir yazılım, düşük class coupling
  değerlerine sahip olmalıdır.
 Yüksek class coupling değerlerine sahip yazılımı,
  içerdiği bağımlılıklardan dolayı başka yerlerde
  kullanmak çok zordur.
Lines of Code
 Yaklaşık kod satırı sayısını ifade eder.
 Kod dosyasındaki sayıyı değil, IL kodu içerisindeki
  satır sayısına göre hesaplanır.
 Boşluk, comment, parantez, tanımlama (değişken,
  method, namespace) bu sayıya dahil edilmez.
 Bir sınıf ya da method üzerinde kod satırının yüksek
  olması, o parçanın çok fazla iş yaptığına ve bölünmesi
  gerektiğine işaret eder.
Code Metrics
 Her bir kod metriği için, statik kod analizi kuralı
  mevcuttur. Bu kurallar, proje için aktif hale getirilerek
  her build esnasında kontrol edilmesi sağlanabilir.
Code Metrics
        Sorular???
Profiling
 Profiling; bir uygulamanın belli davranışlarının
  izlenmesi ve bazı metriklerin toplanması sürecine
  verilen isimdir.
 Genellikle, yavaş çalışan ya da yüksek bellek tüketen
  uygulamaları incelemek için kullanılır.
 Genellikle hotspotları tespit etme amacıyla kullanılır.
 Hotspot; bir uygulamada uzun süre ya da sıklıkla
  çalışan kısımlara verilen isimdir.
Visual Studio Profiler
 Performance Session
 Sampling vs Instrumentation
 Sampling; belli aralıklar ile uzun süre boyunca rastgele
  veri toplama ve bu veriyi inceleme suretiyle yapılan
  profiling türüdür.
 Instrumentation; performans problemi yaşanan hedef
  noktalar için kısa süreli, fakat tüm veriyi toplama ve
  inceleme türüdür.
 Instrumentation esnasında, hedef assemblyler
  üzerinde değişiklik yapılır.
Profiling Yaklaşımı
 Hangi tür yaklaşım sergileneceği (sampling vs
    instrumentation) ve bu esnada hangi verilerin
    toplanacağı belirlenir.
   Uygulama çalıştırılarak veri toplanır
   Toplanan veri analiz edilir
   Tespit edilen noktalardaki problemler giderilir.
   Değiştirilen parça için tekrar profiling çalıştırılır ve
    değişiklik olup olmadığı tespit edilir.
   Toplanan veriler karşılaştırılarak performans artış
    raporu hazırlanır.
Profiling Tipleri
 Memory profiling
 Concurrency profiling
Profiling Tipleri
 Windows uygulamaları
 ASP.NET
 Unit Test
 JavaScript
Dikkat Edilmesi Gerekenler
 Instrumentation uygulanan projede aynı zamanda
    code coverage açık olmamalı.
   ASP.NET 2.0 ve üzerinde profiling çalıştırılabilir.
   Remote makinalar üzerinde profiling çalıştırılamaz.
    Profile edilecek uygulama ile aynı yerde çalıştırılması
    gerekir.
   Profile edilecek makinada Visual Studio kurulmak
    istenmiyor ise, command line araçları kullanılabilir.
   Performance session, başka bir ortamda çalıştırılamaz.
    CPU ve ortam spesifik değerler barındırmaktadır.
Profiling
            Sorular???
IntelliTrace
 Test esnasında karşılaşılan bir hatanın, developer
  ortamında tekrar üretilmesi mümkün olmayabilir.
 Genellikle developer, «bu benim makinamda çalışıyor»
  diyerek bu bugı sonlandırır. (no repro)
 Eğer hata hakkında detaylı bir log bulunmuyor ise, bu
  hata sonsuza kadar tester-developer arasında gidip
  gelebilir.
IntelliTrace
 Visual Studio debugging esnasında, breakpoint
  koyarız, adım adım ilerleyerek değişkenlerin
  durumunu ve uygulamanın davranışını izleriz.
 Hatayı yakaladığımız, fakat yanlışlıkla es geçtiğimiz
  zamanda, geri dönmek mümkün olmayabilir, bu
  durumda debugging işlemini en baştan yapmak
  zorunda kalırız.
IntelliTrace
 IntelliTrace, çalışan uygulama hakkında arka planda
  bazı veriler toplar.
 Bu veriler, uygulamanın çalışma esnasında hangi
  veriler ile hangi pathlerden geçtiği gibi bir çok bilgi
  barındırabilir.
 Böylelikle, geçmişte yaşanan bir hatayı şu anda, ileri-
  geri oynatarak debug edebiliriz.
 Normal debug esnasında erişemediğimiz noktalar
  hakkında da bilgi toplar. (file operasyonları, registry
  operasyonları vs)
IntelliTrace
 Production ortamlarında KULLANILAMAZ.
 Sistem izleme amaçlı KULLANILAMAZ.
IntelliTrace
          Sorular???

More Related Content

What's hot

Software development life cycle yazılım geliştirme yaşam döngüsü
Software development life cycle   yazılım geliştirme yaşam döngüsüSoftware development life cycle   yazılım geliştirme yaşam döngüsü
Software development life cycle yazılım geliştirme yaşam döngüsüMesut Günes
 
Davranis Odakli Gelistirmeye Giris, Behat ve Mink
Davranis Odakli Gelistirmeye Giris, Behat ve MinkDavranis Odakli Gelistirmeye Giris, Behat ve Mink
Davranis Odakli Gelistirmeye Giris, Behat ve MinkMustafa Ileri
 
Test Güdümlü Geliştirme ve Birim Testler
Test Güdümlü Geliştirme ve Birim TestlerTest Güdümlü Geliştirme ve Birim Testler
Test Güdümlü Geliştirme ve Birim Testlerserhatlevent910
 
Yazılım Prensipleri ve Code Review Check List
Yazılım Prensipleri ve Code Review Check ListYazılım Prensipleri ve Code Review Check List
Yazılım Prensipleri ve Code Review Check ListDilaver Demirel
 
Clean Code & Refactoring
Clean Code & RefactoringClean Code & Refactoring
Clean Code & Refactoringnedirtv
 
ISTQB Projelerde Spesifikasyona Dayalı Test Teknikleri
ISTQB Projelerde Spesifikasyona Dayalı Test TeknikleriISTQB Projelerde Spesifikasyona Dayalı Test Teknikleri
ISTQB Projelerde Spesifikasyona Dayalı Test TeknikleriPEM Proje Eğitim Merkezi
 

What's hot (8)

Software development life cycle yazılım geliştirme yaşam döngüsü
Software development life cycle   yazılım geliştirme yaşam döngüsüSoftware development life cycle   yazılım geliştirme yaşam döngüsü
Software development life cycle yazılım geliştirme yaşam döngüsü
 
Davranis Odakli Gelistirmeye Giris, Behat ve Mink
Davranis Odakli Gelistirmeye Giris, Behat ve MinkDavranis Odakli Gelistirmeye Giris, Behat ve Mink
Davranis Odakli Gelistirmeye Giris, Behat ve Mink
 
Test Güdümlü Geliştirme ve Birim Testler
Test Güdümlü Geliştirme ve Birim TestlerTest Güdümlü Geliştirme ve Birim Testler
Test Güdümlü Geliştirme ve Birim Testler
 
Php unit ve tdd
Php unit ve tddPhp unit ve tdd
Php unit ve tdd
 
ISTQB PROJELERDE HATA YÖNETİMİ
ISTQB PROJELERDE HATA YÖNETİMİISTQB PROJELERDE HATA YÖNETİMİ
ISTQB PROJELERDE HATA YÖNETİMİ
 
Yazılım Prensipleri ve Code Review Check List
Yazılım Prensipleri ve Code Review Check ListYazılım Prensipleri ve Code Review Check List
Yazılım Prensipleri ve Code Review Check List
 
Clean Code & Refactoring
Clean Code & RefactoringClean Code & Refactoring
Clean Code & Refactoring
 
ISTQB Projelerde Spesifikasyona Dayalı Test Teknikleri
ISTQB Projelerde Spesifikasyona Dayalı Test TeknikleriISTQB Projelerde Spesifikasyona Dayalı Test Teknikleri
ISTQB Projelerde Spesifikasyona Dayalı Test Teknikleri
 

Similar to Visual Studio Developer Tools

Visual studio 2010 ve tfs 2010 yeni takim gelistirme ozellikleri
Visual studio 2010 ve tfs 2010 yeni takim gelistirme ozellikleriVisual studio 2010 ve tfs 2010 yeni takim gelistirme ozellikleri
Visual studio 2010 ve tfs 2010 yeni takim gelistirme ozellikleriMurat Başeren
 
Analist Eğitimi - Tüm Bölümler - [535 Slides]
Analist Eğitimi - Tüm Bölümler -  [535 Slides]Analist Eğitimi - Tüm Bölümler -  [535 Slides]
Analist Eğitimi - Tüm Bölümler - [535 Slides]Erol Bozkurt
 
Yazilim mi̇mari̇leri̇(aoy)
Yazilim mi̇mari̇leri̇(aoy)Yazilim mi̇mari̇leri̇(aoy)
Yazilim mi̇mari̇leri̇(aoy)Ahmet Yanik
 
Kurumsal Yazılım Geliştirme ve Visual Studio 2008
Kurumsal Yazılım Geliştirme ve Visual Studio 2008Kurumsal Yazılım Geliştirme ve Visual Studio 2008
Kurumsal Yazılım Geliştirme ve Visual Studio 2008mtcakmak
 
ASP.Net MVC ile Web Uygulamaları -12(Test Drive Developmet)
ASP.Net MVC ile Web Uygulamaları -12(Test Drive Developmet)ASP.Net MVC ile Web Uygulamaları -12(Test Drive Developmet)
ASP.Net MVC ile Web Uygulamaları -12(Test Drive Developmet)İbrahim ATAY
 
Silk Test Framework Kurulumu ve Yazılım Test Otomasyon Mimarisine Giriş
Silk Test Framework Kurulumu ve Yazılım Test Otomasyon Mimarisine GirişSilk Test Framework Kurulumu ve Yazılım Test Otomasyon Mimarisine Giriş
Silk Test Framework Kurulumu ve Yazılım Test Otomasyon Mimarisine GirişBurak AVCI, MEM, PSM I®
 
45965 php-source-code-analysis
45965 php-source-code-analysis45965 php-source-code-analysis
45965 php-source-code-analysisAttaporn Ninsuwan
 
Tersine Mühendislik 101
Tersine Mühendislik 101Tersine Mühendislik 101
Tersine Mühendislik 101Fatih Erdoğan
 
Yazilim projeleri maliyet tahmini ve cocomo modeli
Yazilim projeleri maliyet tahmini ve cocomo modeliYazilim projeleri maliyet tahmini ve cocomo modeli
Yazilim projeleri maliyet tahmini ve cocomo modeliZafer Düzen
 
GDO'suz Yazılım Geliştirme Teknikleri
GDO'suz Yazılım Geliştirme TeknikleriGDO'suz Yazılım Geliştirme Teknikleri
GDO'suz Yazılım Geliştirme TeknikleriLemi Orhan Ergin
 
1. nesneye dayalı programlama giriş
1. nesneye dayalı programlama   giriş1. nesneye dayalı programlama   giriş
1. nesneye dayalı programlama girişkarmuhtam
 
Yazilim Gelistirme Yöntemleri
Yazilim Gelistirme YöntemleriYazilim Gelistirme Yöntemleri
Yazilim Gelistirme Yöntemlerim_korkmaz
 
Test Driven Development
Test Driven Development Test Driven Development
Test Driven Development Nezir Yürekli
 
Web İçin Teknoloji Geliştirmek
Web İçin Teknoloji GeliştirmekWeb İçin Teknoloji Geliştirmek
Web İçin Teknoloji GeliştirmekVolkan Özçelik
 
Solarwinds SAM ve Patch Manager
Solarwinds SAM ve Patch ManagerSolarwinds SAM ve Patch Manager
Solarwinds SAM ve Patch ManagerKavi International
 

Similar to Visual Studio Developer Tools (20)

Visual studio 2010 ve tfs 2010 yeni takim gelistirme ozellikleri
Visual studio 2010 ve tfs 2010 yeni takim gelistirme ozellikleriVisual studio 2010 ve tfs 2010 yeni takim gelistirme ozellikleri
Visual studio 2010 ve tfs 2010 yeni takim gelistirme ozellikleri
 
Analist Eğitimi - Tüm Bölümler - [535 Slides]
Analist Eğitimi - Tüm Bölümler -  [535 Slides]Analist Eğitimi - Tüm Bölümler -  [535 Slides]
Analist Eğitimi - Tüm Bölümler - [535 Slides]
 
Bilgi sis..
Bilgi sis..Bilgi sis..
Bilgi sis..
 
Yazilim mi̇mari̇leri̇(aoy)
Yazilim mi̇mari̇leri̇(aoy)Yazilim mi̇mari̇leri̇(aoy)
Yazilim mi̇mari̇leri̇(aoy)
 
Kurumsal Yazılım Geliştirme ve Visual Studio 2008
Kurumsal Yazılım Geliştirme ve Visual Studio 2008Kurumsal Yazılım Geliştirme ve Visual Studio 2008
Kurumsal Yazılım Geliştirme ve Visual Studio 2008
 
ASP.Net MVC ile Web Uygulamaları -12(Test Drive Developmet)
ASP.Net MVC ile Web Uygulamaları -12(Test Drive Developmet)ASP.Net MVC ile Web Uygulamaları -12(Test Drive Developmet)
ASP.Net MVC ile Web Uygulamaları -12(Test Drive Developmet)
 
Silk Test Framework Kurulumu ve Yazılım Test Otomasyon Mimarisine Giriş
Silk Test Framework Kurulumu ve Yazılım Test Otomasyon Mimarisine GirişSilk Test Framework Kurulumu ve Yazılım Test Otomasyon Mimarisine Giriş
Silk Test Framework Kurulumu ve Yazılım Test Otomasyon Mimarisine Giriş
 
45965 php-source-code-analysis
45965 php-source-code-analysis45965 php-source-code-analysis
45965 php-source-code-analysis
 
Tersine Mühendislik 101
Tersine Mühendislik 101Tersine Mühendislik 101
Tersine Mühendislik 101
 
Yazilim projeleri maliyet tahmini ve cocomo modeli
Yazilim projeleri maliyet tahmini ve cocomo modeliYazilim projeleri maliyet tahmini ve cocomo modeli
Yazilim projeleri maliyet tahmini ve cocomo modeli
 
Yazılım Gereksinim Mühendisliği Semineri
Yazılım Gereksinim Mühendisliği SemineriYazılım Gereksinim Mühendisliği Semineri
Yazılım Gereksinim Mühendisliği Semineri
 
GDO'suz Yazılım Geliştirme Teknikleri
GDO'suz Yazılım Geliştirme TeknikleriGDO'suz Yazılım Geliştirme Teknikleri
GDO'suz Yazılım Geliştirme Teknikleri
 
1. nesneye dayalı programlama giriş
1. nesneye dayalı programlama   giriş1. nesneye dayalı programlama   giriş
1. nesneye dayalı programlama giriş
 
Yazilim Gelistirme Yöntemleri
Yazilim Gelistirme YöntemleriYazilim Gelistirme Yöntemleri
Yazilim Gelistirme Yöntemleri
 
Test Driven Development
Test Driven Development Test Driven Development
Test Driven Development
 
Web İçin Teknoloji Geliştirmek
Web İçin Teknoloji GeliştirmekWeb İçin Teknoloji Geliştirmek
Web İçin Teknoloji Geliştirmek
 
Jenkins Notlarım
Jenkins NotlarımJenkins Notlarım
Jenkins Notlarım
 
BTRisk Zararlı Yazılım Analizi Eğitimi Sunumu - Bölüm 1
BTRisk Zararlı Yazılım Analizi Eğitimi Sunumu - Bölüm 1BTRisk Zararlı Yazılım Analizi Eğitimi Sunumu - Bölüm 1
BTRisk Zararlı Yazılım Analizi Eğitimi Sunumu - Bölüm 1
 
Solarwinds SAM ve Patch Manager
Solarwinds SAM ve Patch ManagerSolarwinds SAM ve Patch Manager
Solarwinds SAM ve Patch Manager
 
Jenkins
JenkinsJenkins
Jenkins
 

Visual Studio Developer Tools

  • 1. Tema Mağazacılık BT Yazılım Geliştirme Departmanı
  • 2. İçerik  Static Code Analysis  Code Metrics  Profiling  IntelliTrace
  • 3. Static Code Analysis  Code review, akıl yordamıyla farkedilebilecek hataları ya da iyileştirmeleri tespit amaçlı yapılır.  Static code analysis, standartlara oturtulabilecek durumları tespit etmeye ve ileride karşılaşacağımız problemlerin sayısını düşürmeye yarar.  Static code analysis, otomatikleştirilebilir.
  • 4. Static Code Analysis  Visual Studio 2010 üzerinde, bir proje için static code analysis özelliğini aktif hale getirme  Kural setlerinin tanımlanması ya da kendi kural setimizin oluşturulması  Proje üzerinde static code analysis çalıştırılması ve sonuçların incelenmesi  Uyarı ya da hatanın giderilmesi
  • 5. Static Code Analysis  Arka plandaki tüm işi FxCop yapmaktadır.  Microsoft tarafından geliştirilmiştir.  IDE içerisinde yapılabilen herşey ve daha fazlası FxCop ile command line üzerinden yapılabilir.  Reflection yerine, Introspection tekniğini kullanmaktadır.  Introspection engine, mevcut kurallar ve custom rule geliştirmeye yarayan tüm araçlar [VS]/Team Tools/Static Analysis Tools/FxCop klasörü içerisinde bulunmaktadır.
  • 6. Static Code Analysis Sorular???
  • 7. Code Metrics  Yazdığımız kodun yönetilebilirliği hakkında bazı bilgiler edinmemizi sağlar.  Maintainability Index  Cyclomatic Complexity  Class Coupling  Lines of Code  Depth of Inheritance (*)  Otomatik üretilen kodlar bu değerlendirme dışında kalır.
  • 8. Maintainability Index  0 – 10 arası düşük yönetilebilirlik  10 – 20 arası orta yönetilebilirlik  20 – 100 arası yüksek yönetilebilirlik
  • 9. Cyclomatic Complexity  Kodun yapısal karmaşıklığını ifade eder.  Program içerisinde oluşan farklı pathlerin hesaplanması ile bulunur.  if-else, switch, while, for, foreach gibi kontrol statementların her birisinin içerisindeki her mantıksal kontrol, +1 karmaşıklık ifade eder.  Kod ne kadar karmaşık ise, o kod için yazılacak unit test sayısı da o kadar fazla olmalıdır.
  • 10. Depth of Inheritance  Base class’ı her extend eden seviye için bir artar
  • 11. Depth of Inheritance  Rakam büyüdükçe, anlaşılırlık zorlaşmaktadır.  Namespace ve proje bazındaki değer, içerisinde barındırdığı en derin hiyerarşiye eşittir.
  • 12. Class Coupling  Bir sınıfın bağımlı olduğu her sınıf için bir artar
  • 13. Class Coupling  Primitive tipler (int, double vs) ve built-in yapılar (string, object vs) için hesaplanmaz.  İyi dizayn edilmiş bir yazılım, düşük class coupling değerlerine sahip olmalıdır.  Yüksek class coupling değerlerine sahip yazılımı, içerdiği bağımlılıklardan dolayı başka yerlerde kullanmak çok zordur.
  • 14. Lines of Code  Yaklaşık kod satırı sayısını ifade eder.  Kod dosyasındaki sayıyı değil, IL kodu içerisindeki satır sayısına göre hesaplanır.  Boşluk, comment, parantez, tanımlama (değişken, method, namespace) bu sayıya dahil edilmez.  Bir sınıf ya da method üzerinde kod satırının yüksek olması, o parçanın çok fazla iş yaptığına ve bölünmesi gerektiğine işaret eder.
  • 15. Code Metrics  Her bir kod metriği için, statik kod analizi kuralı mevcuttur. Bu kurallar, proje için aktif hale getirilerek her build esnasında kontrol edilmesi sağlanabilir.
  • 16. Code Metrics Sorular???
  • 17. Profiling  Profiling; bir uygulamanın belli davranışlarının izlenmesi ve bazı metriklerin toplanması sürecine verilen isimdir.  Genellikle, yavaş çalışan ya da yüksek bellek tüketen uygulamaları incelemek için kullanılır.  Genellikle hotspotları tespit etme amacıyla kullanılır.  Hotspot; bir uygulamada uzun süre ya da sıklıkla çalışan kısımlara verilen isimdir.
  • 18. Visual Studio Profiler  Performance Session  Sampling vs Instrumentation  Sampling; belli aralıklar ile uzun süre boyunca rastgele veri toplama ve bu veriyi inceleme suretiyle yapılan profiling türüdür.  Instrumentation; performans problemi yaşanan hedef noktalar için kısa süreli, fakat tüm veriyi toplama ve inceleme türüdür.  Instrumentation esnasında, hedef assemblyler üzerinde değişiklik yapılır.
  • 19. Profiling Yaklaşımı  Hangi tür yaklaşım sergileneceği (sampling vs instrumentation) ve bu esnada hangi verilerin toplanacağı belirlenir.  Uygulama çalıştırılarak veri toplanır  Toplanan veri analiz edilir  Tespit edilen noktalardaki problemler giderilir.  Değiştirilen parça için tekrar profiling çalıştırılır ve değişiklik olup olmadığı tespit edilir.  Toplanan veriler karşılaştırılarak performans artış raporu hazırlanır.
  • 20. Profiling Tipleri  Memory profiling  Concurrency profiling
  • 21. Profiling Tipleri  Windows uygulamaları  ASP.NET  Unit Test  JavaScript
  • 22. Dikkat Edilmesi Gerekenler  Instrumentation uygulanan projede aynı zamanda code coverage açık olmamalı.  ASP.NET 2.0 ve üzerinde profiling çalıştırılabilir.  Remote makinalar üzerinde profiling çalıştırılamaz. Profile edilecek uygulama ile aynı yerde çalıştırılması gerekir.  Profile edilecek makinada Visual Studio kurulmak istenmiyor ise, command line araçları kullanılabilir.  Performance session, başka bir ortamda çalıştırılamaz. CPU ve ortam spesifik değerler barındırmaktadır.
  • 23. Profiling Sorular???
  • 24. IntelliTrace  Test esnasında karşılaşılan bir hatanın, developer ortamında tekrar üretilmesi mümkün olmayabilir.  Genellikle developer, «bu benim makinamda çalışıyor» diyerek bu bugı sonlandırır. (no repro)  Eğer hata hakkında detaylı bir log bulunmuyor ise, bu hata sonsuza kadar tester-developer arasında gidip gelebilir.
  • 25. IntelliTrace  Visual Studio debugging esnasında, breakpoint koyarız, adım adım ilerleyerek değişkenlerin durumunu ve uygulamanın davranışını izleriz.  Hatayı yakaladığımız, fakat yanlışlıkla es geçtiğimiz zamanda, geri dönmek mümkün olmayabilir, bu durumda debugging işlemini en baştan yapmak zorunda kalırız.
  • 26. IntelliTrace  IntelliTrace, çalışan uygulama hakkında arka planda bazı veriler toplar.  Bu veriler, uygulamanın çalışma esnasında hangi veriler ile hangi pathlerden geçtiği gibi bir çok bilgi barındırabilir.  Böylelikle, geçmişte yaşanan bir hatayı şu anda, ileri- geri oynatarak debug edebiliriz.  Normal debug esnasında erişemediğimiz noktalar hakkında da bilgi toplar. (file operasyonları, registry operasyonları vs)
  • 27. IntelliTrace  Production ortamlarında KULLANILAMAZ.  Sistem izleme amaçlı KULLANILAMAZ.
  • 28. IntelliTrace Sorular???