Spreads / Spreads.LMDB

Low-level zero-overhead and the fastest LMDB .NET wrapper with some additional native methods useful for Spreads
http://docs.dataspreads.io/spreads/libs/lmdb/api/README.html
Mozilla Public License 2.0
80 stars 9 forks source link

[Question]How to get Crash stack caused in lMDB / native / unsafe operations ? #39

Closed RockNHawk closed 4 years ago

RockNHawk commented 4 years ago

Excuse me, I have a tricky question, I have been using LMDB for some time. After some recent changes to the code, the program runs normally in Debug. However, the release mode will crash after several operations, and I repeatedly check the code. I do n’t know why.

The system Event Viewer and WER files also have very vague CRASH information. There is no useful information. The Visual Studio debugging process also ends immediately after the process CRASH.

Is there any software that can capture the stack information of CRASH caused by native / unsafe operations in .NET?

Thank you very much !

Fault bucket 2110382570943049284, type 4
Event Name: APPCRASH
Response: Not available
Cab Id: 0

Problem signature:
P1: App.exe
P2: 1.0.0.0
P3: 5da7a666
P4: StackHash_cac1
P5: 10.0.18362.657
P6: 64d10ee0
P7: c0000374
P8: PCH_1D_FROM_ntdll+0x000000000009CC14
P9: 
P10: 

Attached files:
\\?\C:\ProgramData\Microsoft\Windows\WER\Temp\WER96F5.tmp.dmp
\\?\C:\ProgramData\Microsoft\Windows\WER\Temp\WERA195.tmp.WERInternalMetadata.xml
\\?\C:\ProgramData\Microsoft\Windows\WER\Temp\WERA1D4.tmp.xml
\\?\C:\ProgramData\Microsoft\Windows\WER\Temp\WERA1E4.tmp.csv
\\?\C:\ProgramData\Microsoft\Windows\WER\Temp\WERA38B.tmp.txt

These files may be available here:
\\?\C:\ProgramData\Microsoft\Windows\WER\ReportArchive\AppCrash_App._294e28b84ee69f467340d36c963cd5ff208b8ca6_1f478d7f_2f6dac53-00d2-475a-8154-7a9674bd6133

Analysis symbol: 
Rechecking for solution: 0
Report Id: ac47185f-824b-498e-8754-d018c3356820
Report Status: 268435456
Hashed bucket: 8da9a20d69207e766d4995c4593c6e44
Cab Guid: 0

-------

Faulting application name: App.exe, version: 1.0.0.0, time stamp: 0x5da7a666
Faulting module name: ntdll.dll, version: 10.0.18362.657, time stamp: 0x64d10ee0
Exception code: 0xc0000374
Fault offset: 0x00000000000f92a9
Faulting process id: 0x70c28
Faulting application start time: 0x01d5eab8148eb3f9
Faulting application path: X:\git\App\App.exe
Faulting module path: C:\WINDOWS\SYSTEM32\ntdll.dll
Report Id: ac47185f-824b-498e-8754-d018c3356820
Faulting package full name: 
Faulting package-relative application ID: 
buybackoff commented 4 years ago

You need to enable crash dumps in the Windows registry and use native dlls compiled with debug symbols (I do not remember if the included ones are compiled with that).

RockNHawk commented 4 years ago

@buybackoff It's very helpful! Thank you !!