Mac için Visual Studio ile hata ayıklama

Önemli

Mac için Visual Studio, Microsoft'un Modern Yaşam Döngüsü İlkesi uyarınca 31 Ağustos 2024'te kullanımdan kaldırılıyor. Mac için Visual Studio ile çalışmaya devam edebilirsiniz ancak Mac'te geliştiriciler için vs Code için yeni C# Dev Kit uzantısının önizleme sürümü gibi birkaç seçenek daha vardır.

Destek zaman çizelgeleri ve alternatifleri hakkında daha fazla bilgi edinin.

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#) kodunda hata ayıklamak için Mono Yumuşak 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ısı 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 yine 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ısı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 bastığınızda 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 ve bu pencere iki şekilde yapılabilir:

  • Yeni bir koşullu kesme noktası eklemek için, kesme noktası ayarlamak istediğiniz kodun satır numarasının sol tarafındaki düzenleyici kenar boşluğuna sağ 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ı Penceresi'nde 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ımlama

Bir kesme noktasına ulaşıldığında, Hata Ayıklama araçları programın yürütülmesi üzerinde denetim sahibi olmanıza olanak tanır. Mac için Visual Studio dört düğme görüntüleyerek kodu çalıştırmanızı ve adım adım izlemenizi sağlar. 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.
  • Step Over - 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, 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 aynı şekilde davranır.
  • Step Out - Bu, geçerli işlevin çağrıldığı satıra döner.

Hangi deyimin daha sonra 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. Ayrıca 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. Desteklenmeyen bu 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ımda işlerin 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ı'nagidin 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.