Belgeler / IDE

Hata ayıklama

Java, Node.js, tarayıcı, Python, Go, .NET ve PL/SQL'de aynı panelden hata ayıklayın; önerilen yapılandırmalar ve yalnızca izninizle kurulan hata ayıklayıcılarla.

Yuli her dilde o dilin referans hata ayıklayıcısını kullanır ve her şeyi aynı panelde gösterir: yığın, değişkenler, değerlendirme konsolu ve breakpoint'ler. Eksik olan yalnızca siz izin verirseniz kurulur.

Dil Hata ayıklayıcı Yuli nasıl başlatır
Java ve JVM Yerleşik JDWP istemcisi JVM'i başlatır veya ona bağlanır
Node.js Source map desteğiyle Chrome DevTools Protocol (CDP) node --inspect veya bir sürece bağlanma
Tarayıcı Chrome, Chromium veya Edge'de CDP Ayrı bir profil, asla sizinki değil
Python debugpy (DAP) Projenin sanal ortamıyla python -m debugpy.adapter
Go Delve (DAP) dlv dap veya çalışan bir dlv --headless'e bağlanma
.NET netcoredbg (DAP) netcoredbg --interpreter=vscode
Oracle PL/SQL Oracle'ın DBMS_DEBUG paketi Veritabanı panelinden

İlk oturumunuz

7 adımdan 0 tamam

Hata ayıklama yapılandırmaları

Hata ayıklama yapılandırmaları iletişim kutusu, Hata ayıklama panelindeki düğmeden veya Çalıştırma panelinin menüsünden (Hata ayıklama yapılandırmaları…) açılır.

  • Türler: Java, Node.js, Python, Go, .NET ve Tarayıcı.
  • Modlar: Başlat (programı Yuli başlatır) veya Bağlan (zaten çalışan bir programa bağlanır).
  • Kaydedilenler: sizin oluşturduklarınız. Bu proje için önerilenler: Yuli'nin kodunuzda bulduklarıdır.
Alan Ne için
Program, Modül (python -m), Ana sınıf Ne çalıştırılacak
Argümanlar, Çalışma dizini, Ortam değişkenleri Nasıl çalıştırılacak
Yorumlayıcı, Derleme seçenekleri Kullanılacak Python veya build flag'ler
Yalnızca benim kodum, Girişte dur Nerede durulacak
Host, Port, Süreç kimliği Neye bağlanılacak
URL, Web kökü, Tarayıcı Tarayıcıda hata ayıklama

Yuli ne önerir

Proje Öneri
Python main.py, app.py veya manage.py (sonuncusu runserver --noreload ile) ve «Python: attach 5678»
Go Bir go.mod varsa «Go: .»
.NET Proje dosyası
Node.js package.json içindeki main
Tarayıcı Proje vite, react-scripts, next, Angular, vue veya svelte kullanıyorsa. URL vite ile 5173, Angular ile 4200, diğerlerinde 3000 portunu kullanır

Yapılandırmalar deponuzda değil, Yuli'nin her proje için tuttuğu çalışma klasöründeki debug-configs.json dosyasında saklanır.

Bir sürece bağlanma

Bağlan modunda Yuli bilgisayarınızda hata ayıklanabilecek şeyleri arar: --inspect ile başlatılmış Node süreçleri; Python, Go ve .NET süreçleri; JDWP'li JVM'ler ve DevTools'lu tarayıcı sekmeleri. Bir türden hiçbiri yoksa bunu size söyler; örneğin: «--inspect ile dinleyen Node süreci yok.»

Java

  • Değişken ağacı, kodun üzerinde satır içi değerler ve okunabilir değerlerle (Owner{id=3, …} gibi bir nesne, 2026-10-15 gibi bir tarih, boyutuyla birlikte bir koleksiyon) yerleşik JDWP istemcisi.
  • Koşullu, sayaçlı, logpoint ve istisna breakpoint'leri.
  • Hot swap (Ctrl+Alt+F10): projenin aracıyla yeniden derler ve değişen sınıfları oturumu yeniden başlatmadan yeniden tanımlar.

İfade değerlendiricisi

Değerlendirme konsolunda, izlenen ifadelerde, breakpoint koşullarında ve logpoint mesajlarında kullanılır.

