diff options
| author | ruki <[email protected]> | 2019-09-21 00:49:28 +0800 |
|---|---|---|
| committer | ruki <[email protected]> | 2019-09-20 22:56:48 +0800 |
| commit | 8e57109a69c4c19be728e7797124f8ff5a4a6e35 (patch) | |
| tree | c09f0509c7fa941444884e1a0dd628d6b9afdd98 /xmake/modules/devel/debugger/run.lua | |
| parent | e037a04e699bd67832024fdd6729e0ea835784e2 (diff) | |
uses devenv to load and debug win program
Diffstat (limited to 'xmake/modules/devel/debugger/run.lua')
| -rw-r--r-- | xmake/modules/devel/debugger/run.lua | 23 |
1 files changed, 23 insertions, 0 deletions
diff --git a/xmake/modules/devel/debugger/run.lua b/xmake/modules/devel/debugger/run.lua index 2c08f1f9a..4369b3f5a 100644 --- a/xmake/modules/devel/debugger/run.lua +++ b/xmake/modules/devel/debugger/run.lua @@ -28,6 +28,7 @@ import("detect.tools.find_lldb") import("detect.tools.find_windbg") import("detect.tools.find_x64dbg") import("detect.tools.find_ollydbg") +import("detect.tools.find_devenv") import("detect.tools.find_vsjitdebugger") -- run gdb @@ -198,6 +199,27 @@ function _run_vsjitdebugger(program, argv) return true end +-- run devenv +function _run_devenv(program, argv) + + -- find devenv + local devenv = find_devenv({program = config.get("debugger")}) + if not devenv then + return false + end + + -- patch arguments + argv = argv or {} + table.insert(argv, 1, "/DebugExe") + table.insert(argv, 2, program) + + -- run it + os.execv(devenv, argv) + + -- ok + return true +end + -- run program with debugger -- -- @param program the program name @@ -229,6 +251,7 @@ function main(program, argv) table.insert(debuggers, 1, {"ollydbg", _run_ollydbg}) table.insert(debuggers, 1, {"x64dbg", _run_x64dbg}) table.insert(debuggers, 1, {"vsjitdebugger", _run_vsjitdebugger}) + table.insert(debuggers, 1, {"devenv", _run_devenv}) end -- get debugger from the configure |
