diff options
| author | Xusheng <xusheng@vector35.com> | 2022-10-20 11:17:20 +0800 |
|---|---|---|
| committer | Xusheng <xusheng@vector35.com> | 2022-10-20 11:17:20 +0800 |
| commit | b160aa0bac77a45bd7c4f39c6fe0263059239d4b (patch) | |
| tree | 22be3f2fa522da713f92b58b151947df7cf34dd6 /binaryninjaapi.h | |
| parent | 824aa7f7fc88713e74932c6d3230a6fb2d29df97 (diff) | |
Properly remove the debugger view from the FileMetadata after the target exits. Fix https://github.com/Vector35/debugger/issues/279
Diffstat (limited to 'binaryninjaapi.h')
| -rw-r--r-- | binaryninjaapi.h | 16 |
1 files changed, 16 insertions, 0 deletions
diff --git a/binaryninjaapi.h b/binaryninjaapi.h index d8163343..1dcdc48a 100644 --- a/binaryninjaapi.h +++ b/binaryninjaapi.h @@ -1845,6 +1845,22 @@ namespace BinaryNinja { \return Current Session ID */ size_t GetSessionId() const; + + /*! Explicitly unregister a binary view of the given type from this file. + + \note There is no need to unregister a binary view in ordinary situations. Binary views will be + automatically unregistered from the file when the file itself is about to be freed. Also, when a + binary view with the same type is created, the old one is automatically unregistered from the file. + + Only use this function when you wish to explicitly remove the binary view from the file. For example, + in the debugger, this method is used to remove the Debugger view from the file after the target exits. + + This also does not necessarily free the binary, because there could be other references to it. + + \param type the type of the view to unregister + \param data the binary view to unregister + */ + void UnregisterViewOfType(const std::string& type, BinaryNinja::Ref<BinaryNinja::BinaryView> data); }; class Function; |
