2013-03-02 33 views
6

Karışık mod hata ayıklamasını destekleyen herhangi bir IDE veya Eclipse Eklentisi olup olmadığını bilmek istiyorum. Karışık mod terimi arandığında, VM dillerini yerel kodla birlikte ayıklayan çok fazla referans buldu.Bayt kodlarıyla Java hata ayıklama

Ancak, bir kullanıcının C kaynak hattını hem ilgili montaj hattıyla hem de C düzleminde görebileceği C gibi derlenmiş dillere benzeyen bir özelliğe atıfta bulunmaktayım. . Java kaynak kodu ve

  1. yeteneği: java ayıklarken bir aşağıdaki özelliklere arıyorum başka deyişle

    (Ben karışık modu olarak özelliğini çağırarak bir isimlendirme hata yapmış olsaydı lütfen bağışlayın) program yürütme JVM bilgisayar kayıtları görmek ve Operand (örneğin sabit havuzları)

diğer JVM belirli bir veri yapıları görüntülemek için
  • becerisi yığınlar için
  • becerisi sırasında karşılık gelen bayt kodları

    Bu, Java kaynak kodunun bayt kodlarıyla nasıl eşleştiğini ve çeşitli JVM ilişkili veri yapılarının adım adım nasıl etkilendiğini anlamak içindir.

  • +0

    Java kaynak kodunun bayt koduyla nasıl eşleştiğini anlamak için bir hata ayıklayıcısına ihtiyacınız yoktur. Sadece 'javap' kullan. –

    +0

    İyi soru! Gdb veya MSVS hata ayıklayıcıları ile, üst düzey dil seviyesinde olduğu kadar montaj düzeyinde de hata ayıklayabilirsiniz. Java IDE'den benzer bir şey yapmanın herhangi bir yolu olup olmadığını merak ederdim. İşte birkaç öneri: [Eclipse'de derlenmiş Java'da nasıl hata ayıklanır] (http://stackoverflow.com/questions/1905446/how-to-debug-compiled-java-code-in-eclipse) ve [Orada bir Java için debugger/disassembler (http://stackoverflow.com/questions/2539614/is-there-a-disassembler-debugger-for-java-ala-ollydbg-softice-for-assembler) – paulsm4

    +0

    Sadece bir konu değil IDE ve eklentileri. Böyle bir özellik, JVM'nin kendisinden samimi destek gerektirecektir. Bir alternatifin özel bir JVM uygulaması kullanmak olduğunu varsayalım. – Antimony

    cevap

    0

    Java kodunun derlenmiş yerel koda nasıl eşleştiğini anlamak için hata ayıklayıcısına ihtiyacınız yoktur. -XX:+PrintCompilation JVM bayrağını kullanabilirsiniz. Stephen Colebourne's blog post adresindeki mod bilgisine ve Kris Mok reply to that post adresindeki daha ayrıntılı bilgilere bakın.

    Ayrıca HotSpot Internals Wiki yararlı bulabilirsiniz.

    +1

    OP'nin yerel kod değil bayt kodu düzeyinde hata ayıklamak istediğine inanıyorum. – Antimony

    +0

    OP okuduğumda, Java kaynak kodunun bayt kodlarıyla nasıl eşleştiğini ve çeşitli JVM ilişkili veri yapılarının nasıl etkilendiğini anlamak istedim. –

    1

    Bir DSL geliştiricisiyim ve aynı soruna birkaç kez sahip oldum.

    Bulduğum tek araç, Dr. Garbage araçları oldu.

    Şu anki en iyi korunmuş gözükmüyorlar, ancak uygun tutulma sürümleriyle çalışıyorlar.