Include address info to access violations
This commit is contained in:
parent
03ba95e7e1
commit
64e08cc921
2 changed files with 17 additions and 0 deletions
|
|
@ -864,6 +864,20 @@ public:
|
|||
|
||||
FString GetExceptionText()
|
||||
{
|
||||
if (ExceptionInfo.Record.ExceptionCode == EXCEPTION_ACCESS_VIOLATION && ExceptionInfo.Record.NumberParameters >= 2)
|
||||
{
|
||||
ULONG64 readWriteFlag = ExceptionInfo.Record.ExceptionInformation[0];
|
||||
ULONG64 addr = ExceptionInfo.Record.ExceptionInformation[1];
|
||||
|
||||
FString addressValue;
|
||||
addressValue.Format("0x%04x%04x%04x%04x", (int)((addr >> 48) & 0xffff), (int)((addr >> 32) & 0xffff), (int)((addr >> 16) & 0xffff), (int)(addr & 0xffff));
|
||||
|
||||
if (readWriteFlag == 0)
|
||||
return "Access violation reading from " + addressValue;
|
||||
else if (readWriteFlag == 1)
|
||||
return "Access violation writing to " + addressValue;
|
||||
}
|
||||
|
||||
switch (ExceptionInfo.Record.ExceptionCode)
|
||||
{
|
||||
case EXCEPTION_ACCESS_VIOLATION: return "Access violation";
|
||||
|
|
|
|||
|
|
@ -64,6 +64,9 @@ VkShaderManager::VkShaderManager(VulkanRenderDevice* fb) : fb(fb)
|
|||
.AddSource("VersionBlock", GetVersionBlock().GetChars())
|
||||
.AddSource("shaders/scene/comp_lighttiles.glsl", LoadPrivateShaderLump("shaders/scene/comp_lighttiles.glsl").GetChars())
|
||||
.Compile(fb);
|
||||
|
||||
int* bull = (int*)0xbeefb00bdeadbabeULL;
|
||||
*bull = 0xb00bbabe;
|
||||
}
|
||||
|
||||
VkShaderManager::~VkShaderManager()
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue