- Electron version: 1.3.0
- Operating system: OS X 10.11.6

I'm trying to use VSCode to debug Electron's main process.

So I cloned https://github.com/electron/electron-quick-start
Setup VSCode debugging in `.vscode/launch.json`.

```
{
  "version": "0.2.0",
  "configurations": [
    {
      "name": "Attach",
      "type": "node",
      "request": "attach",
      "port": 5858,
      "sourceMaps": false
    }
  ]
```

Now I run `./node_modules/.bin/electron --debug-brk=5858 main.js`, then using VSCode to attach to the process.
### main.js (simplified from `electron/electron-quick-start`):

```
const electron = require('electron')
const app = electron.app
const BrowserWindow = electron.BrowserWindow // BREAKPOINT

let mainWindow

function createWindow () {
  mainWindow = new BrowserWindow({width: 800, height: 600})  // BREAKPOINT

  mainWindow.loadURL(`file://${__dirname}/index.html`)

  mainWindow.on('closed', function () {
    mainWindow = null
  })
}

app.on('ready', createWindow)
app.on('window-all-closed', function () {
  if (process.platform !== 'darwin') { app.quit() }
})

app.on('activate', function () {
  if (mainWindow === null) { createWindow() }
})
```

VSCode attaches correctly, but it misses the two breakpoints in the initial run.
However, if I then close the Renderer window, and click the dock icon again, I'm able to hit the breakpoint in `createWindow`.

I'm expecting with `--debug-brk=5858`, it should break on this line:
`const electron = require('electron')`
And then after attaching the process, I should be able to step through from there.
But Electron just goes on to create the Renderer window.
Any idea how I can get it to stop at the first line of script, as the documentation says?

<img width="851" alt="screen shot 2016-07-25 at 11 17 09 pm" src="https://cloud.githubusercontent.com/assets/4033249/17127918/f3a13696-52bd-11e6-8e99-029cd23dae5b.png">

atom/common/node_bindings.cc
DCHECK(!is_browser_ || BrowserThread::CurrentlyOn(BrowserThread::UI));
  
  message_loop_ = base::MessageLoop::current();
  
  UvRunOnce();
}
void NodeBindings::UvRunOnce() {
  DCHECK(!is_browser_ || BrowserThread::CurrentlyOn(BrowserThread::UI));
  node::Environment* env = uv_env();
  
  mate::Locker locker(env->isolate());
  v8::HandleScope handle_scope(env->isolate());
  
  v8::Context::Scope context_scope(env->context());
  
  v8::MicrotasksScope script_scope(env->isolate(),
                                   v8::MicrotasksScope::kRunMicrotasks);
  
  int r = uv_run(uv_loop_, UV_RUN_NOWAIT);
  if (r == 0)
    message_loop_->QuitWhenIdle();  
  
  uv_sem_post(&embed_sem_);
}
void NodeBindings::WakeupMainThread() {