Wenn der Debugger lügt

When the Debugger Lies

Wenn der Debugger lügt

Bei der Arbeit mit der Key Management Unit des nRF54L von Nordic Semiconductor beobachtete Daniel Mangum, dass nach dem Provisionieren und Pushen eines Schlüssels in einen neuen Slot der Zielspeicher weiterhin den alten Wert anzeigte. Die Ursache lag nicht im KMU, sondern in der Art und Weise, wie GDB über den JLinkGDBServer Speicher liest: Während der direkte Zugriff auf den AHB-AP den korrekten Wert lieferte, blieben die GDB-Lesevorgänge veraltet. Der Beitrag analysiert die Debug-Architektur und die unterschiedlichen RSP-Pakete, die dieses Verhalten erklären.

Suspecting that my push operations may be succeeding, but my reads returning stale values, I issued a `ReadMemAP` command with the same parameters as my GDB memory read commands.

Mehr von diesem Tag

2026-09-24