Add stack walking to _do_gc
diff --git a/.vscode/launch.json b/.vscode/launch.json
index 57b1c71..2fd02c2 100644
--- a/.vscode/launch.json
+++ b/.vscode/launch.json
@@ -5,6 +5,26 @@
     "version": "0.2.0",
     "configurations": [
         {
+            "name": "Debug test.lisp",
+            "type": "cppdbg",
+            "request": "launch",
+            "program": "${workspaceFolder}/src/lisp/lisp",
+            "args": ["test.lisp"],
+            "stopAtEntry": false,
+            "cwd": "${workspaceFolder}/src/lisp",
+            "environment": [],
+            "externalConsole": false,
+            "MIMode": "gdb",
+            "setupCommands": [
+                {
+                    "description": "Enable pretty-printing for gdb",
+                    "text": "-enable-pretty-printing",
+                    "ignoreFailures": true
+                }
+            ],
+            "preLaunchTask": "buildLisp"
+        },
+        {
             "type": "gdb",
             "request": "attach",
             "name": "Attach to QEMU",
diff --git a/.vscode/tasks.json b/.vscode/tasks.json
index 4052e94..8ccaf01 100644
--- a/.vscode/tasks.json
+++ b/.vscode/tasks.json
@@ -17,6 +17,11 @@
             "type": "shell",
             "label": "sphynx:watch",
             "command": "make -C doc/ watch"
+        },
+        {
+            "type": "shell",
+            "label": "buildLisp",
+            "command": "make -C src/lisp"
         }
     ],
 }
\ No newline at end of file