gdb: Add gdb configuration based on gdb-dashboard
For the most part adapted from https://gavinhoward.com/2020/12/my-development-environment-and-how-i-got-there/ Also contains support for opening current line in neovim. This assumes we are running inside neovim terminal and hence the use of nvr viz. neovim-remote. We will try adding support for kitty window and single instances later if possible.
This commit is contained in:
parent
79e4022b0e
commit
0b7a19555a
3 changed files with 103 additions and 0 deletions
19
gdb/.gdbinit.d/auto
Normal file
19
gdb/.gdbinit.d/auto
Normal file
|
@ -0,0 +1,19 @@
|
|||
dashboard -enabled on
|
||||
dashboard -layout breakpoints variables source stack threads
|
||||
dashboard -style prompt 'gdb>'
|
||||
dashboard -style max_value_length 0
|
||||
dashboard variables -style compact True
|
||||
dashboard variables -style align True
|
||||
dashboard variables -style sort True
|
||||
dashboard expressions -style align True
|
||||
dashboard stack -style sort True
|
||||
|
||||
define expand
|
||||
dashboard -style compact_values False
|
||||
end
|
||||
|
||||
define pack
|
||||
dashboard -style compact_values True
|
||||
end
|
||||
|
||||
expand
|
67
gdb/.gdbinit.d/hooks
Normal file
67
gdb/.gdbinit.d/hooks
Normal file
|
@ -0,0 +1,67 @@
|
|||
define hookpost-up
|
||||
dashboard
|
||||
end
|
||||
|
||||
define hookpost-down
|
||||
dashboard
|
||||
end
|
||||
|
||||
define hookpost-frame
|
||||
dashboard
|
||||
end
|
||||
|
||||
define hookpost-finish
|
||||
dashboard
|
||||
end
|
||||
|
||||
define hookpost-return
|
||||
dashboard
|
||||
end
|
||||
|
||||
define hook-quit
|
||||
set confirm off
|
||||
end
|
||||
|
||||
define hookpost-enable
|
||||
dashboard
|
||||
end
|
||||
|
||||
define hookpost-disable
|
||||
dashboard
|
||||
end
|
||||
|
||||
define hookpost-break
|
||||
dashboard
|
||||
end
|
||||
|
||||
define hookpost-tbreak
|
||||
dashboard
|
||||
end
|
||||
|
||||
define hookpost-delete
|
||||
dashboard
|
||||
end
|
||||
|
||||
define hookpost-watch
|
||||
dashboard
|
||||
end
|
||||
|
||||
define hookpost-rwatch
|
||||
dashboard
|
||||
end
|
||||
|
||||
define hookpost-awatch
|
||||
dashboard
|
||||
end
|
||||
|
||||
define hookpost-condition
|
||||
dashboard
|
||||
end
|
||||
|
||||
define hookpost-core-file
|
||||
dashboard
|
||||
end
|
||||
|
||||
define hookpost-thread
|
||||
dashboard
|
||||
end
|
17
gdb/.gdbinit.d/init
Normal file
17
gdb/.gdbinit.d/init
Normal file
|
@ -0,0 +1,17 @@
|
|||
set confirm off
|
||||
set breakpoint pending on
|
||||
set print pretty on
|
||||
set auto-load safe-path /
|
||||
set logging off
|
||||
|
||||
# Adapted to use neovim from https://github.com/cyrus-and/gdb-dashboard/issues/20
|
||||
define vo
|
||||
python
|
||||
import os
|
||||
sal = gdb.selected_frame().find_sal()
|
||||
current_line = sal.line
|
||||
if current_line != 0:
|
||||
openInNvim = "nvr +" + str(current_line) + " " + sal.symtab.fullname()
|
||||
os.system(openInNvim)
|
||||
end
|
||||
end
|
Loading…
Reference in a new issue