修复DEBUG时修改断点无效的问题

This commit is contained in:
mxd
2021-09-10 21:20:21 +08:00
parent 1b6c352f2c
commit 18aa4e3c52
2 changed files with 11 additions and 3 deletions

View File

@@ -1,8 +1,8 @@
package org.ssssssss.magicapi.controller;
import org.apache.commons.lang3.StringUtils;
import org.ssssssss.magicapi.config.Message;
import org.ssssssss.magicapi.config.MessageType;
import org.ssssssss.magicapi.config.WebSocketSessionManager;
import org.ssssssss.magicapi.model.MagicConsoleSession;
import org.ssssssss.script.MagicScriptDebugContext;
@@ -40,10 +40,13 @@ public class MagicDebugHandler {
* 当本机没有该Session时通知其他机器处理
*/
@Message(MessageType.RESUME_BREAKPOINT)
public boolean resumeBreakpoint(MagicConsoleSession session, String stepInto) {
public boolean resumeBreakpoint(MagicConsoleSession session, String stepInto, String breakpoints) {
MagicScriptDebugContext context = session.getMagicScriptDebugContext();
if (context != null) {
context.setStepInto("1".equals(stepInto));
if(StringUtils.isNotBlank(breakpoints)){
context.setBreakpoints(Stream.of(breakpoints.split("\\|")).map(Integer::valueOf).collect(Collectors.toList()));
}
try {
context.singal();
} catch (InterruptedException ignored) {

View File

@@ -621,7 +621,12 @@ export default {
target.ext.debugDecorations && this.editor.deltaDecorations(target.ext.debugDecorations, [])
target.ext.debuging = false
target.ext.variables = []
bus.$emit('message', 'resume_breakpoint', step === true ? '1' : '0')
bus.$emit('message', 'resume_breakpoint', (step === true ? '1' : '0')+ ',' + this.editor
.getModel()
.getAllDecorations()
.filter(it => it.options.linesDecorationsClassName === 'breakpoints')
.map(it => it.range.startLineNumber)
.join('|'))
}
},
doStepInto() {