7 puan yazan GN⁺ 2025-05-06 | 1 yorum | WhatsApp'ta paylaş
  • Mevcut WinDBG merkezli geleneksel çökme analizi yaklaşımını, yapay zeka ve doğal dil arayüzüyle dönüştüren bir açık kaynak proje
  • GitHub Copilot entegrasyonu sayesinde yalnızca basit etkileşimli sorgularla çökme nedenini bulmak ve otomatik düzeltmeye kadar gitmek mümkün
  • MCP üzerinden yapay zekanın WinDBG komutlarını çalıştırıp yorumladığı bir yapı kuruluyor
  • Birden fazla çökme dökümünün otomatik analizi, stack trace yorumlama, pointer debugging gibi ileri düzey işleri de yapay zeka destekleyebiliyor
  • Bu yaklaşımın QA, destek ve mühendislik ekiplerinin iş akışını dönüştürme potansiyeli var; artık hata ayıklama da “vibe coding” çağına girmiş durumda

Eski ile yeninin buluşması: hata ayıklamada yeni bir çağ

  • Çökme analizi araçları uzun yıllardır büyük bir gelişim yaşamadan eski usul yöntemlerde kaldı
  • Hâlâ WinDBG konsolunda !analyze -v, .ecxr gibi komutları elle girmek zorunda olmak önemli bir sorun olarak öne çıkıyor
  • Çıkış noktası da şu fikir: “Hata ayıklamayı artık konuşmalı hâle getirelim”

Copilot entegrasyonu: etkileşimli çökme analizi

  • “Bu uygulama neden çöktü?” sorusuyla bile yapay zekanın analiz yapıp düzeltme önerisi sunduğu bir demo gösteriliyor
  • Birden fazla çökme dökümünü otomatik sınıflandırma ve analiz etme özelliği de uygulanmış durumda
  • Yapay zeka gerçekten WinDBG komutlarını çalıştırıyor ve kullanıcının sorusuna göre ileri düzey analiz de yapabiliyor

Sektör genelindeki etkisi

  • Çökme analizi çok tekrarlı ve uzmanlık gerektiren bir iş
  • Copilot şu konularda destek veriyor:
    • Assembly kodunu yorumlama
    • Bellek içeriğini inceleme
    • Sembollere dayalı struct takibi
    • Pointer işlemlerini ortadan kaldırma
  • Sonuç olarak hata ayıklamaya giriş eşiği düşüyor ve üretkenlik çarpıcı biçimde artıyor

Teknik yapı: WinDBG + MCP

  • WinDBG(CDB) Python ile kontrol ediliyor ve yapay zekanın kullanabilmesi için MCP protokol sunucusu olarak sarılıyor
  • MCP, Anthropic tarafından geliştirilen, yapay zeka ile harici araçlar arasındaki iletişim standardı; araçların “yapay zekanın elleri” gibi kullanılmasını sağlıyor
  • MCP'nin avantajları:
    • Tüm yapay zeka modelleriyle kullanılabilir
    • VS Code dışındaki ortamlarda da bağımsız çalışabilir
    • Platforma bağımlı değildir
    • Hızlı özellik genişletilebilirliği sağlar

Açık kaynak proje: mcp-windbg

  • GitHub: mcp-windbg
  • Temel kısım, WinDBG'nin CDB bileşeniyle iletişim kuran katmanın uygulanması; MCP sunucusu bunu sararak işlevleri yapay zekaya sunuyor
  • İleride TypeScript tabanlı MCP sunucusu ve VS Code eklentisiyle yeniden düzenlenmesi planlanıyor

Gerçek kullanım senaryosu

  • Doğal dilde soru → yapay zeka → WinDBG komutunu çalıştırma → sonucu yorumlayıp yanıt verme
  • Örnek sorular:
    • “Bu adreste oluşan access violation'ın nedeni ne?”
    • “Thread 5'in call stack'ini açıklar mısın?”
    • “null pointer dereference'ın nedeni ne?”
  • Tüm hata ayıklama süreci, adeta bir uzmana soru soruyormuşsunuz gibi ilerliyor

Çalışma biçiminin özeti

  1. VS Code içinde MCP sunucusunu kaydet
  2. Kullanıcı doğal dilde soru sorar
  3. Yapay zeka bunu uygun WinDBG komutlarına çevirir
  4. Komut çalıştırıldıktan sonra sonucu yorumlayıp kullanıcıya açıklar
  5. Oturum bağlamı korunduğu için takip soruları da doğal şekilde sürdürülebilir

Başlangıç

  • Windows SDK ve Debugging Tools'u kurun
  • Projeyi GitHub'dan klonlayın: git clone https://github.com/svnscha/mcp-windbg.git
  • Python sanal ortamını ayarlayıp kurulumu yapın
  • .vscode/mcp.json yapılandırma örneği:
{  
    "servers": {  
        "mcp_server_windbg": {  
            "type": "stdio",  
            "command": "python",  
            "args": ["-m", "mcp_server_windbg"],  
            "env": {  
                "_NT_SYMBOL_PATH": "SRV*C:\\Symbols*https://msdl.microsoft.com/download/symbols";  
            }  
        }  
    }  
}  

