diff options
| author | wsw0108 <[email protected]> | 2023-04-08 09:27:05 +0800 |
|---|---|---|
| committer | wsw0108 <[email protected]> | 2023-04-08 09:27:05 +0800 |
| commit | 9b9846d41b58b60cbd1ca963e4d7bedc93cf7c02 (patch) | |
| tree | c4177bcbc96f78d0ea86a95a0518fe19a501487e /xmake/modules/devel/debugger/run.lua | |
| parent | 171b0b60bc4d181fb1e2514fc3317d5f5e786f2c (diff) | |
add gui debugger gede and seergdb
Diffstat (limited to 'xmake/modules/devel/debugger/run.lua')
| -rw-r--r-- | xmake/modules/devel/debugger/run.lua | 46 |
1 files changed, 46 insertions, 0 deletions
diff --git a/xmake/modules/devel/debugger/run.lua b/xmake/modules/devel/debugger/run.lua index 6c972aec6..3cee7afef 100644 --- a/xmake/modules/devel/debugger/run.lua +++ b/xmake/modules/devel/debugger/run.lua @@ -32,6 +32,7 @@ import("detect.tools.find_ollydbg") import("detect.tools.find_devenv") import("detect.tools.find_vsjitdebugger") import("detect.tools.find_renderdoc") +import("lib.detect.find_program") -- run gdb function _run_gdb(program, argv, opt) @@ -261,6 +262,49 @@ function _run_renderdoc(program, argv, opt) return true end +-- run gede +function _run_gede(program, argv, opt) + + -- find gede + opt = opt or {} + local debugger = config.get("debugger") or "gede" + local prog = find_program(debugger, {}) + if not prog then + return false + end + + -- patch arguments + argv = argv or {} + table.insert(argv, 1, program) + table.insert(argv, 1, "--args") + table.insert(argv, 1, "--no-show-config") + + -- run it + os.execv(prog, argv, table.join(opt, {exclusive = true})) + return true +end + +-- run seergdb +function _run_seergdb(program, argv, opt) + + -- find seergdb + opt = opt or {} + local debugger = config.get("debugger") or "seergdb" + local prog = find_program(debugger, {}) + if not prog then + return false + end + + -- patch arguments + argv = argv or {} + table.insert(argv, 1, program) + table.insert(argv, 1, "--start") + + -- run it + os.execv(prog, argv, table.join(opt, {exclusive = true})) + return true +end + -- run program with debugger -- -- @param program the program name @@ -285,6 +329,8 @@ function main(program, argv, opt) , {"cudagdb" , _run_cudagdb} , {"cudamemcheck", _run_cudamemcheck} , {"renderdoc" , _run_renderdoc} + , {"gede" , _run_gede} + , {"seergdb" , _run_seergdb} } -- for windows target or on windows? |
