mirror of
https://github.com/diasurgical/DevilutionX.git
synced 2026-05-21 05:40:35 +00:00
Organize gdb/llvm files a bit better
Also adds a README.md for gdb.
This commit is contained in:
@@ -1 +1 @@
|
||||
source tools/gdb/pretty_printers/utils/static_vector_pp.py
|
||||
source tools/gdb/devilution_gdb/__init__.py
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
script topsrcdir = topsrcdir if "topsrcdir" in locals() else os.getcwd()
|
||||
script sys.path.append(os.path.join(topsrcdir, "tools/lldbutils"))
|
||||
script import lldbutils
|
||||
script lldbutils.init()
|
||||
script sys.path.append(os.path.join(topsrcdir, "tools/lldb"))
|
||||
script import devilution_lldb
|
||||
script devilution_lldb.init()
|
||||
|
||||
@@ -0,0 +1,34 @@
|
||||
# gdb debugging enhancements
|
||||
|
||||
Requires gdb v14.1+.
|
||||
|
||||
The code in this directory is imported via `.gdbinit`.
|
||||
|
||||
Working directory `.gdb` is not loaded by default.
|
||||
|
||||
You can run gdb with `-iex 'add-auto-load-safe-path .'` to load it.
|
||||
|
||||
For example:
|
||||
|
||||
```bash
|
||||
gdb -iex 'add-auto-load-safe-path .' build/devilutionx
|
||||
```
|
||||
|
||||
If you're using VS Code with CMake, you can instead add the following to your `.vscode/settings.json`:
|
||||
|
||||
```json
|
||||
"cmake.debugConfig": {
|
||||
"setupCommands": [
|
||||
{
|
||||
"description": "Enable pretty-printing for gdb",
|
||||
"text": "-enable-pretty-printing",
|
||||
"ignoreFailures": true
|
||||
},
|
||||
{
|
||||
"description": "Load gdb enhancements",
|
||||
"text": "source ${workspaceFolder}/tools/gdb/devilution_gdb/__init__.py",
|
||||
"ignoreFailures": false
|
||||
}
|
||||
]
|
||||
}
|
||||
```
|
||||
@@ -0,0 +1,6 @@
|
||||
import sys
|
||||
import pathlib
|
||||
|
||||
sys.path.insert(0, str(pathlib.Path(__file__).resolve().parent.parent))
|
||||
|
||||
import devilution_gdb.pretty_printers.utils.static_vector_pp as _
|
||||
@@ -0,0 +1,7 @@
|
||||
import lldb
|
||||
|
||||
import devilution_lldb.pretty_printers.utils.static_vector_pp
|
||||
|
||||
|
||||
def init():
|
||||
devilution_lldb.pretty_printers.utils.static_vector_pp.init(lldb.debugger)
|
||||
+1
-1
@@ -28,5 +28,5 @@ class StaticVectorSyntheticChildrenProvider:
|
||||
|
||||
def init(debugger: lldb.debugger):
|
||||
debugger.HandleCommand(
|
||||
'type synthetic add -x "devilution::StaticVector<" -l lldbutils.pretty_printers.utils.static_vector_pp.StaticVectorSyntheticChildrenProvider'
|
||||
'type synthetic add -x "devilution::StaticVector<" -l devilution_lldb.pretty_printers.utils.static_vector_pp.StaticVectorSyntheticChildrenProvider'
|
||||
)
|
||||
@@ -1,6 +0,0 @@
|
||||
import lldb
|
||||
|
||||
import lldbutils.pretty_printers.utils.static_vector_pp
|
||||
|
||||
def init():
|
||||
lldbutils.pretty_printers.utils.static_vector_pp.init(lldb.debugger)
|
||||
Reference in New Issue
Block a user