mirror of
https://git.suyu.dev/suyu/breakpad.git
synced 2026-01-05 14:08:20 +01:00
Restrict ownership of symbol data buffers to symbol supplier.
git-svn-id: http://google-breakpad.googlecode.com/svn/trunk@721 4c0a9323-5329-0410-9bdc-e9ce6186880e
This commit is contained in:
parent
eabfff133d
commit
a8c1c466a1
18 changed files with 200 additions and 126 deletions
|
|
@ -84,18 +84,10 @@ class FastSourceLineResolver : public SourceLineResolverBase {
|
|||
// Deserialize raw memory data to construct a WindowsFrameInfo object.
|
||||
static WindowsFrameInfo CopyWFI(const char *raw_memory);
|
||||
|
||||
// Helper methods to manage C-String format symbol data.
|
||||
// See "google_breakpad/processor/source_line_resolver_base.h" for more
|
||||
// comments about these helper methods.
|
||||
virtual void StoreDataBeforeLoad(const CodeModule *module, char *symbol_data);
|
||||
virtual void DeleteDataUnload(const CodeModule *module);
|
||||
virtual void ClearLocalMemory();
|
||||
// No-op helper method.
|
||||
virtual void DeleteDataAfterLoad(char *symbol_data) { }
|
||||
|
||||
// Store memory data allocated in LoadModule and LoadModuleUsingMapBuffer.
|
||||
typedef std::map<string, char*, CompareString> MemoryMap;
|
||||
MemoryMap memory_chunks_;
|
||||
// FastSourceLineResolver requires the memory buffer stays alive during the
|
||||
// lifetime of a corresponding module, therefore it needs to redefine this
|
||||
// virtual method.
|
||||
virtual bool ShouldDeleteMemoryBufferAfterLoadModule();
|
||||
|
||||
// Disallow unwanted copy ctor and assignment operator
|
||||
FastSourceLineResolver(const FastSourceLineResolver&);
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue