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
26 #ifndef FIRM_DEBUG_DEBUGGER_H
27 #define FIRM_DEBUG_DEBUGGER_H
29 #include "firm_types.h"
31 /** Break into the debugger. */
32 void firm_debug_break(void);
35 * High level function to use from debugger interface
38 * .create nr break if node nr was created
39 * .help list all commands
41 void firm_break(const char *cmd);
43 /** Creates the debugger tables. */
44 void firm_init_debugger(void);
46 void firm_finish_debugger(void);
49 * @defgroup external_debug helper functions for debuggers
55 * Returns non-zero, if the debug extension is active
57 int firm_debug_active(void);
60 * Return the content of the debug text buffer.
62 * To be called from the debugger.
64 const char *firm_debug_text(void);
67 * A gdb helper function to print tarvals.
69 const char *gdb_tarval_helper(void *tv_object);
72 * A gdb helper to print all (new-style-) out edges of a node
74 const char *gdb_out_edge_helper(const ir_node *node);
77 * High level function to use from debugger interface
79 * See show_commands() for supported commands.
81 void firm_debug(const char *cmd);