2 * Copyright (C) 1995-2008 University of Karlsruhe. All right reserved.
4 * This file is part of libFirm.
6 * This file may be distributed and/or modified under the terms of the
7 * GNU General Public License version 2 as published by the Free Software
8 * Foundation and appearing in the file LICENSE.GPL included in the
9 * packaging of this file.
11 * Licensees holding valid libFirm Professional Edition licenses may use
12 * this file in accordance with the libFirm Commercial License.
13 * Agreement provided with the Software.
15 * This file is provided AS IS with NO WARRANTY OF ANY KIND, INCLUDING THE
16 * WARRANTY OF DESIGN, MERCHANTABILITY AND FITNESS FOR A PARTICULAR
22 * @brief Helper function for integrated debug support
23 * @author Michael Beck
27 #ifndef FIRM_DEBUG_DEBUGGER_H
28 #define FIRM_DEBUG_DEBUGGER_H
30 #include "firm_types.h"
32 /** Break into the debugger. */
33 void firm_debug_break(void);
36 * High level function to use from debugger interface
39 * .create nr break if node nr was created
40 * .help list all commands
42 void firm_break(const char *cmd);
44 /** Creates the debugger tables. */
45 void firm_init_debugger(void);
48 * @defgroup external_debug helper functions for debuggers
54 * Returns non-zero, if the debug extension is active
56 int firm_debug_active(void);
59 * Return the content of the debug text buffer.
61 * To be called from the debugger.
63 const char *firm_debug_text(void);
66 * A gdb helper function to print tarvals.
68 const char *gdb_tarval_helper(void *tv_object);
71 * A gdb helper to print all (new-style-) out edges of a node
73 const char *gdb_out_edge_helper(const ir_node *node);
76 * High level function to use from debugger interface
78 * See show_commands() for supported commands.
80 void firm_debug(const char *cmd);