2014-09-01 19 views
5

Haskell veya OCaml için mevcut dbg gibi bir izleme hata ayıklayıcısı var mı?Haskell veya OCaml için "dbg" gibi bir izleme hata ayıklayıcısı var mı?

Gayri resmi olarak, çalışma zamanında yalnızca daha iyi, tamamen yapılandırılabilir printf tarzı hata ayıklama. Özünde, kullanıcı bir sistem çalıştığında bir izleme işleyicisi kaydedebilir; bu, çalışma zamanı tarafından desteklenen bir eylemler kümesinden her eylemde çağrılır (örneğin, her bir işlev çağrısı/geri dönüşünde, gönderilen/alınan her bir mesajda vs.) . Böyle bir işleyici, her bir işlemi günlüğe kaydedebilir, bu da sistemin (bölümün) içinde gerçekleşen tüm adımların güzel bir sıralamasını verir.

Bu mekanizma, sistemin belirli bölümlerini günlüğe kaydetme/hata ayıklama, profil oluşturma, ancak birçok durumda yalnızca (programcı tarafından bilinmeyen) sistemin nasıl çalıştığını keşfetmek için kullanılabilir.

+0

'ocamldebug', trace stilinde hata ayıklama işlemine sahip değildir, ancak kesme noktalarını ve zaman yolculuğunu desteklemez. Ek araçlar/bayraklardan profil desteği de vardır. – nlucaroni

+1

Tek başına bir hata ayıklayıcı olmasa da, OCaml üst düzeyinde 'trace' ve' # install_printer' uzun bir yol kat edebilir. – Nikos

cevap

4

Haskell için GHCi, basit bir zorunlu stil ayıklayıcısı sağlar. Daha fazla ayrıntı bulmak için documentation'a bakın. onun özelliği bazıları

  • yerel değişkenler
  • hemen yürütmek için herhangi bir kodda
  • Yazma sınır değerler olarak İstisnalar Tedavisi
  • incelenmesi bir kesme noktası
  • yürütme yoluyla Stepping ayarlamak için

    • Yetenek olan
  • +0

    Gerçekten. Kayıt için, GHCi'nin, herhangi bir geleneksel hata ayıklama aracı setinden daha yararlı olan argümanları (_far_) ile kapsam dahilinde istediğim kodu çalıştırma yeteneğini görüyorum. – AndrewC

    +0

    (lütfen arsız düzenlemeyi affet veya geri al) – AndrewC

    +1

    @AndrewC Bu iyi. :) Aslında ben sadece listelenen özellik için 'ghci 'kullanın. – Sibi

    İlgili konular