diff options
| author | Rusty Wagner <rusty.wagner@gmail.com> | 2025-07-28 20:56:05 -0400 |
|---|---|---|
| committer | Rusty Wagner <rusty.wagner@gmail.com> | 2025-08-01 14:35:04 -0400 |
| commit | 8df034ed6b3a1a52bd268ed43e783c35b687408f (patch) | |
| tree | caa89977dfffe302514489b96b6cda1765f0af2b /binaryninjacore.h | |
| parent | 1b2f5c4c8df34d399a8abaff7db5d2338cb90ac1 (diff) | |
Add LogForException APIs to pass stack trace information separate from the message
Diffstat (limited to 'binaryninjacore.h')
| -rw-r--r-- | binaryninjacore.h | 34 |
1 files changed, 32 insertions, 2 deletions
diff --git a/binaryninjacore.h b/binaryninjacore.h index 01b1c178..b7f9e63a 100644 --- a/binaryninjacore.h +++ b/binaryninjacore.h @@ -37,14 +37,14 @@ // Current ABI version for linking to the core. This is incremented any time // there are changes to the API that affect linking, including new functions, // new types, or modifications to existing functions or types. -#define BN_CURRENT_CORE_ABI_VERSION 127 +#define BN_CURRENT_CORE_ABI_VERSION 128 // Minimum ABI version that is supported for loading of plugins. Plugins that // are linked to an ABI version less than this will not be able to load and // will require rebuilding. The minimum version is increased when there are // incompatible changes that break binary compatibility, such as changes to // existing types or functions. -#define BN_MINIMUM_CORE_ABI_VERSION 124 +#define BN_MINIMUM_CORE_ABI_VERSION 128 #ifdef __GNUC__ #ifdef BINARYNINJACORE_LIBRARY @@ -1560,6 +1560,8 @@ extern "C" { void* context; void (*log)(void* ctxt, size_t sessionId, BNLogLevel level, const char* msg, const char* logger_name, size_t tid); + void (*logWithStackTrace)(void* ctxt, size_t sessionId, BNLogLevel level, const char* stackTrace, + const char* msg, const char* logger_name, size_t tid); void (*close)(void* ctxt); BNLogLevel (*getLogLevel)(void* ctxt); } BNLogListener; @@ -3869,6 +3871,28 @@ extern "C" BINARYNINJACOREAPI void BNLogString( size_t session, BNLogLevel level, const char* logger_name, size_t tid, const char* str); + BN_PRINTF_ATTRIBUTE(6, 7) + BINARYNINJACOREAPI void BNLogWithStackTrace(size_t session, BNLogLevel level, const char* logger_name, size_t tid, + const char* stackTrace, const char* fmt, ...); + + BN_PRINTF_ATTRIBUTE(2, 3) + BINARYNINJACOREAPI void BNLogDebugWithStackTrace(const char* stackTrace, const char* fmt, ...); + + BN_PRINTF_ATTRIBUTE(2, 3) + BINARYNINJACOREAPI void BNLogInfoWithStackTrace(const char* stackTrace, const char* fmt, ...); + + BN_PRINTF_ATTRIBUTE(2, 3) + BINARYNINJACOREAPI void BNLogWarnWithStackTrace(const char* stackTrace, const char* fmt, ...); + + BN_PRINTF_ATTRIBUTE(2, 3) + BINARYNINJACOREAPI void BNLogErrorWithStackTrace(const char* stackTrace, const char* fmt, ...); + + BN_PRINTF_ATTRIBUTE(2, 3) + BINARYNINJACOREAPI void BNLogAlertWithStackTrace(const char* stackTrace, const char* fmt, ...); + + BINARYNINJACOREAPI void BNLogStringWithStackTrace( + size_t session, BNLogLevel level, const char* logger_name, size_t tid, const char* stackTrace, const char* str); + BINARYNINJACOREAPI BNLogger* BNNewLoggerReference(BNLogger* logger); BINARYNINJACOREAPI void BNFreeLogger(BNLogger* logger); @@ -3877,6 +3901,12 @@ extern "C" BINARYNINJACOREAPI void BNLoggerLog(BNLogger* logger, BNLogLevel level, const char* fmt, ...); BINARYNINJACOREAPI void BNLoggerLogString(BNLogger* logger, BNLogLevel level, const char* msg); + BN_PRINTF_ATTRIBUTE(4, 5) + BINARYNINJACOREAPI void BNLoggerLogWithStackTrace( + BNLogger* logger, BNLogLevel level, const char* stackTrace, const char* fmt, ...); + BINARYNINJACOREAPI void BNLoggerLogStringWithStackTrace( + BNLogger* logger, BNLogLevel level, const char* stackTrace, const char* msg); + BINARYNINJACOREAPI char* BNLoggerGetName(BNLogger* logger); BINARYNINJACOREAPI size_t BNLoggerGetSessionId(BNLogger* logger); BINARYNINJACOREAPI void BNLoggerIndent(BNLogger* logger); |
