Arquivos
hhvm/hphp/runtime/debugger/cmd/cmd_quit.h
T
Herman Venter 917fffb462 Reduce redundant spew when breaking on an unhandled exception. Quit cleanly.
Currently the debugger prints the line where an exception has been thrown, along with the type exception. Then it prints the source listing of the exception. Then it prints a serialization of the exception, which includes a full stack trace. Since the debugger has a command for printing stack traces, the latter bit information seems completely redundant when stopped in the command line client. This diff suppresses the stack trace in that case. It also suppresses redundant diagnostics that get generated during the debugger's attempt to find and print the source code in response to a list command. Finally, the quit command was too eager to let the client die after notifying the proxy, causing the proxy to get a pipe closed exception rather than the quit command, which often allowed the program to carry on running after the client has already quit. The quit command now waits for an acknowledgement from the proxy before shutting down.
2013-06-06 11:07:59 -07:00

41 linhas
1.6 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_QUIT_H_
#define incl_HPHP_EVAL_DEBUGGER_CMD_QUIT_H_
#include "hphp/runtime/debugger/debugger_command.h"
namespace HPHP { namespace Eval {
///////////////////////////////////////////////////////////////////////////////
DECLARE_BOOST_TYPES(CmdQuit);
class CmdQuit : public DebuggerCommand {
public:
CmdQuit() : DebuggerCommand(KindOfQuit) {}
virtual void help(DebuggerClient &client);
protected:
virtual void onClientImpl(DebuggerClient &client);
virtual bool onServer(DebuggerProxy &proxy);
};
///////////////////////////////////////////////////////////////////////////////
}}
#endif // incl_HPHP_EVAL_DEBUGGER_CMD_QUIT_H_