Я устанавливаю крошечную ОС, следуя этому руководству в Ubuntu 18.04 http://www.jamesmolloy.co.uk/tutorial_html/ .
Пока что мне удалось скомпилировать и запустить крошечное ядро в QEMU. а также возможность подключения gdb-сервера с помощью командной строки gdb.
qemu -S -s -fda floppy.img -boot a &
sleep 1
cgdb -x scripts/gdbinit
Но я хотел бы использовать графический интерфейс Vscode gdb вместо командной строки gdb, поэтому я ищу эту страницу https://wiki.osdev.org/User:TheCool1Kevin/VSCode_Debug для настройки файла json. Вот мой файл launch.json:
{
"version": "0.2.0",
"configurations": [
{
"name": "Launch with GDB",
"type": "cppdbg",
"request": "launch",
"program": "${workspaceRoot}/boot/boot.o",
"cwd": "${workspaceRoot}",
"args": [],
"targetArchitecture": "x86",
"MIMode": "gdb",
"miDebuggerPath": "",
"miDebuggerArgs": "",
"customLaunchSetupCommands": [],
"setupCommands": [
{
"description": "Enable pretty-printing for gdb",
"text": "-enable-pretty-printing",
"ignoreFailures": true
},
{
"text": "file ${workspaceRoot}/cmy_kernel",
"description": "Load binary."
},
{
"text": "target remote :1234",
"description": "connect the port"
},
{
"text": "break kern_entry",
"description": "Break on exception handler."
},
],
"preLaunchTask": "Launch QEMU"
}
]
}
И моя задача.json
{
"version": "2.0.0",
"tasks": [
{
"label": "Launch QEMU",
"type": "shell",
"windows": {
"command": ""
},
"linux": {
"command": "qemu -S -s -fda floppy.img -boot a &sleep 1 &"
}
}
]
}
Я ожидаю, что смогу отлаживать код под VScode, но когда я запускаю отладку, VScode показывает, что Невозможно подключиться к серверу: тайм-аут 1234.
Я не знаю, как изменить файл. Приветствуются любые предложения по использованию расширений.