mirror of
https://git.ryujinx.app/ryubing/ryujinx.git
synced 2025-12-15 10:36:58 +00:00
Print a message first in case it crashes again during minidump creation
This commit is contained in:
parent
4bd46c50be
commit
c65fed8af7
1 changed files with 20 additions and 26 deletions
|
|
@ -384,7 +384,26 @@ namespace Ryujinx.Ava
|
||||||
|
|
||||||
if (isTerminating)
|
if (isTerminating)
|
||||||
{
|
{
|
||||||
TryWriteApplicationMinidump();
|
try
|
||||||
|
{
|
||||||
|
// Print a short message first just in case it crashes again during minidump creation (should not happen)
|
||||||
|
Logger.Error?.Print(LogClass.Application, $"Unhandled exception caught: {initialException.GetType().Name}. Creating guest program minidump...");
|
||||||
|
|
||||||
|
var minidump = HLE.Switch.Shared?.System?.DebugGetApplicationProcessMinidump();
|
||||||
|
|
||||||
|
if (minidump == null)
|
||||||
|
{
|
||||||
|
Logger.Warning?.Print(LogClass.Application, "Failed to create minidump");
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
Logger.Info?.Print(LogClass.Application, minidump);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
catch (Exception e)
|
||||||
|
{
|
||||||
|
Logger.Error?.Print(LogClass.Application, $"Failed to create minidump: {e.Message}");
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
foreach (Exception e in exceptions)
|
foreach (Exception e in exceptions)
|
||||||
|
|
@ -405,31 +424,6 @@ namespace Ryujinx.Ava
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
private static void TryWriteApplicationMinidump()
|
|
||||||
{
|
|
||||||
try
|
|
||||||
{
|
|
||||||
if (HLE.Switch.Shared is not { } device)
|
|
||||||
{
|
|
||||||
return;
|
|
||||||
}
|
|
||||||
|
|
||||||
var minidump = device?.System?.DebugGetApplicationProcessMinidump();
|
|
||||||
|
|
||||||
if (minidump == null)
|
|
||||||
{
|
|
||||||
Logger.Warning?.Print(LogClass.Application, "Failed to create minidump");
|
|
||||||
return;
|
|
||||||
}
|
|
||||||
|
|
||||||
Logger.Info?.Print(LogClass.Application, minidump);
|
|
||||||
}
|
|
||||||
catch (Exception e)
|
|
||||||
{
|
|
||||||
Logger.Error?.Print(LogClass.Application, $"Failed to create minidump: {e.Message}");
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
internal static void Exit()
|
internal static void Exit()
|
||||||
{
|
{
|
||||||
DiscordIntegrationModule.Exit();
|
DiscordIntegrationModule.Exit();
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue