Daniel Mangum, Cortex-M33 tabanlı nRF54LM20’yi hata ayıklarken GDB’nin bazı işlemlerden sonra güncel olmayan, önbelleğe alınmış değerler döndürdüğünü tespit etti. JLinkGDBServer’ın ReadMemAP komutu doğru sonucu verirken, normal GDB x komutu eski değerleri göstermeye devam etti. Sorunun, AHB-AP erişim portundan doğrudan okumalar doğru çalıştığı için J-Link yazılımının önbelleklemesinden kaynaklandığı değerlendirildi. J-Link önbelleklemesi devre dışı bırakılınca sorun giderildi.
Neden önemli
Bu bulgu, mikrodenetleyici hata ayıklamada görünen bellek değerlerinin her zaman cihazın gerçek durumunu yansıtmayabileceğini gösteriyor. Aynı veriye erişen araçların farklı sonuç vermesi, sorunun donanımda mı yoksa hata ayıklama zincirinde mi bulunduğunu ayırt etmeyi zorlaştırarak yanlış teşhise yol açabilir. Doğrudan AHB-AP okumalarıyla GDB çıktısının karşılaştırılması, geliştiricilere bu tür tutarsızlıkları sınamak için somut bir kontrol noktası sağlıyor. Önbelleklemenin kapatılması sorunu giderse de bunun kalıcı bir yazılım düzeltmesi değil, doğrulanmış bir geçici çözüm olarak kalması, J-Link tarafındaki davranışın nasıl ele alınacağı sorusunu açık bırakıyor.