Register some common classes with the crash handler to preserve

* This hopefully makes crash dumps more useful if we can get at their direct
  members reliably.
This commit is contained in:
baldurk
2018-06-20 22:31:32 +01:00
parent 4d763758d4
commit 7b63aa9546
6 changed files with 18 additions and 0 deletions
+3
View File
@@ -37,6 +37,9 @@ static const char *SPIRVDisassemblyTarget = "SPIR-V (RenderDoc)";
GLReplay::GLReplay()
{
if(RenderDoc::Inst().GetCrashHandler())
RenderDoc::Inst().GetCrashHandler()->RegisterMemoryRegion(this, sizeof(GLReplay));
m_pDriver = NULL;
m_Proxy = false;
+3
View File
@@ -89,6 +89,9 @@ void VkInitParams::Set(const VkInstanceCreateInfo *pCreateInfo, ResourceId inst)
WrappedVulkan::WrappedVulkan() : m_RenderState(this, &m_CreationInfo)
{
if(RenderDoc::Inst().GetCrashHandler())
RenderDoc::Inst().GetCrashHandler()->RegisterMemoryRegion(this, sizeof(WrappedVulkan));
if(RenderDoc::Inst().IsReplayApp())
{
if(VkMarkerRegion::vk == NULL)
+3
View File
@@ -393,6 +393,9 @@ static void create(WrappedVulkan *driver, const char *objName, const int line, V
VulkanDebugManager::VulkanDebugManager(WrappedVulkan *driver)
{
if(RenderDoc::Inst().GetCrashHandler())
RenderDoc::Inst().GetCrashHandler()->RegisterMemoryRegion(this, sizeof(VulkanDebugManager));
m_pDriver = driver;
m_Device = m_pDriver->GetDev();
+3
View File
@@ -42,6 +42,9 @@ static const char *LiveDriverDisassemblyTarget = "Live driver disassembly";
VulkanReplay::VulkanReplay()
{
if(RenderDoc::Inst().GetCrashHandler())
RenderDoc::Inst().GetCrashHandler()->RegisterMemoryRegion(this, sizeof(VulkanReplay));
m_pDriver = NULL;
m_Proxy = false;
+3
View File
@@ -178,6 +178,9 @@ ReplayController::ReplayController()
m_D3D12PipelineState = NULL;
m_GLPipelineState = NULL;
m_VulkanPipelineState = NULL;
if(RenderDoc::Inst().GetCrashHandler())
RenderDoc::Inst().GetCrashHandler()->RegisterMemoryRegion(this, sizeof(ReplayController));
}
ReplayController::~ReplayController()
+3
View File
@@ -104,6 +104,9 @@ ReplayOutput::ReplayOutput(ReplayController *parent, WindowingData window, Repla
m_pDevice->GetOutputWindowDimensions(m_MainOutput.outputID, m_Width, m_Height);
m_CustomShaderResourceId = ResourceId();
if(RenderDoc::Inst().GetCrashHandler())
RenderDoc::Inst().GetCrashHandler()->RegisterMemoryRegion(this, sizeof(ReplayController));
}
ReplayOutput::~ReplayOutput()