Julia tam özellikli hata ayıklayıcıyı yayınladı: 4 yeni özellik çıktı

Copper Spirit Derleyin ve düzenleyin

Qubit Üretildi | Genel Hesap QbitAI

Julia, C dilinin hızını, Ruby'nin esnekliğini ve Python'un evrensel kullanımını birleştiren ve binlerce programcı tarafından sevilen bir dildir.

Avantajlar burada ~ Julia ekibi yeni bir tane yayınladı Tam İşlev Hata ayıklayıcı, kodda çeşitli duruşlarda hata ayıklayarak iş yükünüzü azaltabilir.

Bu yeni hata ayıklayıcının onayıyla, Julia'yı daha önce ulaşılamayan muhteşem efektler elde etmek için kullanabilirsiniz, örneğin:

  • Doğrudan işleve gidin ve durumunu kontrol ederken kodu manuel olarak çalıştırın
  • Kesme noktaları ayarlayın, hataları yakalayın ve hatanın nerede oluştuğunu tespit edin
  • Mevcut kodu etkileşimli olarak güncelleyin ve değiştirin ve hataları yeniden başlatmadan hızla düzeltin
  • Bu işlevleri kullanımı kolay bir grafik arayüzde bir araya getirmek için Juno'daki tam özellikli IDE'yi kullanın

Denemek için biraz istekli misin?

Çekirdek rol

Bu tam özellikli hata ayıklayıcı neden bu kadar güzel? Julia'nın resmi web sitesi, bunun temel bir rolü olduğu için açıklıyor:

Güçlü bir derleyici.

Resmi açıklamaya göre, bu derleyici Julia kodunu çalıştırabilir ve çeşitli ön uç kontrollerinin belirli bir şekilde yürütülmesini destekleyebilir.

Her ön uç kendi paketidir: Juno IDE bir hata ayıklayıcı içerir, Rebugger bir REPL metin kullanıcı arabirimi sağlar ve Hata Ayıklayıcı genel bir adım / sonraki / devam komut satırı arabirimi sağlamaktan sorumludur.

Tüm bu hata ayıklama işlevleri, Revise ile sorunsuz bir şekilde entegre edilebilir, böylece kodu ayrı bir oturumda sürekli olarak analiz edebilir ve değiştirebilirsiniz.

Hata ayıklayıcının yeni özellikleri × 2

Yeni özelliklerin spesifik tanıtımına bir göz atalım ~

Juno

Juno, derleyici için zengin bir arayüz sağlar, kesme noktalarının ayarlanmasını destekler ve ayrıca doğrudan kaynak kodunda çalıştırılabilir. Hata ayıklayıcı REPL yerel ortamda rastgele kod çalıştırabilir ve Çalışma Alanı yerel değişkenleri kontrol etmenize yardımcı olabilir.

Aşağıdaki resim gösterir gcd Hata ayıklama bağlantısı:

Juno. @ Run makro talimatı, kodunuzun açıklanmasından sorumludur. Bir kesme noktasıyla karşılaşırsanız, Juno. @ Enter, ilk satırdan yeniden başlamanızı destekler.

Hata ayıklayıcı ve hata ayıklayıcı

Bunlar iki REPL arabirimidir. Hata ayıklayıcı, gdb'ye benzer bir "adım, sonraki, devam et" arabirimi sağlarken, hata ayıklayıcı, IDE'ye benzer bir denetim arabirimi sağlar.

Hata Ayıklayıcı, oluşturulan işlevleri çalıştıran bir jeneratör gibi adımlamanın hassas kontrolü gibi diğer arabirimlerde bulunmayan bazı işlevleri sağlayabilir, böylece Hata Ayıklayıcı birçok durumda ilk tercihiniz olabilir.

Sihirli çanta

Yeni çok yönlü hata ayıklayıcı yalnızca yepyeni özellikler getirmekle kalmaz, aynı zamanda piyasaya sürülen bazı Julia paketlerine de yeni özellikler kazandırır.

Bunlar aşina olduğunuz paketler olmayabilir. Julia'da JuliaInterpreter, LoweredCodeUtils, CodeTracking, Revise ve Bugger adlı dört generalden oluşan yeni bir paket "ekosistem" oluşturuldu.

Julia Çevirmen

JuliaInterpreter, Julia kodunun çalışmasını değerlendirmek ve kontrol etmek için çeşitli mantıkları içeren tüm yığının kilit rolüdür.

