Arquivos
hhvm/hphp/runtime/debugger/cmd/cmd_where.h
T
Mike Magruder 95e5b48cd9 Expose basic async stack in the debugger
Expose the async stack in the debugger. This is the stack of, say, generators driven from the ASIO extension. This is a modification to the where command. The new command type accounts for back compat between old servers/clients. I've added a shortcut, "wa", which is a bit faster to type.

I also modified the normal stack trace to not print bogus lines for functions with no file/line info.

Differential Revision: D920910
2013-08-13 14:24:24 -07:00

52 linhas
2.0 KiB
C++

/*
+----------------------------------------------------------------------+
| HipHop for PHP |
+----------------------------------------------------------------------+
| Copyright (c) 2010-2013 Facebook, Inc. (http://www.facebook.com) |
+----------------------------------------------------------------------+
| This source file is subject to version 3.01 of the PHP license, |
| that is bundled with this package in the file LICENSE, and is |
| available through the world-wide-web at the following url: |
| http://www.php.net/license/3_01.txt |
| If you did not receive a copy of the PHP license and are unable to |
| obtain it through the world-wide-web, please send a note to |
| license@php.net so we can mail you a copy immediately. |
+----------------------------------------------------------------------+
*/
#ifndef incl_HPHP_EVAL_DEBUGGER_CMD_WHERE_H_
#define incl_HPHP_EVAL_DEBUGGER_CMD_WHERE_H_
#include "hphp/runtime/debugger/debugger_command.h"
namespace HPHP { namespace Eval {
///////////////////////////////////////////////////////////////////////////////
DECLARE_BOOST_TYPES(CmdWhere);
class CmdWhere : public DebuggerCommand {
public:
CmdWhere() : DebuggerCommand(KindOfWhere), m_stackArgs(true) {}
explicit CmdWhere(Type type) : DebuggerCommand(type), m_stackArgs(true) {}
virtual void help(DebuggerClient &client);
virtual bool onServer(DebuggerProxy &proxy);
virtual void onClient(DebuggerClient &client);
Array fetchStackTrace(DebuggerClient &client); // client side
void removeArgs(); // server side
protected:
virtual void sendImpl(DebuggerThriftBuffer &thrift);
virtual void recvImpl(DebuggerThriftBuffer &thrift);
private:
Array m_stacktrace;
bool m_stackArgs;
};
///////////////////////////////////////////////////////////////////////////////
}}
#endif // incl_HPHP_EVAL_DEBUGGER_CMD_WHERE_H_