1 year ago

#233090

test-img

Karial

No module information in minidump on win 11

There are problems with my application on win 11.

For some reason, when running win10 version of my application, there is no needed information in the minidump crash file. Using the minidump_dump tool I figured out, that there are no debug_id and pdb_file information for the main module in the minidump file. Strange thing is that after running win32 version or running the application from Visual Studio, and successfully crashing (for this versions crashes have needed information), crashes from win10 version become having needed information. And this keeps until restarting of computer.

We use dbghelp.dll library, the following way (that's not the whole code, only some actions):

dbgLibrary = LoadLibraryW(L"dbghelp.dll");
LPMINIDUMPWRITEDUMP pfnMiniDumpWriteDump =
                (LPMINIDUMPWRITEDUMP)GetProcAddress(dbgLibrary, "MiniDumpWriteDump");
pfnMiniDumpWriteDump(GetCurrentProcess(), GetCurrentProcessId(), file, MiniDumpNormal,
                &exceptionInformation, NULL, &callbackInformation);

We don't have any platform-specific code in this part (for win10 and win11 this code is the same), but for some reason on win11 this code does not work. I will be glad of any information and ideas on why this could happen. The only difference between win10 and win11 is versions of dbghelp.dll, but the code of this library is not open, so I cannot figure out why this could happen.

Here minidump_dump analysis for crashes with and without needed information:

  • without:
module[0]
MDRawModule
base_of_image = 0xd50000
size_of_image = 0x4142000
checksum = 0x0
time_date_stamp = 0x61dfa00e 2022-01-13 03:44:14
module_name_rva = 0x5fc8
version_info.signature = 0x0
version_info.struct_version = 0x0
version_info.file_version = 0x0:0x0
version_info.product_version = 0x0:0x0
version_info.file_flags_mask = 0x0
version_info.file_flags = 0x0
version_info.file_os = 0x0
version_info.file_type = 0x0
version_info.file_subtype = 0x0
version_info.file_date = 0x0:0x0
cv_record.data_size = 0
cv_record.rva = 0x0
misc_record.data_size = 0
misc_record.rva = 0x0
(code_file) = "C:\Program Files\WindowsApps\<application>\<application_name>.exe"
(code_identifier) = "61DFA00E4142000"
(cv_record) = (null)
(misc_record) = (null)
(debug_file) = ""
(debug_identifier) = ""
(version) = ""
  • with:
module[0]
MDRawModule
base_of_image = 0xbb0000
size_of_image = 0x4142000
checksum = 0x0
time_date_stamp = 0x61dfa00e 2022-01-13 03:44:14
module_name_rva = 0x5f98
version_info.signature = 0x0
version_info.struct_version = 0x0
version_info.file_version = 0x0:0x0
version_info.product_version = 0x0:0x0
version_info.file_flags_mask = 0x0
version_info.file_flags = 0x0
version_info.file_os = 0x0
version_info.file_type = 0x0
version_info.file_subtype = 0x0
version_info.file_date = 0x0:0x0
cv_record.data_size = 88
cv_record.rva = 0x1533e
misc_record.data_size = 0
misc_record.rva = 0x0
(code_file) = "C:\Program Files\WindowsApps\7458BE2C.<application>\<application_name>.exe"
(code_identifier) = "61DFA00E4142000"
(cv_record).cv_signature = 0x53445352
(cv_record).signature = 9a32be3a-0bb1-40ac-9633-3ab00e761eb1
(cv_record).age = 1
(cv_record).pdb_file_name = "C:\ba\tc\work\t\client\<application_name>Win10\Release\Win32\<application_name>.pdb"
(misc_record) = (null)
(debug_file) = "C:\ba\tc\work\t\client\<application_name>Win10\Release\Win32\<application_name>.pdb"
(debug_identifier) = "9A32BE3A0BB140AC96333AB00E761EB11"
(version) = ""

c++

windows-11

google-breakpad

dbghelp

minidumpwritedump

0 Answers

Your Answer

Accepted video resources