However, if you have Visual Studio or WinDbg installed, Microsoft provides an option to instead opt to debug the crashes.įor ease of installing, follow this registry file contents to install: Windows Registry Editor Version 5.00 On Windows, Microsoft sets up automatically on application crashes to go to Dr Watson/Error Reporting to Microsoft. Additionally, the game executable is named according to your game name, so the debugger may have issues finding the correct pdb if it doesn’t have access to the renamed executable. For the debugger to know what’s going on, the symbols must be included in the build using the steps above. Live Debugging is the scenario of attaching a debugger to a process that’s running normal, or to a process where an exception has been caught. Specify a cache directory if not already specified.Expand the Debugging section and then select Symbols.The path to the symbol store to fetch from. The SRV indicates a remote server to fetch from, while the c:\symbols is a local path to cache the downloaded symbols and to look there first before downloading again. The + addition, leaves the existing symbol path alone, and appends this symbol store lookup. To add a symbol store on WinDbg, use the. Much like the Microsoft’s symbol store, you can use the Unity server URL in Windows Debugger (WinDbg), or Visual Studio 2019 and later for automatic symbol resolution and downloading. NET managed symbols are stored in pdb files. Native Debugging stores symbols in pdb files for the associated binary files, such as exe and dll. Unity allows two types of debugging: the native C++ debugging and the C# managed debugging.
I/DEBUG(242): #10 pc 0000d3e0 /system/lib/libc.Unity provides several options for debugging on Windows for forensic or live debugging of game and editor processes. I/DEBUG(242): #06 JobQueue::ExecuteJobFromHighPriorityStack() I/DEBUG(242): #05 JobQueue::ExecuteJobFunc(JobInfo*) I/DEBUG(242): #04 AnimationPlayable::PrepareAnimationEvents(float, dynamic_array&) I/DEBUG(242): #03 AnimationPlayable::PrepareAnimationEvents(float, dynamic_array&) I/DEBUG(242): #02 AnimationPlayable::PrepareAnimationEvents(float, dynamic_array&) I/DEBUG(242): #01 AnimationPlayable::PrepareAnimationEvents(float, dynamic_array&) I/DEBUG(242): #00 AnimationPlayable::PrepareAnimationEvents(float, dynamic_array&) I/DEBUG(242): #10 pc 0000d3e0 /system/lib/libc.so (pthread_create+240)Īfter you execute the command with each memory address, you get the proper call stack when the app crashed: I/DEBUG(242): backtrace: