Made pausing the program possible! 🎉
This commit is contained in:
parent
99217775cf
commit
be89778b3b
2 changed files with 8 additions and 3 deletions
|
|
@ -18,9 +18,11 @@ Now you need to change `target` to the application you want to debug relative
|
||||||
to the cwd. (Which is the workspace root by default)
|
to the cwd. (Which is the workspace root by default)
|
||||||
|
|
||||||
Before debugging you need to compile your application first, then you can run it using
|
Before debugging you need to compile your application first, then you can run it using
|
||||||
the green start button in the debug sidebar. Multithreading and adding breakpoints
|
the green start button in the debug sidebar. For this you could use the `preLaunchTask`
|
||||||
while running does not work at the time of writing. However you can add/remove breakpoints
|
argument vscode allows you to do. Debugging multithreaded applications is currently not
|
||||||
as you wish while the program is paused.
|
implemented. Adding breakpoints while the program runs will not interrupt it immediately.
|
||||||
|
For that you need to pause & resume the program once first. However adding breakpoints
|
||||||
|
while its paused works as expected.
|
||||||
|
|
||||||
Extending variables is very limited as it does not support child values of variables.
|
Extending variables is very limited as it does not support child values of variables.
|
||||||
Watching expressions works partially but the result does not get properly parsed and
|
Watching expressions works partially but the result does not get properly parsed and
|
||||||
|
|
|
||||||
|
|
@ -15,6 +15,7 @@ export class MI2 extends EventEmitter implements IBackend {
|
||||||
this.process.stderr.on("data", this.stdout.bind(this));
|
this.process.stderr.on("data", this.stdout.bind(this));
|
||||||
this.process.on("exit", (() => { this.emit("quit"); }).bind(this));
|
this.process.on("exit", (() => { this.emit("quit"); }).bind(this));
|
||||||
Promise.all([
|
Promise.all([
|
||||||
|
this.sendCommand("gdb-set target-async on"),
|
||||||
this.sendCommand("environment-directory \"" + cwd + "\"")
|
this.sendCommand("environment-directory \"" + cwd + "\"")
|
||||||
]).then(resolve, reject);
|
]).then(resolve, reject);
|
||||||
});
|
});
|
||||||
|
|
@ -31,6 +32,7 @@ export class MI2 extends EventEmitter implements IBackend {
|
||||||
this.process.stderr.on("data", this.stdout.bind(this));
|
this.process.stderr.on("data", this.stdout.bind(this));
|
||||||
this.process.on("exit", (() => { this.emit("quit"); }).bind(this));
|
this.process.on("exit", (() => { this.emit("quit"); }).bind(this));
|
||||||
Promise.all([
|
Promise.all([
|
||||||
|
this.sendCommand("gdb-set target-async on"),
|
||||||
this.sendCommand("environment-directory \"" + cwd + "\"")
|
this.sendCommand("environment-directory \"" + cwd + "\"")
|
||||||
]).then(resolve, reject);
|
]).then(resolve, reject);
|
||||||
});
|
});
|
||||||
|
|
@ -48,6 +50,7 @@ export class MI2 extends EventEmitter implements IBackend {
|
||||||
this.process.stderr.on("data", this.stdout.bind(this));
|
this.process.stderr.on("data", this.stdout.bind(this));
|
||||||
this.process.on("exit", (() => { this.emit("quit"); }).bind(this));
|
this.process.on("exit", (() => { this.emit("quit"); }).bind(this));
|
||||||
Promise.all([
|
Promise.all([
|
||||||
|
this.sendCommand("gdb-set target-async on"),
|
||||||
this.sendCommand("environment-directory \"" + cwd + "\""),
|
this.sendCommand("environment-directory \"" + cwd + "\""),
|
||||||
this.sendCommand("target-select remote " + target)
|
this.sendCommand("target-select remote " + target)
|
||||||
]).then(resolve, reject);
|
]).then(resolve, reject);
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue