Hata ayıklama

*Bu içerik, yapay zekâ (beta) kullanılarak çevrildi ve hatalar içerebilir. Sayfayı İngilizce görüntülemek için buraya tıkla.

Studio, entegre geliştirme ortamı (IDE'ler) içinde genellikle bulunan birçok debug aleti sunar. Bu araçlar, hataları çözmek ve kodları çalıştırırken satır başına incelemek için yardımcı olur. Debug bilgisi Watch , Call Stack , Breakpoints ve 1>Output1> pencerelerinde görünt

Genel İş Akışı

Eğer deneyiminizde bir problem fark ederseniz veya niyettiğiniz gibi çalıştığından emin olmak isterseniz, bununla ilgili kodu şu şekilde debuglayabilirsiniz:

  1. Kırılma noktalarını kodların satırlarına kodları incelemek için gir.

  2. In the Script tab, click Oyna or Kaçır in the test tab to start a playtest oturum, also known as a debugging oturum.

    Playtest options in Script tab.
  3. Bir senarya bir kırılma noktasına ulaştığında, oyun testi oturumu durdurulur. kodgeçer. Watch , Call Stack ve Output pencerelerini kontrol edin, problemi teşhis etme ve anlamak için yardımcı olmak için.

  4. Hala yürürlükte olmayan kod satırlarında ek göstergeleri görmek için kırılma noktalarını ekstra kırılma noktaları olarak gösterin. devre dışı bırak veya sil kırılma noktalarını gereksiz kırılma noktaları olarak görüntüleyin.

  5. Script sekmesinde, Dur diye tıklayarak debug oturumunu sonlandırın.

Önceki adımları tekrarlayın, sorunu çözenecek kadar yada kök nedenden bulana kadar. Genel iş akışını öğrenirken, belirli koşulları sağlayan yalnızca kırma noktalarını yazdolmak için Output penceresine bir mesaj yazmak için ve sadece Client veya sunucuüzerinde

Kırılma Noktalarının Yerleştirilmesi

Kırılma noktaları, kodlarınızın belirli satırlardaki ifadelerini durdurupya da "kırılma" olarak yeniden ifade etmelerini sağlayan checkpoint'lerdir. bekle değişkenlerini inceleyebilir ve denetleyebilirsiniz ve çağrı stapını inceleyebilirsiniz. Kırılma noktal

Bir kod satırına standart bir bozulma noktası girmeek için, marjinin sağına sol tıklayın. Ayrıca marjinin sağına tıklayın ve "Bir bozulma noktası girme"yi tıklayın. Bozulma noktasının görünmesi için dot'a tıklayın. Onu devre dışı bırakmak için dot'a tıklayın.

Breakpoint in gutter is a red dot

Kod Adımları

Bir kırılma noktasını bir senaryoda bir satıra girerseniz, kırılma noktası önce o satırı yürütmeden önce durur. Ayrıca, "调试器" olarak adlandırılan sarı bir okunun kırılma noktasını gösterir.

Active breakpoint in the debugger shows yellow arrow

Kod askıya alındığında, Kript sekmesindeki düğmelere basarak onlardan bir satır atla bir kere yürüyerek onları yürütün. Butonlar ayrıca Çağrı sekmesindeki pencerede görünür. kodyürütürken deneyiminizin nasıl değiştiğini izleyin.

Debugging tools indicated in Script tab

Aşağıdaki tablo, kodu geçmek için üç yolunu özetlemektedir. Bir kırılma noktasına ulaştıktan sonra kodunuzu devam eden kodu Devam Et tabsindeki Yeniden Özetle butonuna tıklayın.

ButonEylemKısayolAçıklama
Button to step into a line of code Adımı Atla F11Adımıza düğmesi, debugger'ı mevcut satırın işlevine kaydeder. Eğer mevcut satırda işlev yoksa, debugger bir sonraki satıra hareket eder.
Button to step over a line of code Adımın üstüne geçişi F10Hata ayıklama aşaması düğmesi, debugger'ı kodhareket ettirmez.
Button to step out of a line of code Adım Dışarısı ShiftF11Aşağıda Bul düğmesi, derleyiciyi işlev çağrısından sonra kod satırına taşır. Eğer mevcut satır içinde değilse, derleyici kod satırına taşır.

Kodu İnşaat Etme

Bir kırılma noktası deneyin sırasında deneyimi durdurursa, Watch penceresini, Call Stack penceresini, Output penceresini ve 2>Script Editor2> penceresini inceleyebilirsiniz. Bu bilgilerle, sorunun kök nedenini bulabilirsiniz. Bu bilgilerle, sorunun kök nedenini bulabilirsiniz.

Pencereyi izle

İzle penceresinin iki tabı vardır: Değişkenler ve Gözümdeki Değişkenler . 1>Değişkenler1> penceresinin 4>Gözümdeki Değişkenler4> tabı, mevcut değişkenlerin içindeki bilgileri gösterir ve 7>Gözüm

Değişkenler sekmesinin şu sütunları vardır:

  • İsim - Değişkenin ilan edilen adı.
  • Alan – Değişkenin alanı: nerede "görülebilir" ve erişilebilir, bunun gibi Yerel, Global veya Upvalue gibi.
  • Değer - Değişkenin mevcut değeridir.
  • Veri Türü - Değişkenin veri tipi.

Saatlerimin sayfasında şu sütunlar vardır:

  • İfade – Seyretmek istediğiniz ifade.
  • Değer – ifadenin mevcut değeri.
  • Veri Türü – ifadenin veri türü.

Değişkenler sekmesinde, filtre simgesine tıklayarak değişkenlerin alanını filtreleyebilirsiniz. Ayrıca, sıralamak için sütunun adını tıklayarak satır sıralayabilirsiniz. Saat penceresi, hem genişletilmiş hem de kapanmış görüntüleri sağlar.

Watch Window with variable values

Kodu Saat penceresinde incelemek için:

  1. Eğer Gözetleme penceresi açılmazsa, Gözetleme penceresini Görüntü sekmesindeki 1>Görüntüle1> seçeneğini tıklayın.

  2. Oyun testi oturumunuz bir breakpoint'te durduğunda, mevcut satırın bu senaryoda değerleri değiştirmesini nasıl beklediğinizi düşünün.

  3. kodizlerken, değişkenlerin Değişkenler sekmesindeki değerini izleyin. Eğer Değişkenler sekmesinde bir ifadeyi izlemek istiyorsanız, Gözetim sekmesini açın. Bir boş satır içinde ifadeyi yazın, sonra 1>Eklemek

  4. Beklediğiniz ve Watch penceresinde gördüğünüz değişkenlerin ve ifadelerin değerlerine karşılaştırın. Eğer değişkenlerin nasıl beklediğinizden farklı olduğunu ve nasıl aslında değiştiğini gösteren bir farklılık varsa, değişkenler veya onlarla etkileşim kuran işlevler sorunlar veya hatalar yaratabilir.

Call Stack Penceresi

Çağrı Stackı penceresi, çevrimiçi derleyici bir noktaya ulaştığında hangi kodun çalıştırılacağını gösterir. Çağrı Stackı, çevrimiçi derleyiciden bir koda çağrılan ve diğer işlevleri çağırılan ilk kodu g

Call Stack in Studio

Farklı senaryolarda birden fazla kırılma noktası varsa, oyun testi seansını aynı anda askıya alabilirler. Ekranın Çağrı Stack'ındaki isimin yanındaki oklara tıklayarak kırılma noktalarına atlayabilirsiniz. Devam et i tıklarsanız, tüm kırılma noktalarının askıya alındığını görürsünüz

Call Stack with multiple breakpoints

Bir debugging oturumsırasında Call Stack penceresindeki kodu incelemek için:

  1. Çağrı Stack penceresi açılmazsa, Çağrı Stack penceresini Görüntü sekmesindeki 1>Çağrı Stack1>'e tıklayın.

  2. Tecrübeniz bir kırılma noktasında durduğunda, işlev çağrılarının bu senaryoda olmasını nasıl beklediğinizi düşünün.

    Script Editor with two functions and one breakpoint
  3. Çağrı Stack'i, işlev çağrılarının sırasını gösterir. Eğer kırılma noktası bir işlevin içindeyse, Çağrı Stack'i, işlevi çağıran işlevi gösterir, varsa. Çağrı Stack'i ayrıca her işlevin adını ve satır numarasını gösterir. Bir işleve atlamak için satıra tıklayın.

    Click in Call Stack to jump to line
  4. 2. adımda düşündüğünüz işlev çağrılarının sırasını veya adım 3'teki işlev çağrılarının sırasını karşılaştırın. Eğer herhangi bir fark varsa, bu kodun nasıl davranacağını beklediğiniz ve nasıl davranacağının aslı olduğunu gösteren bir fark vardır. Bu nedenle potansiyel sorunlar ve hatalar yaratabilir.

Çıkış penceresi

Çıkışınızı Göster penceresi, Görüntü sekmesinden erişilebilen hataları gösterir, print() captur edilen hatalar, 1> Roblox Engine'inden1> mesajlar, 4> log mesajları4> ve 7> print() 'e çağrılan hatalardan7> .

Kod Editörü

Debugger a Script Editor ile entegre edilmiştir. Bir senaryodaki bir durak noktasında deneyiminizi durdurduğunuzda, mouse'unuzu bir değişkenin isminin üzerine kaydırabilirsiniz. Örneğin, bir fungsiyon çağrısında bir tablinin değerini görmek için bir değişkeni olarak gösterirsiniz.

Mouseover a variable in Script Editor to show value

Kırılma Noktası Yapılandırmaları

Kırma noktalarının sadece belirli koşulların yerine getirildiğinden yalnızca kırabilirsiniz, çıktı penceresine bir mesaj yazmak ve sadece klişe veya sunucuda çalıştırmak için. Bu yapılandırmaları da karıştırabilirsiniz, en iyi debug gereksinimlerinize uygun olarak.

Kırılma Noktalarını Düzenleme

Oyun testi oturumları sırasında veya oyun testi oturumları sırasında kırılma yapılandırmasını herhangi bir zaman değiştirebilirsiniz, bununla birlikte oyun testi oturumları sırasında kırılma yapılandırmasını değiştirmezsiniz. Ayrıca, oyun testi oturumları sırasında aktif olarak durdurulan kırılma yap

Bir kırılma noktasının yapılandırmasını düzenlemek için:

  1. Kırılma Noktası'na sağ tıklayın, sonra Kırılma Noktasını Düzenle seçeneğine tıklayın.

    Right click to edit a breakpoint in Studio
  2. Kırılma Noktasını Düzenle penceresinde, kırılma noktasını istediğiniz gibi yapılandırın.

    Edit Breakpoint window in Studio

Kondisyon, Günlük Mesajı ve Seçenekler

Her kırılma noktası için Kondisyonu , Günlük Mesajı , Devam Etmek ve 1>Konumu1> ayarlayabilirsiniz.

Kondisyon , bozulma noktasının etkinleştirilip etkinleştirilmediğini belirleyen ifadelerdir. Kondisyon zorunludur. Eğer Kondisyon boşsa, kırılma nok

Günlük Mesajı şartın doğru olduğunda çıktı penceresine yazan ifadelerdir. Log Mesajının biçimi, bir print() deklarasyonunun argümanı ile aynıdır. Örneğin, Log Mesajının biçimini "The value of n:", n

Devam Etmeyi Özelleştir seçeneği, kırılma noktasının etkinleştirilmesi durumunda kırılma noktasının skripti durdurup durdurmadığını belirleyen bir seçenedir. Bu seçenek, bekleme değerleri veya ifadeleri kaydetmek istiyorsanız kullanışlıdır. Bu seçenek varsayılana göre değil.

Bir kırılma noktasının Konumu belirlemesi, kırılma noktasının Client, Server veya Edit'te aktif olup olmadığını belirler. Eğer kırılma noktası Client'deyse, kırılma noktası kullanıcı tarafından etkinleştirilir. Eğer kırılma noktası Server

Edit Breakpoint Window shows Custom Context

Kondisyonlu Bozulma Noktaları ve Logpointları

Studio, kırılma noktalarının kırılma noktasını daha hızlı yerleştirmek için adlandırılmış çeşitler sunar. Bir adlandırılmış çeşidi yerleştirmek için, onun satır numarasının sağındaki boşluğa sağ tıklayın, sonra istediğiniz kırılma noktasını yerleştirin.

Right click to insert a breakpoint

Bir Kondisyonlu Bozulma Noktası bir bozulma noktasında bir Kondisyon ve Devam Edilen İşlem etkisi devre dışı. Kondisyonlu Bozulma Noktaları sadece bir koşul doğru olduğunda sizin script'in

Bir Günlük Noktası bir Günlük Mesajı ve Devam Eden İşlem etkinleştirilmiş bir kırılma noktasıdır. Günlük noktaların mesajlarını 2>Çıkış Penceresine2> kaydettirir, b

Logpoints genellikle aktif oyun testi seansını durdurmak veya yeniden başlatmak zorunda kalmadan iletken değişkenleri debug etmek için daha verimlidir. Aktif oyun testi seansını bitirdiğinizde kodu temizler ve diğerlerinden daha kolay kaldırılır.

Kırılma Noktalarını Devre dışı Bırakma

Bir kırılma noktasını devre dışı bırakmanın ve yeniden etkinleştirmenin birçok yolu vardır:

  • Bozulma noktasının simgetıklayın.
  • Kırılma noktasını düzenle ve Etkinleştirme seçeneğini kontrol etmeyi başlat.
  • Breakpoint simgesine sağ tıklayın ve Disable Breakpoint veya Breakpoint'i Etkinleştir'e tıklayın.

Noktaları Silme

Bir kırılma noktasını silmek için, onun simgeorta tıklayın. Ayrıca, onun ikonını sağ tıklayabilir ve Kırılma Noktasını Sil seçeneğine tıklayabilirsiniz.

Kırılma Noktaları Penceresi

Breakpoints penceresi deneyiminizdeki tüm breakpoints'ı gösterir. Breakpoints penceresini açmak için Studio'nun üstündeki Görüntü'yü tıklayın, sonra Breakpoints'ı tıklayın.

Breakpoints window in Studio

Breakpoints penceresinin aşağıdaki sütunları vardır: unlabeled, Script, Line, Source Line, Condition, Log Message ve Continue Execution. Breakpoints'ın unlabeled, Script ve Line sütunları her zaman görüntülenir, ancak diğer sütunları değiştirmek için pencerenin sağ üst köşesindeki üç noktaya tıklayabilirsiniz.

Etiket olmayan sütunlarda, (x3) etiket sayısı aynı kod satırındaki bozulma noktalarını gösterir ve ikon bozulma noktalarının yapılandırmasını gösterir. Aynı kod satırındaki bozulma noktalarının şartını, günlük mesajı ve devam etmeyi değiştirebilir

Edit the Condition of a Breakpoint in the Breakpoints Window

Kırılma noktalarını etkinleştirmek veya devre dışı bırakmak için, "Kırılma Noktaları" başlığının üzerindeki kırılma noktalarını etkinleştiripya da etkinleştirmeyi tıklayabilirsiniz. Ayrıca, bazı veya tüm kırılma noktalarını etkinleştirmek için aşağıdaki düğmelere de tıklayabilirsiniz.

ButonEylem
Button to disable all breakpointsTüm kırılma noktalarını devre dışı bırak. Eğer herhangi bir kırılma noktası devre dışıysa, tümüetkinleştir.
Button to delete all breakpointsTüm bozulma noktalarını sil.

Kırılma Noktası Simgeleri

Bir kırılma noktasının ikonu, etkinleştirilip etkinleştirilmediğine bağlı olarak değişir, bir koşula sahiptir ve bir günlük mesajı vardır. Eğer bir kırılma noktasının bir günlük mesajı varsa, koşul olup olmadığına bağlı olarak günlük noktası olarak görünür.

İsimİконEtkinKondisyonGünlük Mesajı
Kırılma NoktasıEvetHayırHayır
HayırHayırHayır
Kondisyonlu Kırılma NoktasıEvetEvetHayır
HayırEvetHayır
Günlük NoktasıEvetBelkiEvet
HayırBelkiEvet

Ekstraları Diğerleri

Dergileyiciye ek olarak, Studio'nun problemleri ve hataları düzeltmeniz için ekstra debug araçları sunuyor.

Komut Çubuğu

Komut Barı deneyim çalışırken Luau komutlarını çalıştırmanızı sağlar. Studio'dan Görüntü sayfasından ve Geliştirici Konsolu 'dan mevcut.

Geliştirici Konsolu

Geliştirici Konsolu tüm girişleri, giriş ve çıkışları, hafıza kullanımını, ağ sözleşme imzalamave daha fazlasını içeren geniş bir araç sağlar. Bir deneyimi test ederken veya oynarken Konsolü açmak için, /console sohbete yaz veya F9'ye bas. For more

Günlük Dosyaları

Bir senaryo Studio'da veya Oyuncu'da hata yazdığında veya çıktığında, senaryo, mesajı yerel dosun sisteminde bir günlük dosyasına kaydeder. Bu dosyalar, işletim sistemine bağlı olarak farklı yerlerde bulunur.

Pencereler

Windows'ta günlük dosyalarına erişmek için:

  1. Dosya Exploreru .
  2. Navigate to the %LOCALAPPDATA%\Roblox\logs directory.
  3. Bir günlüğü çift tıklayarak açın. Aynı değer XXXXX ile günlükler Studio oturumundan gelir.

Mac

Mac'teki günlük dosyalarına erişmek için:

  1. Finder .
  2. Menü çubuğunda, git klasöre gidin seçeneklerinden birini seçin.
  3. Diyalogda, ~/Library/Logs/Roblox girin.
  4. Sonuçları Roblox günlükleri dizinine göz atmak için çift tıklayın.
  5. Dizin içinde, bir günlüğü açmak için çift tıklayın.

iOS

iOS günlüğünü bir Mac'i veya bir iOS cihazını kullanarak toplayabilirsiniz.

iOS günlük dosyalarına bir Mac'te erişmek için:

  1. iOS cihazını bir Mac'e bağla.
  2. Finder .
  3. Navigate to Utilities and open the Console application.
  4. Konsol uygulamasındaki gerçek zamanlı günlükleri doldurmak için, Start düğmesine tıklayın, iOS cihazındaki sorunu yeniden oynatın ve sorunu iOS cihazında yeniden oynatın.
  5. Konsol uygulamasındaki arşivlenmiş günlükleri doldurmak için, sudo log collect --device-name "[iOS Device Name]" 'de çalıştır sudo log collect --DEVICE-NAME "iOS Cihaz Adı" . cihazboşluklara dikkat edin, aksi takdirde komutu çalıştırırken bir hata alabilirsiniz.

Android

Android'da günlük dosyalarına erişmek için:

  1. Navigate to Ayarlar 💀 Sistem 💀 Geliştirici seçenekleri .
  2. Geliştirici seçeneklerini aç/kapa.
  3. Bir bilgisayarda, Android Studio indirin ve kurun.
  4. Android Studio'da, Logcat 'e tıklayın.
  5. Android cihazını bilgisayara bağlayın, Logcat'ı günlüklerle otomatik olarak doldurun.