diff --git a/python3/vimspector/code.py b/python3/vimspector/code.py index 635a12f..7e33407 100644 --- a/python3/vimspector/code.py +++ b/python3/vimspector/code.py @@ -295,7 +295,7 @@ class CodeView( object ): return self._terminal.buffer_number - def ShowMemory( self, memoryReference, msg ): + def ShowMemory( self, memoryReference, length, msg ): if not self._window.valid: return False @@ -308,6 +308,13 @@ class CodeView( object ): # equivalent output of say xxd data = msg.get( 'body', {} ).get( 'data', '' ) utils.SetBufferContents( buf, utils.Base64ToHexDump( data ) ) + buf[ 0:0 ] = [ + f'Memory Dump for Reference {memoryReference} Length: {length} bytes', + '-' * 80, + 'Offset Bytes Text', + ] + + utils.SetSyntax( '', 'xxd', buf ) utils.JumpToWindow( self._window ) utils.OpenFileInCurrentWindow( buf_name ) diff --git a/python3/vimspector/debug_session.py b/python3/vimspector/debug_session.py index bd93967..c0ddafa 100644 --- a/python3/vimspector/debug_session.py +++ b/python3/vimspector/debug_session.py @@ -543,20 +543,23 @@ class DebugSession( object ): return memoryReference = self._variablesView.GetMemoryReference( buf, line_num ) + length = 1024 # TODO: WHat? if memoryReference is None: utils.UserMessage( "Cannot find memory reference for that", error = True ) return + + def handler( msg ): - self._codeView.ShowMemory( memoryReference, msg ) + self._codeView.ShowMemory( memoryReference, length, msg ) self._connection.DoRequest( handler, { 'command': 'readMemory', 'arguments': { 'memoryReference': memoryReference, - 'count': 1024 # TODO: What + 'count': length, } } )