From 9b9846d41b58b60cbd1ca963e4d7bedc93cf7c02 Mon Sep 17 00:00:00 2001 From: wsw0108 Date: Sat, 8 Apr 2023 09:27:05 +0800 Subject: add gui debugger gede and seergdb --- xmake/modules/devel/debugger/run.lua | 46 ++++++++++++++++++++++++++++++++++++ 1 file changed, 46 insertions(+) (limited to 'xmake/modules/devel/debugger/run.lua') 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? -- cgit v1.3.1