Support the lldb debugger
The advantage of this one is that it has globals and statics in the variables and runs directly in lldb. It can also show disassembly, though we don't yet support that. The disadvantage is that this is yet another plugin that plays fast and loose with the protocol, so we have to add a bunch more gets.
This commit is contained in:
parent
306854cbd6
commit
20045b2941
4 changed files with 27 additions and 4 deletions
|
|
@ -56,13 +56,13 @@ class CodeView( object ):
|
|||
vim.command( 'sign unplace {0}'.format( self._signs[ 'vimspectorPC' ] ) )
|
||||
self._signs[ 'vimspectorPC' ] = None
|
||||
|
||||
if not frame or not frame[ 'source' ]:
|
||||
if not frame or not frame.get( 'source' ):
|
||||
return False
|
||||
|
||||
vim.current.window = self._window
|
||||
|
||||
buffer_number = int( vim.eval( 'bufnr( "{0}", 1 )'.format(
|
||||
frame[ 'source' ][ 'path' ] ) ) )
|
||||
frame[ 'source' ].get( 'path', '???' ) ) ) )
|
||||
|
||||
try:
|
||||
vim.command( 'bu {0}'.format( buffer_number ) )
|
||||
|
|
|
|||
|
|
@ -139,7 +139,8 @@ class DebugAdapterConnection( object ):
|
|||
handler( message )
|
||||
else:
|
||||
self._logger.error(
|
||||
'Request failed: {0}'.format( message[ 'message' ] ) )
|
||||
'Request failed: {0}'.format(
|
||||
message.get( 'message' ) or '<silence>' ) )
|
||||
utils.UserMessage( 'Request failed: {0}'.format( message[ 'message' ] ),
|
||||
persist = True )
|
||||
elif message[ 'type' ] == 'event':
|
||||
|
|
|
|||
|
|
@ -27,7 +27,7 @@ class OutputView( object ):
|
|||
self.ShowOutput( 'stdout' )
|
||||
|
||||
def OnOutput( self, event ):
|
||||
category = event[ 'category' ]
|
||||
category = event.get( 'category' ) or 'output'
|
||||
if category not in self._buffers:
|
||||
self._CreateBuffer( category )
|
||||
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue