diff options
| author | Glenn Smith <glenn@vector35.com> | 2022-10-25 16:42:20 -0400 |
|---|---|---|
| committer | Peter LaFosse <peter@vector35.com> | 2022-11-10 16:19:13 -0500 |
| commit | c37a23621c640686772615b33efffd84ef0793f5 (patch) | |
| tree | 7b0da8b50fb9620028bb8db4347e3ab3eef878a9 | |
| parent | 2e74d0a19579c8f5dee38c5b8a7660549746146b (diff) | |
Prevent applying two different debug infoes at the same time
| -rw-r--r-- | binaryninjaapi.h | 6 | ||||
| -rw-r--r-- | binaryninjacore.h | 1 | ||||
| -rw-r--r-- | binaryview.cpp | 6 |
3 files changed, 13 insertions, 0 deletions
diff --git a/binaryninjaapi.h b/binaryninjaapi.h index 72b076d6..f6167129 100644 --- a/binaryninjaapi.h +++ b/binaryninjaapi.h @@ -3991,6 +3991,12 @@ namespace BinaryNinja { */ void SetDebugInfo(Ref<DebugInfo> newDebugInfo); + /*! Determine is a debug info object is currently being applied + + \return True if a debug info object is currently being applied + */ + bool IsApplyingDebugInfo() const; + void BeginBulkModifySymbols(); void EndBulkModifySymbols(); diff --git a/binaryninjacore.h b/binaryninjacore.h index a6c2c308..42f3d861 100644 --- a/binaryninjacore.h +++ b/binaryninjacore.h @@ -4723,6 +4723,7 @@ extern "C" BINARYNINJACOREAPI BNDebugInfo* BNGetDebugInfo(BNBinaryView* view); BINARYNINJACOREAPI void BNApplyDebugInfo(BNBinaryView* view, BNDebugInfo* newDebugInfo); BINARYNINJACOREAPI void BNSetDebugInfo(BNBinaryView* view, BNDebugInfo* newDebugInfo); + BINARYNINJACOREAPI bool BNIsApplyingDebugInfo(BNBinaryView* view); BINARYNINJACOREAPI BNSymbol* BNImportedFunctionFromImportAddressSymbol(BNSymbol* sym, uint64_t addr); diff --git a/binaryview.cpp b/binaryview.cpp index 71b3d6f0..e78333d5 100644 --- a/binaryview.cpp +++ b/binaryview.cpp @@ -2581,6 +2581,12 @@ void BinaryView::SetDebugInfo(Ref<DebugInfo> newDebugInfo) } +bool BinaryView::IsApplyingDebugInfo() const +{ + return BNIsApplyingDebugInfo(m_object); +} + + void BinaryView::BeginBulkModifySymbols() { BNBeginBulkModifySymbols(m_object); |
