Vscode+Qemu+TinyOS не может использовать графический интерфейс gdb

Я устанавливаю крошечную ОС, следуя этому руководству в 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.

Я не знаю, как изменить файл. Приветствуются любые предложения по использованию расширений.


person lynn    schedule 07.12.2019    source источник


Ответы (1)


Вы пробовали это против расширения https://github.com/WebFreak001/code-debug

Поскольку команда -s развертывает сервер или порт: 1234, вы можете использовать эту конфигурацию для его подключения.

{
            "name": "Debug",
            "type": "gdb",
            "request": "attach",
            "target": "localhost:1234",
            "remote": true,
            "gdbpath": "gdb",
            "cwd": "${workspaceRoot}",
            "valuesFormatting": "parseText",
 }
person Walid Hanafy    schedule 08.01.2020