JuliaInterpreter, Julia 1.0 temelinde aşağıdakiler dahil birçok yeni işlevi genişletti:

  • Varsayılan özyineleme: Hemen hemen tüm kodu derleyici üzerinden çalıştırın, kesme noktalarını gerçekleştirin ve hataları daha doğrudan yakalayın.
  • Performans geliştirme: Adım adım kodla çalıştırma hızı artık orijinal hızın 50 katı.
  • Yeni "üst düzey kodu" derleme becerisi kazandı: şimdi, paketleri tanımlama ve test paketleri oluşturma kodu bile onunla derlenebilir.
  • Kesme noktalarını destekleyin: Bunu, derleyicinin kendisinin başka bir kontrol akışı biçimi olarak düşünebilirsiniz. Artık belirli bir kaynak kod satırının veya belirli bir yöntemin girişinde kesme noktalarının ayarlanmasını destekleyebilir ve hataları otomatik olarak tanımlayabilir.

LoweredCodeUtils

LoweredCodeUtils, birden çok işbirliği yöntemi arasında bağlantı kurmak için kullanılabilir, böylece bir köprü görevi görür.

Bununla birlikte, LoweredCodeUtils, en son pakette en derinlemesine ve anlaşılması en zor olanıdır ve birçok insanın kafasını çeker.

Örneğin, aşağıdaki görünüşte basit tanım aslında beş yöntem yaratır, yani bir vücut yöntemi, iki konumlandırma parametresi yöntemi ve iki anahtar kelime işlevi yöntemi.

Kod İzleme

CodeTracking, Revise'tan almak için kullanılabilecek basit, hafif bir sorgu API'sidir.

Genel çalışma senaryosu, LoweredCodeUtils'in analiz gerçekleştirmesi, Revise'ın zaman içinde meydana gelen çeşitli değişikliklerden sorumlu olması ve bu değişiklikleri diğer bileşenlere bildirmekten CodeTracking'in sorumlu olmasıdır.

Üçü net bir işbölümüne sahiptir ve rahat ve kullanımı kolaydır.

Revize Et ve Yeniden Ayıklayıcı

Bu paketteki en büyük değişiklik, derlenen arayüzün değiştiğini bir bakışta görebilmenizdir. Ek olarak, Rebugger, REPL'de işleme yöntemlerini tanımlama gibi bazı yeni yetenekler kazanmıştır.

Uzun vadede, JuliaInterpreter ve LoweredCodeUtils'in derinlemesine analizi, daha önce mümkün olmayan daha fazla işlevi başarabilir.

Portal

https://julialang.org/blog/2019/03/debuggers

Yazar, NetEase News · NetEase'in "Every Attitude" adlı kitabının sözleşmeli yazarıdır

- Bitiş -

Samimi işe alım

Qubit, editörleri / muhabirleri işe alıyor ve merkezi Pekin, Zhongguancun'da bulunuyor. Yetenekli ve hevesli öğrencilerin bize katılmasını dört gözle bekliyoruz! Ayrıntılar için, lütfen QbitAI diyalog arayüzünde "işe alım" kelimesiyle yanıt verin.

Qubit QbitAI · Toutiao İmzalayan Yazar

' ' Yapay zeka teknolojisi ve ürünlerindeki yeni eğilimleri takip edin

Hayattan zevk almak futbol oynamaktan daha önemlidir! 34 yaşındaki Luneng, kariyerinin alacakaranlık dönemine girmesinden korkmuyor
önceki
Dünyanın en iyi görünen ligi iki gün sonra başlayacak ve açılış maçında en önemli oyuncular arasında bir diyalog olacak.
Sonraki
1 ay boyunca her gün 05: 30'da kalkarsam ne olur?
Blizzard şişti mi? Tencent, oyuncuları kışkırtmaya cesaret edemez, ancak bugün oyuncular tarafından eğitilmek gibi çeşitli provokasyonları vardır.
Bir ay içinde Bundesliga tarihinde 40'ı aşan ilk dış yardım olacak
Blizzard, Overwatch oyununu düzenledi, takım isimleri kum heykellerinden daha fazlası, rakibine gülerek oyunu kazanın mı?
Koşan herkesin esneklik çalışması gerekir!
Oda yine mi dağıldı? Japon robot sizin için ayarlayacak ve eksikse bulacaktır.
İki eski Çin Süper Ligi antrenörü, Asya Oyunları futbol maçında 1 altın ve 1 gümüş kazandı.
Maksimum kalp atış hızınızı hesaplamak için hala bir formül kullanıyor musunuz? Güle güle!
Veri kümesi kaynaklarının eksikliğine elveda deyin, Google ve Stanford, eğitim kümesini etiketlemek için yetersiz denetlenen öğrenmeyi kullanıyor
Asya Oyunları Erkekler Futbol Şampiyonası takımındaki tek asker, altın madalya kazandı ve hayatında asker olduğu için asla pişman olmadı.
20 yıldır Çinli oyuncuları kandıran Güney Kore'nin en büyük oyun şirketi, şimdi 90 milyar karşılığında Tencent tarafından satın alındı mı?
Tarihteki "en güçlü" GAN'ı eğitmek için 4 GPU, Bye Bye TPU! Açık kaynak PyTorch modeli yazar
To Top