İnsanın rolü hâlâ önemli

  • Yapay zeka güçlü olsa da, alan bilgisi ve sezgiyle birleştiğinde en iyi sonucu veriyor
  • Yapay zeka, “akıllı bir stajyer” gibi; bazen yön verilince gerçek gücünü gösteriyor

Sonuç: hata ayıklama da artık vibe ile

  • Çökme analizi geçmişte hafıza ve şifre çözme becerisinin alanı gibiyken,
  • şimdi etkileşimli yapay zekayla birlikte yürütülen işbirlikçi bir etkinliğe dönüşüyor
  • Artık !analyze -v komutunu tekrar tekrar çalıştırmak gerekmiyor; sadece sormanın yeterli olduğu bir dönem başlıyor

1 yorum

 
GN⁺ 2025-05-06
Hacker News yorumları
  • ChatDBG projesi, LLM'nin hata ayıklama sürecine yön verebilmesini sağlıyor ve özellikle Python notebook'ları için lldb/gdb ile pdb entegrasyonuna odaklanıyor

    • Native kod için, LLM'nin değişken bildirimlerini ve referanslarını kolayca bulabilmesi amacıyla dil sunucusu entegre ediliyor
    • API geliştirmeye çok zaman harcanarak LLM'nin debugger'ın yeteneklerinden azami ölçüde yararlanması sağlanıyor
    • 2023'ten beri yayında ve 80 binden fazla indirme sayısına ulaştı
    • FSE'de teknik makale sunulması planlanıyor ve ChatDBG'nin birçok sorunu kendi başına çözebildiği değerlendiriliyor
  • Windows sorun giderme işlerini sık yapıyorum ve yapay zekayı bu işe entegre etmeyi düşünüyorum

    • Bunun, MCP kullanılarak yerel modelle birleştirilebileceği görülüyor
    • Debugger ile çalışırken verilerin harici sunuculara gönderilmesi konusunda dikkatli olunmalı
    • Yapay zeka destekli araçlar, işlev imzalarını kısmen bildiğinde işlev parametrelerini iyi yazdıran breakpoint komutları oluşturmaya yardımcı olabilir
    • Kevin Gosse'un OpenAI API kullanarak bir WinDbg eklentisi uyguladığını hatırlıyorum
  • Yapay zekanın gerçek hataları debug edebilmesi için aşağıdakilerden biri gerekli

    • RL kullanarak breakpoint ve debugger kullanımını ya da print debugging yapmayı öğrenmesi
    • Tüm programların/hizmetlerin nasıl davrandığını yapay zekaya bildiren her şeyi bilen bir debugger gerekli
    • Şu anda her iki yaklaşımı da uygulamak kolay değil, ancak debugging'e çok zaman harcandığı için denemeye değer
    • JS/Python için bir time-travel debugger/gözlem motoru geliştiriliyor ve hedef, bunu yapay zekayla verimli biçimde entegre etmek
  • WinDBG kullanarak crash dump debug edildiği iddia ediliyor, ancak MCP kodunda bulunabilen komutlar sınırlı

    • MCP'nin windbg öğrendiği mi, yoksa windbg bilen bir model mi olduğu merak ediliyor
  • Crash dump analizi, teknik olarak talepkâr ve nadir görülen bir beceri; bunu öğrenmekten keyif alıyorum

    • Şu anda kullandığım programlama dillerini öğrenmeyi ve dokümantasyonla kütüphane/framework'leri gerçekten okumayı tercih ediyorum
  • Mevcut en üst düzey modeller, geliştiricilerin sahip olduğu geri bildirim döngüsüne ve yeteneklere kavuşursa zaten iyi bir geliştirici olur

    • Tüm kaynak kodunu okumak, bağımlılık dokümantasyonunda ve kodda arama yapmak, ilgili blog yazılarını bulmak, testleri çalıştırmak vb.
    • MCP sunucuları kullanılarak bu işlevlerin bir kısmı şimdiden etkinleştirilebiliyor, ancak henüz ideal durumda değil
  • Yapay zeka araçlarının en ilgi çekici ve pratik uygulamalarından biri bu

    • MCP kullanarak CDB ile Copilot'u bağlamak dahiyane
    • Yapay zekanın crash dump'ları yorumlaması, uzmanların sözdizimi ve byte saymak yerine analize odaklanmasını sağlar
    • Açık kaynak olarak yayımlanması, yeni bir ekosistemin temelini atıyor
    • Microsoft'un bu özelliği VS'ye entegre etmesi ya da geliştiricileri işe alması gerektiği düşünülüyor
  • MCP'nin çok adımlı akışları veya takip işlerini nasıl ele aldığı merak ediliyor

    • Yapılandırılmış görevler ve bağlam hazır olduğunda MCP özellikle öne çıkacaktır
  • 2023 ortasında bir MCP sunucusu kuruldu ve ilginç sonuçlar bulundu

    • windbg için bir MCP sunucusu kuruldu; birçok komutu bildiği için kullanıcılara şaşırtıcı yetenekler sunuyor
    • Geniş bir kitlenin MCP'nin ne olduğunu bildiği varsayılsa da, hızlı anlaşılabilecek kısa bir özet eklenmesi öneriliyor