Nuclide HHVM Debugger - Implement dummy evaluate - 21.2/ N
commit2998c5f13ede95bc3f627339a096c980969679d8
authorEric Bluestein <ericblue@fb.com>
Fri, 5 Jan 2018 22:38:17 +0000 (5 14:38 -0800)
committerHhvm Bot <hhvm-bot@users.noreply.github.com>
Fri, 5 Jan 2018 22:47:00 +0000 (5 14:47 -0800)
tree757c05037da6fc8ed927a9b7aef4102d6ef85876
parent038ca187fe2f885e59fcb71e908e3b78c591cf19
Nuclide HHVM Debugger - Implement dummy evaluate - 21.2/ N

Summary:
This diff adds the ability for evaluate requests to happen on the dummy thread while the target is running. Since evaluates can invoke function calls, which can contain breakpoints, this diff adds the ability for the dummy thread to hit breakpoints.

The dummy request now has a request info, which can be obtained by the hook when the thread is the dummy. Breakpoints are now installed on the dummy thread as well, and stack traces can be obtained for the dummy.

The dummy request thread is typically not visible to the UX. When the dummy hits a bp, the thread is shown in the UX. When it finishes its eval, a thread exit message is sent to hide the dummy again.

Reviewed By: rightparen

Differential Revision: D6588867

fbshipit-source-id: 70db5d7c7d46ffef801c0c5cfb71feeb4a0c74cf
hphp/runtime/base/program-functions.cpp
hphp/runtime/ext/vsdebug/debugger.cpp
hphp/runtime/ext/vsdebug/debugger.h
hphp/runtime/ext/vsdebug/evaluate_command.cpp
hphp/runtime/ext/vsdebug/hook.cpp
hphp/runtime/ext/vsdebug/session.cpp
hphp/runtime/ext/vsdebug/session.h
hphp/runtime/ext/vsdebug/stack_trace_command.cpp