Mac için Visual Studio ile hata ayıklama

Şunlar için geçerlidir:yes Mac noiçin Visual Studio Visual Studio

Mac için Visual Studio'da .NET Core, .NET Framework, Unity ve Xamarin uygulamalarını destekleyen hata ayıklayıcılar vardır.

Mac için Visual Studio, Mono çalışma zamanına uygulanan Mono Soft Debugger'ı kullanarak Mac için Visual Studio'nun tüm platformlarda yönetilen kodda hata ayıklamasına olanak tanır.

Hata Ayıklayıcı

Mac için Visual Studio, tüm Xamarin uygulamalarında yönetilen (C# veya F#) kodda hata ayıklamak için Mono Yazılım Hata Ayıklayıcısı'nı kullanır. Mono Soft hata ayıklayıcısı, Mono çalışma zamanında yerleşik olarak bulunan işbirliğine dayalı bir hata ayıklayıcı olmasıyla normal hata ayıklayıcılardan farklıdır; oluşturulan kod ve Mono çalışma zamanı, bir hata ayıklama deneyimi sağlamak için IDE ile birlikte çalışır. Mono çalışma zamanı, mono belgelerinde daha fazla bilgi edinebileceğiniz bir kablo protokolü aracılığıyla hata ayıklama işlevini kullanıma sunar.

LLDB veya GDB gibi sabit hata ayıklayıcılar, hata ayıklanan programın bilgisi veya işbirliği olmadan bir programı denetler. Yerel iOS veya Android kodunda hata ayıklamanız gerekiyorsa Xamarin uygulamalarında hata ayıklarken de yararlı olabilir.

.NET Core ve ASP.NET Core uygulamaları için, Mac için Visual Studio .NET Core hata ayıklayıcısını kullanır. Bu hata ayıklayıcı aynı zamanda işbirliğine dayalı bir hata ayıklayıcıdır ve .NET çalışma zamanıyla çalışır.

Hata ayıklayıcısını kullanma

Herhangi bir uygulamada hata ayıklamaya başlamak için her zaman yapılandırmanın Hata Ayıklama olarak ayarlandığından emin olun. Hata ayıklama yapılandırması kesme noktaları, veri görselleştiricileri kullanma ve çağrı yığınını görüntüleme gibi hata ayıklamayı desteklemek için yararlı bir araç kümesi sağlar:

Debug configuration

Kesme noktası ayarlama

IDE'nizde kesme noktası ayarlamak için, kesmek istediğiniz kodun satır numarasının yanındaki düzenleyicinizin kenar boşluğu alanına tıklayın:

Setting breakpoint in margin

Kesme Noktaları Penceresi'ne giderek kodunuzda ayarlanmış olan tüm kesme noktalarını görüntüleyebilirsiniz:

List of breakpoints

Hata ayıklamayı başlatma

Hata ayıklamayı başlatmak için hedef tarayıcıyı, cihazı veya simülatör/öykünücüyü seçin:

Debug configurationSelect target device

Ardından Yürüt düğmesine veya Cmd + return tuşlarına basarak uygulamanızı dağıtın. Kesme noktasına girdiğinizde kod sarı renkte vurgulanır:

Highlight showing breakpoint has been hit

Bu noktada, kodunuzda neler olduğu hakkında daha fazla bilgi edinmek için nesnelerin değerlerini incelemek için kullanılan gibi hata ayıklama araçları kullanılabilir:

Debug visualizations

Koşullu kesme noktaları

Ayrıca, bir kesme noktasının oluşması gereken koşulları dikte eden kurallar da ayarlayabilirsiniz. Bu, koşullu kesme noktası ekleme olarak bilinir. Koşullu kesme noktası ayarlamak için kesme noktası özellikleri penceresine erişin. Bu pencere iki şekilde yapılabilir:

  • Yeni bir koşullu kesme noktası eklemek için düzenleyici kenar boşluğuna sağ tıklayın, kesme noktası ayarlamak istediğiniz kodun satır numarasının soluna tıklayın ve Yeni Kesme Noktası'nı seçin:

Breakpoint context menu

  • Var olan bir kesme noktasına koşul eklemek için kesme noktasına sağ tıklayın ve Kesme Noktası Özellikleri'ni seçin veya Kesme Noktaları Penceresinde aşağıda gösterilen Kesme Noktasını Düzenle düğmesini seçin:

Edit existing Breakpoint in Breakpoints Window

Ardından, kesme noktasının hangi koşul altında gerçekleşmesini istediğinizi girebilirsiniz:

Edit Breakpoint conditions

Kodda adım adım ilerleterek

Bir kesme noktasına ulaşıldığında, Hata ayıklama araçları programın yürütülmesi üzerinde denetime sahip olmanıza olanak tanır. Mac için Visual Studio dört düğme görüntüleyerek kodu çalıştırmanıza ve adım adım ilerletebilirsiniz. Mac için Visual Studio'da aşağıdaki gibi görünürler:

Buttons to step through code

Dört düğme şunlardır:

  • Yürüt - Bu işlem, sonraki kesme noktasına kadar kodu yürütmeye başlar.
  • Üzerinden Adım At - Bu işlem bir sonraki kod satırını yürütür. Sonraki satır bir işlev çağrısıysa, Step Over işlevi yürütür ve işlevden sonraki kod satırında durur.
  • Adımla - Bu işlem bir sonraki kod satırını da yürütür. Sonraki satır bir işlev çağrısıysa, Adımla işlevin ilk satırında durur ve işlevin satır satır hata ayıklamasına devam edebilirsiniz. Sonraki satır bir işlev değilse, AdımLa işleviyle aynı şekilde davranır.
  • Step Out - Bu, geçerli işlevin çağrıldığı satıra döner.

Bundan sonra hangi deyimin yürütüleceğini değiştirme

Hata ayıklayıcı duraklatıldığında, kenar boşluğundaki bir ok yürütülecek sonraki kod satırını gösterir. Hangi deyimin yürütüleceğini değiştirmek için oku seçip farklı bir kod satırına sürükleyebilirsiniz. Bir kod satırına sağ tıklayıp bağlam menüsünden Sonraki Deyimi Ayarla'yı seçerek de aynı şeyi elde edebilirsiniz.

Drag and drop arrow to set next statement

Dikkat

Geçerli yürütme satırının değiştirilmesi uygulamada beklenmeyen davranışlara neden olabilir. Ayrıca, bir sonraki deyimi yürütülecek şekilde değiştirmenin mümkün olmadığı bazı koşullar da vardır. Örneğin, oku bir yöntemden başka bir yönteme sürüklemek işe yaramaz. Bu desteklenmeyen durumlarda, Mac için Visual Studio geçerli yürütme satırını değiştirmenin mümkün olmadığını bildirmek için bir iletişim kutusu görüntüler.

Mono'nun sınıf kitaplıklarında hata ayıklama

Xamarin ürünleri Mono'nun sınıf kitaplıkları için kaynak koduyla birlikte gönderilir ve bu kodu kullanarak hata ayıklayıcıdan tek adım atarak işlerin arka planda nasıl çalıştığını inceleyebilirsiniz.

Bu özellik hata ayıklama sırasında daha fazla bellek kullandığından varsayılan olarak kapalıdır.

Bu özelliği etkinleştirmek için Mac > için Visual Studio Tercihleri > Hata Ayıklayıcısı'na gidin ve aşağıda gösterildiği gibi "Dış koda adımla" seçeneğinin belirlendiğinden emin olun:

Step into external code option

Ayrıca bkz.