Recent Comments |
Categories |
Archives |
Tags |
How to Analyze Log Files Created with Procdump64 for Cubase 13
In this post I explain how you can try to analyze the cause of unexpected Cubase behaviour. It makes use of two Windows tools (Procdump64 and WinDbg). Let me know your experiences.
(1) Generate a DMP file and share it via Dropbox or a similar service
A. Install Procdump
Use the Microsoft Procdump utility to generate a DMP file.
- Download ProcDump64 from Microsoft (~650kB) and extract the archive to a local folder on your hard disk.
- Run Command Prompt (cmd) as administrator (right click and select “run as administrator”)
- Navigate (in the Command Prompt) to the folder with the extracted procdump file. For example:
- cd C:\Users\Downloads\Procdump
- Note: the dump (.dmp) file will be written into this folder.
B. Launch Cubase and start Procdump
Do not yet start Procdump. Instead, start Cubase in the way you normally do. You can now work with Cubase as usual.
Next, change to the command prompt and start Procdump, to monitor Cubase for unexpected behaviour:
- procdump64 -e -h -t Cubase13
The -h option will write a .dmp file in case Cubase freezes. Procdump might kick in too early sometimes, in case some action takes a little longer. Feel free to skip the “-h” option, if you are only up for fetching crashes. The option -e will catch exceptions and the option -t terminations of the application.
Prodump is now monitoring the Cubase/Nuendo process and will write a crash log, in case Cubase/Nuendo crashes or hangs. Perform the action that causes Cubase/Nuendo to crash and send us the generated crash dmp.
(2) Step-by-Step Guide to Analyzing Log Files:
Now you need to analyze the resulting log files (.dmp). This guide will walk you through the process. These flags are useful for capturing dumps when an unhandled exception occurs, a process experiences a hang, or for creating unique dumps for every unhandled exception.
A. Locate the Dump Files
First, locate the dump files generated by procdump64. These files are typically stored in the directory where procdump64 was executed unless a different directory was specified (e.g., C:\Users\Downloads\Procdump).
B. Analyze the Dump Files
One of the most powerful tools for analyzing dump files is WinDbg, provided by Microsoft. Here’s how to use it:
- Install WinDbg: Download and install WinDbg from the Microsoft website.
- Open Dump File: Open WinDbg and select
File > Open Crash Dump
, then navigate to your dump file. - Load Symbols (optional): Ensure you have the correct symbols loaded. See [here]. Set up the symbol path to Microsoft’s symbol server by entering the following commands in the WinDbg command window:
- .sympath srv*
- .reload
- Analyze the Dump: Use commands such as
!analyze -v
to get a detailed analysis of the crash. This command provides an overview of what caused the exception or hang, including stack traces, exception codes, and module information.
C. Review Stack Trace
The stack trace will show the function calls leading up to the exception or hang. Look for any patterns or repeated function calls that might indicate the root cause. Pay attention to any functions from Cubase that are near the top of the stack trace, as these are likely involved in the issue.
D. Identify Exception Codes
Exception codes can provide clues about the type of error:
0xC0000005
indicates an access violation.0x80000003
indicates a breakpoint exception.
Cross-reference the exception codes with Microsoft’s documentation to get more details.
E. Examine Loaded Modules
Review the list of loaded modules to ensure all necessary modules are present and correctly loaded. Check for any suspicious or unexpected modules that might be interfering with Cubase.
E. Check for Resource Issues
Use the dump file information to check for resource constraints, such as memory usage or handle counts. High usage could indicate a resource leak or other issues leading to the hang or crash.
(3) Example Commands in WinDbg
- Open the dump file:
.opendump C:\Path\To\DumpFile.dmp
- Analyze the dump:
!analyze -v
- Display loaded modules:
lm
- Display stack trace:
k
- Display exception record:
.exr -1
By following these steps, you can gain insights into the cause of crashes or hangs in Cubase and identify potential solutions. If you encounter specific issues or need further assistance, providing details about the error messages or stack traces can help in offering more targeted advice.
(4) Use case
I occasionally encounter an issue where Cubase 13 freezes during project loading. The freeze occurs while loading channels, but it doesn’t consistently happen at the same channel. In the screenshot below, Cubase froze while loading the GRev (Guitar Reverb Fx channel). If this happens I have to use Window’s taks manager to end Cubase.
To analyze the cause, I start procdump64 to generate a dump file:
Now I can use WinDbg to analyze (!analyze -v) the generated dump file “Cubase13.exe_240601_141403.dmp”. This analysis shows me:
SYMBOL_NAME: console_1_fader_input_output+cb52a MODULE_NAME: Console_1_Fader_Input_Output IMAGE_NAME: Console 1 Fader Input Output.ssx FAILURE_BUCKET_ID: BREAKPOINT_80000003_Console_1_Fader_Input_Output.ssx!Unknown
0:000> lmvm Console_1_Fader_Input_Output Browse full module list start end module name 00000002`92220000 00000002`98e08000 Console_1_Fader_Input_Output (export symbols) Console 1 Fader Input Output.ssx Loaded symbol image file: Console 1 Fader Input Output.ssx Mapped memory image file: C:\Program Files\Common Files\Softube\SSX\Console 1 Fader Input Output.ssx Image path: C:\Program Files\Common Files\Softube\SSX\Console 1 Fader Input Output.ssx Image name: Console 1 Fader Input Output.ssx Browse all global symbols functions data Timestamp: Wed May 15 09:03:36 2024 (66445E48) CheckSum: 026B8D57 ImageSize: 06BE8000 File version: 2.5.85.0 Product version: 2.5.85.0 File flags: 20 (Mask 3F) Special File OS: 40004 NT Win32 File type: 2.0 Dll File date: 00000000.00000000 Translations: 0409.04b0 Information from resource tables: CompanyName: Softube ProductName: Console 1 Fader Input Output InternalName: Softube: Console 1 Fader Input Output OriginalFilename: Console 1 Fader Input Output ProductVersion: 2.5.85 FileVersion: 2.5.85 FileDescription: Softube: Console 1 Fader Input Output LegalCopyright: (c) 2007-2024 Softube. All rights reserved.
This did not directly solved the problem for me but it suggests a problem with the Softube Console 1 Fader. Some further Googleing led me to a specific support page of Softube. I followed the instruction. Now have to wait and see if the problem is solved. Update 5 June 2024: unfortunately, this didn’t solve the problem…