Implemented stepping back & changing variables

This commit is contained in:
WebFreak001 2016-07-10 16:34:12 +02:00
commit d704af2501
5 changed files with 39 additions and 14 deletions

View file

@ -387,38 +387,42 @@ export class MI2 extends EventEmitter implements IBackend {
});
}
continue(): Thenable<boolean> {
continue(reverse: boolean = false): Thenable<boolean> {
return new Promise((resolve, reject) => {
this.sendCommand("exec-continue").then((info) => {
this.sendCommand("exec-continue" + (reverse ? " --reverse" : "")).then((info) => {
resolve(info.resultRecords.resultClass == "running");
}, reject);
});
}
next(): Thenable<boolean> {
next(reverse: boolean = false): Thenable<boolean> {
return new Promise((resolve, reject) => {
this.sendCommand("exec-next").then((info) => {
this.sendCommand("exec-next" + (reverse ? " --reverse" : "")).then((info) => {
resolve(info.resultRecords.resultClass == "running");
}, reject);
});
}
step(): Thenable<boolean> {
step(reverse: boolean = false): Thenable<boolean> {
return new Promise((resolve, reject) => {
this.sendCommand("exec-step").then((info) => {
this.sendCommand("exec-step" + (reverse ? " --reverse" : "")).then((info) => {
resolve(info.resultRecords.resultClass == "running");
}, reject);
});
}
stepOut(): Thenable<boolean> {
stepOut(reverse: boolean = false): Thenable<boolean> {
return new Promise((resolve, reject) => {
this.sendCommand("exec-finish").then((info) => {
this.sendCommand("exec-finish" + (reverse ? " --reverse" : "")).then((info) => {
resolve(info.resultRecords.resultClass == "running");
}, reject);
});
}
changeVariable(name: string, rawValue: string): Thenable<any> {
return this.sendCommand("gdb-set var " + name + "=" + rawValue);
}
loadBreakPoints(breakpoints: Breakpoint[]): Thenable<[boolean, Breakpoint][]> {
let promisses = [];
breakpoints.forEach(breakpoint => {