75 lines
2.1 KiB
Lua
75 lines
2.1 KiB
Lua
|
return {
|
||
|
{
|
||
|
'mfussenegger/nvim-dap',
|
||
|
optional = true,
|
||
|
dependencies = {
|
||
|
'mfussenegger/nvim-dap-python',
|
||
|
},
|
||
|
-- stylua: ignore
|
||
|
-- keys = {
|
||
|
-- { '<leader>dPt', function() require('dap-python').test_method() end, desc = 'Debug Method' },
|
||
|
-- { '<leader>dPc', function() require('dap-python').test_class() end, desc = 'Debug Class' },
|
||
|
-- },
|
||
|
config = function()
|
||
|
local dap = require('dap')
|
||
|
dap.adapters.lldb = {
|
||
|
type = 'executable',
|
||
|
command = '/usr/bin/lldb-vscode', -- adjust as needed, must be absolute path
|
||
|
name = 'lldb'
|
||
|
}
|
||
|
dap.configurations.c= {
|
||
|
{
|
||
|
name = 'Launch',
|
||
|
type = 'lldb',
|
||
|
request = 'launch',
|
||
|
program = function()
|
||
|
return vim.fn.input('Path to executable: ', vim.fn.getcwd() .. '/', 'file')
|
||
|
end,
|
||
|
cwd = '${workspaceFolder}',
|
||
|
stopOnEntry = false,
|
||
|
args = {},
|
||
|
|
||
|
-- 💀
|
||
|
-- if you change `runInTerminal` to true, you might need to change the yama/ptrace_scope setting:
|
||
|
--
|
||
|
-- echo 0 | sudo tee /proc/sys/kernel/yama/ptrace_scope
|
||
|
--
|
||
|
-- Otherwise you might get the following error:
|
||
|
--
|
||
|
-- Error on launch: Failed to attach to the target process
|
||
|
--
|
||
|
-- But you should be aware of the implications:
|
||
|
-- https://www.kernel.org/doc/html/latest/admin-guide/LSM/Yama.html
|
||
|
-- runInTerminal = false,
|
||
|
},
|
||
|
}
|
||
|
dap.configurations.cpp = {
|
||
|
{
|
||
|
name = 'Launch',
|
||
|
type = 'lldb',
|
||
|
request = 'launch',
|
||
|
program = function()
|
||
|
return vim.fn.input('Path to executable: ', vim.fn.getcwd() .. '/', 'file')
|
||
|
end,
|
||
|
cwd = '${workspaceFolder}',
|
||
|
stopOnEntry = false,
|
||
|
args = {},
|
||
|
|
||
|
-- 💀
|
||
|
-- if you change `runInTerminal` to true, you might need to change the yama/ptrace_scope setting:
|
||
|
--
|
||
|
-- echo 0 | sudo tee /proc/sys/kernel/yama/ptrace_scope
|
||
|
--
|
||
|
-- Otherwise you might get the following error:
|
||
|
--
|
||
|
-- Error on launch: Failed to attach to the target process
|
||
|
--
|
||
|
-- But you should be aware of the implications:
|
||
|
-- https://www.kernel.org/doc/html/latest/admin-guide/LSM/Yama.html
|
||
|
-- runInTerminal = false,
|
||
|
},
|
||
|
}
|
||
|
end,
|
||
|
},
|
||
|
}
|