Destekler Desteklemez
?: || && | ^ & == != < > <= >= instanceof << >> >>> + - * / % new
Tekli + - ! ~ ve tür dönüşümleri Atamalar, ++ ve --
Üye erişimi, metot çağrıları ve [i] indeksleri Lambda'lar

Metot çağrıları, hata ayıkladığınız JVM'de gerçek kod çalıştırır. Durumu değiştiren metotlardan kaçının.

Breakpoint özellikleri

Breakpoint özellikleri içinde her birinin nasıl davranacağını ayarlarsınız:

  • Koşul: bir Java ifadesi; yalnızca doğru olduğunda durur.
  • İsabet sayısı: satırdan bu sayıdaki geçişte durur.
  • Mesaj: ile Yalnızca kaydet: durmadan konsola yazar.

Bir koşul değerlendirilemezse hata ayıklayıcı onu sessizce yok saymaz: bir kez durur ve nedenini gösterir; örneğin «[koşul] «total > limit» (satır 42) değerlendirilemedi: …».

Node.js ve tarayıcı

  • Source map'ler (v3): breakpoint'i .ts, .tsx dosyanıza veya özgün koda koyarsınız; Yuli onu üretilen koda taşır. Durduğunda yığın yine sizin dosyalarınızı gösterir.
  • Bağlanma: --inspect ile dinleyen herhangi bir Node sürecine.
  • Tarayıcı: Yuli, Chrome, Chromium veya Edge'i ayrı bir profille (--user-data-dir) ve uzaktan hata ayıklama portuyla açar. Oturumlarınızın ve eklentilerinizin bulunduğu normal profilinize dokunulmaz.
  • Hot swap, source map'li koda uygulanmaz: geliştirme sunucusunun sıcak yeniden yüklemesini kullanın.

Python, Go ve .NET

Üçü de DAP protokolünü kullanır. Python projenin sanal ortamını kullanır (önce VIRTUAL_ENV, ardından python3 veya python). Go, dlv dap başlatabilir veya zaten çalıştırdığınız bir dlv --headless'e bağlanabilir. Düzenleyicide kenar boşluğundaki ▶ ayrıca Python'daki if __name__ == "__main__":, Go'daki func main ve func TestX ile C#'taki static void Main( için hata ayıklama da sunar.

Hata ayıklayıcıyı kurma

Hata ayıklayıcı eksikse Yuli'nin ne yapacağını anlatan «… hata ayıklayıcısı eksik» bildirimi, Kur ve hata ayıkla ve İptal düğmeleriyle birlikte görünür.

Yuli, debugpy'yi pip ile projenin Python ortamına kurar (sistemin Python'unu kullanıyorsanız --user ile):

bash
pip install debugpy

Bir oturum başlatmak hiçbir zaman kendiliğinden bir şey kurmaz. İzniniz olmadan hiçbir şey indirilmez veya çalıştırılmaz; kurulum başarısız olursa kaydı aynı bildirimde görünür kalır.

PL/SQL

Yuli, Oracle prosedürlerinde, fonksiyonlarında ve paketlerinde DBMS_DEBUG ile hata ayıklar.

  • Hesabın DEBUG CONNECT SESSION yetkisine ve nesne üzerinde DEBUG (veya DEBUG ANY PROCEDURE) yetkisine ihtiyacı vardır.
  • Yuli nesneyi COMPILE DEBUG ile yeniden derler.
  • Tuşlar: F5 devam et, F10 sonraki satır, F11 içine gir ve Shift+F11 dışarı çık.

Kısayollar

Eylem Kısayol
Son yapılandırmada hata ayıkla Shift+F9
Devam et F9
Sonraki satır (step over) F8
İçine gir, yalnızca sizin kodunuz (step into) F7
Zorla içine gir Alt+Shift+F7
Metottan çık Shift+F8
Değişen sınıfları yeniden yükle (hot swap) Ctrl+Alt+F10

Yapay zekâ ile

Bir test veya bir adım başarısız olduğunda Nedenini yapay zekâya sor düğmesi Hata ayıklama panelinde, test gezgininde ve YZ değişiklikleri doğrulamasında görünür. Düğme bağlamı (hata, yığın, kod) hazırlar ve sohbete bırakır: göndermez; ne soracağınıza siz karar verirsiniz.

Ayrıca bkz. Çalıştırma ve hata ayıklama ve Dil sunucuları ve build.