Как отлаживать .cpp файлы в NeoVim?

Я поставил codelldb дебаггер в Nvim'е и настроил его взаимодействие в вимом используя DAP(ниже приведу код файлы dap.lua). Вроде бы он работает: брейкпоинты ставит, отладку запускает. Но я так и нигде не нашел как передавать аргументы в консоль(например, при вызове std::cin). Так же при простом запуске отладки в режиме Debug не активны кнопки шагов(step into, step over) - работает только кнопки перезапуска отладки и остановки ее.

  1. Mой dap.lua в ~/.config/nvim/lua/plugins/

     return {
     {
         "julianolf/nvim-dap-lldb",
         dependencies = { "mfussenegger/nvim-dap" },
         config = function()
             require('dapui').setup()
             local cfg = {
                 configurations = {
                     c = {
                         {
                             name = "Launch debugger",
                             type = "lldb",
                             request = "launch",
                             cwd = "${workspaceFolder}",
                             program = function()
                                 local out = vim.fn.system({ "make", "debug" })
                                 if vim.v.shell_error ~= 0 then
                                     vim.notify(out, vim.log.levels.ERROR)
                                     return nil
                                 end
                                 return "path/to/executable"
                             end,
                         },
                     },
                 },
             }
             require("dap-lldb").setup(cfg)
         end
     },
     {
         "rcarriga/nvim-dap-ui",
         dependencies = {
             "mfussenegger/nvim-dap",
             "nvim-neotest/nvim-nio"
         },
         config = function()
             local dap, dapui = require("dap"), require("dapui")
             dap.listeners.before.attach.dapui_config = function()
                 dapui.open()
             end
             dap.listeners.before.launch.dapui_config = function()
                 dapui.open()
             end
             dap.listeners.before.event_terminated.dapui_config = function()
                 dapui.close()
             end
             dap.listeners.before.event_exited.dapui_config = function()
                 dapui.close()
             end
    
             --setting keybindings
             vim.keymap.set('n', '<leader>db', dap.continue, {})
             vim.keymap.set('n', '<leader>dt', dap.toggle_breakpoint, {})
             vim.keymap.set('n', '<leader>dr', dap.restart, {})
             vim.keymap.set('n', '<leader>dc', dap.disconnect, {})
             vim.keymap.set('n', '<leader>gb', dap.run_to_cursor, {})
         end,
     },
     {
         "jay-babu/mason-nvim-dap.nvim",
         dependencies = {
             "williamboman/mason.nvim",
             "mfussenegger/nvim-dap",
         },
         config = function()
             require("mason-nvim-dap").setup({
                 ensure_installed = { "codelldb" }
             })
         end
     },
     {
         "mfussenegger/nvim-dap",
     },
     }
    
  2. Программа которую дебажу

     #include <iostream>
     int main (int argc, char *argv[]) {
         int a;
         std::cout << "Enter a number: ";
         std::cout << "That's yout number: " << a;
         std::cin >> a;
         return 0;
     }
    
  3. Вот как выглядит мой экран, после того как я запустил отладку.

введите сюда описание изображения

Можете подсказать что у меня не так? Просто везде искал и нигде нормального ответа или хотя бы примерного конфига не нашел.


Ответы (0 шт):