Merge pull request #3178 from deepak1556/node_debugger_patch
debugger: expose v8debug
This commit is contained in:
commit
79d4d52172
2 changed files with 8 additions and 7 deletions
|
@ -4,6 +4,7 @@
|
||||||
|
|
||||||
#include "atom/browser/javascript_environment.h"
|
#include "atom/browser/javascript_environment.h"
|
||||||
|
|
||||||
|
#include "base/command_line.h"
|
||||||
#include "gin/array_buffer.h"
|
#include "gin/array_buffer.h"
|
||||||
#include "gin/v8_initializer.h"
|
#include "gin/v8_initializer.h"
|
||||||
|
|
||||||
|
@ -20,6 +21,12 @@ JavascriptEnvironment::JavascriptEnvironment()
|
||||||
}
|
}
|
||||||
|
|
||||||
bool JavascriptEnvironment::Initialize() {
|
bool JavascriptEnvironment::Initialize() {
|
||||||
|
auto cmd = base::CommandLine::ForCurrentProcess();
|
||||||
|
if (cmd->HasSwitch("debug-brk")) {
|
||||||
|
// Need to be called before v8::Initialize().
|
||||||
|
const char expose_debug_as[] = "--expose_debug_as=v8debug";
|
||||||
|
v8::V8::SetFlagsFromString(expose_debug_as, sizeof(expose_debug_as) - 1);
|
||||||
|
}
|
||||||
gin::IsolateHolder::Initialize(gin::IsolateHolder::kNonStrictMode,
|
gin::IsolateHolder::Initialize(gin::IsolateHolder::kNonStrictMode,
|
||||||
gin::ArrayBufferAllocator::SharedInstance());
|
gin::ArrayBufferAllocator::SharedInstance());
|
||||||
return true;
|
return true;
|
||||||
|
|
|
@ -35,17 +35,14 @@ NodeDebugger::NodeDebugger(v8::Isolate* isolate)
|
||||||
weak_factory_(this) {
|
weak_factory_(this) {
|
||||||
bool use_debug_agent = false;
|
bool use_debug_agent = false;
|
||||||
int port = 5858;
|
int port = 5858;
|
||||||
bool wait_for_connection = false;
|
|
||||||
|
|
||||||
std::string port_str;
|
std::string port_str;
|
||||||
base::CommandLine* cmd = base::CommandLine::ForCurrentProcess();
|
base::CommandLine* cmd = base::CommandLine::ForCurrentProcess();
|
||||||
if (cmd->HasSwitch("debug")) {
|
if (cmd->HasSwitch("debug")) {
|
||||||
use_debug_agent = true;
|
use_debug_agent = true;
|
||||||
port_str = cmd->GetSwitchValueASCII("debug");
|
port_str = cmd->GetSwitchValueASCII("debug");
|
||||||
}
|
} else if (cmd->HasSwitch("debug-brk")) {
|
||||||
if (cmd->HasSwitch("debug-brk")) {
|
|
||||||
use_debug_agent = true;
|
use_debug_agent = true;
|
||||||
wait_for_connection = true;
|
|
||||||
port_str = cmd->GetSwitchValueASCII("debug-brk");
|
port_str = cmd->GetSwitchValueASCII("debug-brk");
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -56,9 +53,6 @@ NodeDebugger::NodeDebugger(v8::Isolate* isolate)
|
||||||
isolate_->SetData(kIsolateSlot, this);
|
isolate_->SetData(kIsolateSlot, this);
|
||||||
v8::Debug::SetMessageHandler(DebugMessageHandler);
|
v8::Debug::SetMessageHandler(DebugMessageHandler);
|
||||||
|
|
||||||
if (wait_for_connection)
|
|
||||||
v8::Debug::DebugBreak(isolate_);
|
|
||||||
|
|
||||||
uv_async_init(uv_default_loop(), &weak_up_ui_handle_, ProcessMessageInUI);
|
uv_async_init(uv_default_loop(), &weak_up_ui_handle_, ProcessMessageInUI);
|
||||||
|
|
||||||
// Start a new IO thread.
|
// Start a new IO thread.
|
||||||
|
|
Loading…
Add table
Reference in a new issue