mirror of
https://github.com/baldurk/renderdoc.git
synced 2026-09-22 21:55:52 +00:00
Release DIA2 handles when shutting down callstack resolver
* Otherwise a handle is kept open to the PDB and you can't recompile.
This commit is contained in:
@@ -180,6 +180,15 @@ uint32_t GetModule(const wchar_t *pdbName, GUID guid, DWORD age)
|
||||
return 0;
|
||||
}
|
||||
|
||||
void Release(uint32_t module)
|
||||
{
|
||||
if(module > 0 && module <= modules.size())
|
||||
{
|
||||
SAFE_RELEASE(modules[module - 1].pSession);
|
||||
SAFE_RELEASE(modules[module - 1].pSource);
|
||||
}
|
||||
}
|
||||
|
||||
void SetBaseAddress(uint32_t module, uint64_t addr)
|
||||
{
|
||||
if(module > 0 && module <= modules.size())
|
||||
@@ -868,6 +877,8 @@ Win32CallstackResolver::Win32CallstackResolver(char *moduleDB, size_t DBSize, st
|
||||
|
||||
Win32CallstackResolver::~Win32CallstackResolver()
|
||||
{
|
||||
for(size_t i = 0; i < modules.size(); i++)
|
||||
DIA2::Release(modules[i].moduleId);
|
||||
}
|
||||
|
||||
Callstack::AddressDetails Win32CallstackResolver::GetAddr(DWORD64 addr)
|
||||
|
||||
Reference in New Issue
Block a user