diff --git a/.vscode/launch.json b/.vscode/launch.json index 2b49733f..c125338b 100644 --- a/.vscode/launch.json +++ b/.vscode/launch.json @@ -1,6 +1,45 @@ { "version": "0.2.0", "configurations": [ + { + "name": "Launch QEMU and debug the kernel", + "type": "cppdbg", + "request": "launch", + "program": "${workspaceFolder}/fennix.elf", + "cwd": "${workspaceFolder}", + "args": [], + "targetArchitecture": "x64", + "MIMode": "gdb", + "miDebuggerPath": "${workspaceFolder}/../tools/cross/bin/x86_64-fennix-gdb", + "miDebuggerArgs": "", + "externalConsole": false, + "additionalSOLibSearchPath": "${workspaceFolder}", + "customLaunchSetupCommands": [ + { + "text": "target remote localhost:1234", + "description": "Connect to QEMU remote debugger" + } + ], + "setupCommands": [ + { + "description": "Enable pretty-printing for gdb", + "text": "-enable-pretty-printing", + "ignoreFailures": true + }, + { + "text": "set breakpoint pending on", + "description": "Make breakpoint pending on future shared library load." + }, + { + "text": "file ${workspaceFolder}/fennix.elf", + "description": "Load binary." + }, + { + "text": "source ${workspaceFolder}/.gdbinit" + } + ], + "preLaunchTask": "launch-qemu" + }, { "name": "Attach to a running VM instance", "type": "cppdbg", @@ -38,7 +77,6 @@ "text": "source ${workspaceFolder}/.gdbinit" } ], - "preLaunchTask": "launch-qemu" }, { "name": "Attach to VM w/utest",