mirror of https://github.com/embarklabs/embark.git
feat: allow to stop debugger
This commit is contained in:
parent
2d716e1101
commit
52d830a34b
|
@ -566,7 +566,9 @@ class ContractsManager {
|
||||||
|
|
||||||
getContractByTxHash(txHash, cb) {
|
getContractByTxHash(txHash, cb) {
|
||||||
this.events.request("blockchain:getTransaction", txHash, (err, tx) => {
|
this.events.request("blockchain:getTransaction", txHash, (err, tx) => {
|
||||||
if (err) return cb(err);
|
if (err) return cb(err.message);
|
||||||
|
if (!tx) return cb("tx hash not found");
|
||||||
|
|
||||||
for (let contractName in this.contracts) {
|
for (let contractName in this.contracts) {
|
||||||
let contract = this.contracts[contractName];
|
let contract = this.contracts[contractName];
|
||||||
if (tx.to === contract.deployedAddress) {
|
if (tx.to === contract.deployedAddress) {
|
||||||
|
|
|
@ -227,7 +227,7 @@ class TransactionDebugger {
|
||||||
}
|
}
|
||||||
|
|
||||||
this.embark.registerConsoleCommand({
|
this.embark.registerConsoleCommand({
|
||||||
description: __("Debug the last transaction or the transaction specified by a hash"),
|
description: __("Start a debugging session using, the last transaction or the transaction specified by hash"),
|
||||||
matches: (cmd: string) => {
|
matches: (cmd: string) => {
|
||||||
const [cmdName] = cmd.split(" ");
|
const [cmdName] = cmd.split(" ");
|
||||||
return cmdName === "debug";
|
return cmdName === "debug";
|
||||||
|
@ -253,7 +253,22 @@ class TransactionDebugger {
|
||||||
});
|
});
|
||||||
|
|
||||||
this.embark.registerConsoleCommand({
|
this.embark.registerConsoleCommand({
|
||||||
description: __("During a debug, step over forward"),
|
description: __("Stops the active debugging session."),
|
||||||
|
matches: ["sd", "stop debugger"],
|
||||||
|
process: (cmd: string, callback: (err?: string|object, output?: string) => void) => {
|
||||||
|
if (!this.cmdDebugger) {
|
||||||
|
this.embark.logger.warn(NO_DEBUG_SESSION);
|
||||||
|
return callback();
|
||||||
|
}
|
||||||
|
this.cmdDebugger = null;
|
||||||
|
this.embark.logger.info(__("The debug session has been stopped"));
|
||||||
|
this.cmdDebugger.unload();
|
||||||
|
},
|
||||||
|
usage: " stop debugger/sd",
|
||||||
|
});
|
||||||
|
|
||||||
|
this.embark.registerConsoleCommand({
|
||||||
|
description: __("Step over forward on the current debugging session"),
|
||||||
matches: ["next", "n"],
|
matches: ["next", "n"],
|
||||||
process: (cmd: string, callback: (err?: string|object, output?: string) => void) => {
|
process: (cmd: string, callback: (err?: string|object, output?: string) => void) => {
|
||||||
if (!this.cmdDebugger) {
|
if (!this.cmdDebugger) {
|
||||||
|
@ -275,7 +290,7 @@ class TransactionDebugger {
|
||||||
});
|
});
|
||||||
|
|
||||||
this.embark.registerConsoleCommand({
|
this.embark.registerConsoleCommand({
|
||||||
description: __("During a debug, step over back"),
|
description: __("Step over back on the current debugging session"),
|
||||||
matches: ["previous", "p"],
|
matches: ["previous", "p"],
|
||||||
process: (cmd: string, callback: (err?: string|object, output?: string) => void) => {
|
process: (cmd: string, callback: (err?: string|object, output?: string) => void) => {
|
||||||
if (!this.cmdDebugger) {
|
if (!this.cmdDebugger) {
|
||||||
|
@ -296,7 +311,7 @@ class TransactionDebugger {
|
||||||
});
|
});
|
||||||
|
|
||||||
this.embark.registerConsoleCommand({
|
this.embark.registerConsoleCommand({
|
||||||
description: __("During a debug, display local variables"),
|
description: __("Display local variables of the current debugging session"),
|
||||||
matches: ["var local", "v l", "vl"],
|
matches: ["var local", "v l", "vl"],
|
||||||
process: (cmd: string, callback: (err?: string|object, output?: string) => void) => {
|
process: (cmd: string, callback: (err?: string|object, output?: string) => void) => {
|
||||||
if (!this.cmdDebugger) {
|
if (!this.cmdDebugger) {
|
||||||
|
@ -310,7 +325,7 @@ class TransactionDebugger {
|
||||||
});
|
});
|
||||||
|
|
||||||
this.embark.registerConsoleCommand({
|
this.embark.registerConsoleCommand({
|
||||||
description: __("During a debug, display global variables"),
|
description: __("Display global variables of the current debugging session"),
|
||||||
matches: ["var global", "v g", "vg"],
|
matches: ["var global", "v g", "vg"],
|
||||||
process: (cmd: string, callback: (err?: string|object, output?: string) => void) => {
|
process: (cmd: string, callback: (err?: string|object, output?: string) => void) => {
|
||||||
if (!this.cmdDebugger) {
|
if (!this.cmdDebugger) {
|
||||||
|
@ -324,7 +339,7 @@ class TransactionDebugger {
|
||||||
});
|
});
|
||||||
|
|
||||||
this.embark.registerConsoleCommand({
|
this.embark.registerConsoleCommand({
|
||||||
description: __("During a debug, display all variables"),
|
description: __("Display all variables of the current debugging session"),
|
||||||
matches: ["var all", "v a", "va"],
|
matches: ["var all", "v a", "va"],
|
||||||
process: (cmd: string, callback: (err?: string|object, output?: string) => void) => {
|
process: (cmd: string, callback: (err?: string|object, output?: string) => void) => {
|
||||||
if (!this.cmdDebugger) {
|
if (!this.cmdDebugger) {
|
||||||
|
@ -382,9 +397,10 @@ class TransactionDebugger {
|
||||||
actions.push("(n)ext");
|
actions.push("(n)ext");
|
||||||
}
|
}
|
||||||
|
|
||||||
actions.push("(v)ar (l)local");
|
actions.push("(vl) var local");
|
||||||
actions.push("(v)ar (g)lobal");
|
actions.push("(vg) var global");
|
||||||
actions.push("(v)ar (a)ll");
|
actions.push("(va) var all");
|
||||||
|
actions.push("(sd) stop debugger");
|
||||||
|
|
||||||
if (actions.length === 1) { return; }
|
if (actions.length === 1) { return; }
|
||||||
|
|
||||||
|
@ -425,7 +441,6 @@ class TransactionDebugger {
|
||||||
if (cb) { cb(); }
|
if (cb) { cb(); }
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
module.exports = TransactionDebugger;
|
module.exports = TransactionDebugger;
|
||||||
|
|
Loading…
Reference in New Issue