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 topsrcdir = topsrcdir if "topsrcdir" in locals() else os.getcwd()
|
||||||
script sys.path.append(os.path.join(topsrcdir, "tools/lldbutils"))
|
script sys.path.append(os.path.join(topsrcdir, "tools/lldb"))
|
||||||
script import lldbutils
|
script import devilution_lldb
|
||||||
script lldbutils.init()
|
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):
|
def init(debugger: lldb.debugger):
|
||||||
debugger.HandleCommand(
|
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