diff options
author | Frank Ch. Eigler <fche@elastic.org> | 2008-04-13 14:59:36 -0400 |
---|---|---|
committer | Frank Ch. Eigler <fche@elastic.org> | 2008-04-13 14:59:36 -0400 |
commit | 1ec6761a6b893c2c755753617bebac79b3040fca (patch) | |
tree | bd252bb1d5253e1a10ff24b1790e6e0e1b7cec02 /runtime/debug.h | |
parent | bf50bb491c5bfcf3035de45ac58acf11ed02af06 (diff) | |
parent | 1c86aa2adc1165906057cdde4cc7484468726fc4 (diff) | |
download | systemtap-steved-1ec6761a6b893c2c755753617bebac79b3040fca.tar.gz systemtap-steved-1ec6761a6b893c2c755753617bebac79b3040fca.tar.xz systemtap-steved-1ec6761a6b893c2c755753617bebac79b3040fca.zip |
Merge commit 'origin/unwind'
* commit 'origin/unwind':
Fixes for 2.6.25 pt_regs changes.
Include string.h
Change stap to get kernel symbols from debuginfo and
reincarnate vim/ directory in this branch to match master
Add new define STP_USE_DWARF_UNWINDER which is set based on which archs
Remove misleading error message.
Support for kernels built with CONFIG_FRAME_POINTER
Fix regression.
dded _stp_read_address() and changed code to use it.
kretprobe trampoline fixes
i386 fixes.
control.c (_stp_ctl_write_dbug): Insert missing break.
32-bit fixes
Cleanup.
2008-03-23 Frank Ch. Eigler <fche@elastic.org>
2008-03-23 Frank Ch. Eigler <fche@elastic.org>
2008-03-21 Eugene Teo <eugeneteo@kernel.sg>
add (back) runtime/unwind files
* clarify utility of epilogue-type probe aliases in documentation
rebased unwind_branch on top of current master
Diffstat (limited to 'runtime/debug.h')
-rw-r--r-- | runtime/debug.h | 60 |
1 files changed, 29 insertions, 31 deletions
diff --git a/runtime/debug.h b/runtime/debug.h index 8f877ede..9b2fe5c5 100644 --- a/runtime/debug.h +++ b/runtime/debug.h @@ -14,6 +14,8 @@ * _dbug() writes to systemtap stderr. * errk() writes to the system log. */ +int _stp_transport_state = 0; + #define _dbug(args...) _stp_dbug(__FUNCTION__, __LINE__, args) #define errk(args...) do { \ @@ -21,46 +23,42 @@ printk(args); \ } while (0) -#ifdef DEBUG_TRANSPORT -#undef DEBUG_TRANSPORT -#define DEBUG_TRANSPORT 1 -#else -#define DEBUG_TRANSPORT 0 -#endif +/* + * To use these, enable them from the command line when compiling. + * For example, "stap -DDEBUG_UNWIND=3" + * will activate dbug_unwind() and print messages with level <= 3. + */ -#ifdef DEBUG_UNWIND -#undef DEBUG_UNWIND -#define DEBUG_UNWIND 2 -#else -#define DEBUG_UNWIND 0 -#endif +/* Note: DEBUG_MEM is implemented in alloc.c */ -#ifdef DEBUG_SYMBOLS -#undef DEBUG_SYMBOLS -#define DEBUG_SYMBOLS 4 +#ifdef DEBUG_TRANS /* transport */ +/* Note: transport is debugged using printk() */ +#define dbug_trans(level, args...) do { \ + if ((level) <= DEBUG_TRANS) { \ + printk("%s:%d ",__FUNCTION__, __LINE__); \ + printk(args); \ + } \ + } while (0) #else -#define DEBUG_SYMBOLS 0 +#define dbug_trans(level, args...) ; #endif -#define DEBUG_TYPE (DEBUG_TRANSPORT|DEBUG_UNWIND|DEBUG_SYMBOLS) - -#if DEBUG_TYPE > 0 - -#define dbug(type, args...) do { \ - if ((type) & DEBUG_TYPE) \ +#ifdef DEBUG_UNWIND /* stack unwinder */ +#define dbug_unwind(level, args...) do { \ + if ((level) <= DEBUG_UNWIND) \ _stp_dbug(__FUNCTION__, __LINE__, args); \ } while (0) +#else +#define dbug_unwind(level, args...) ; +#endif -#define kbug(type, args...) do { \ - if ((type) & DEBUG_TYPE) { \ - printk("%s:%d ",__FUNCTION__, __LINE__); \ - printk(args); \ - } \ +#ifdef DEBUG_SYMBOLS +#define dbug_sym(level, args...) do { \ + if ((level) <= DEBUG_SYMBOLS) \ + _stp_dbug(__FUNCTION__, __LINE__, args); \ } while (0) - #else -#define dbug(type, args...) ; -#define kbug(type, args...) ; -#endif /* DEBUG_TYPE > 0 */ +#define dbug_sym(level, args...) ; +#endif #endif /* _STP_DEBUG_H_ */ |