How to debug FinalizeError?
    unDEFER 
    undefer at gmail.com
       
    Thu Nov 29 07:07:45 UTC 2018
    
    
  
No I'm not preallocating any exceptions. It was idea, but I 
removed all calls which can make throw.
I'm using very old dmd 2.074.1, so as I have patched it for my 
text editor with IDE functions. I had a year break in 
development, so now I need to rewrite all my patches.
But exactly the output of my program looks like this:
core.exception.FinalizeError at src/rt/lifetime.d(1407): 
Finalization error
----------------
=== Bypassed ===
|||||||||||| BerkeleyDB exceptions mixed with output of 
destructors ||||||||||||||||||
core.exception.InvalidMemoryOperationError at src/core/exception.d(696): Invalid memory operation
----------------
It means that "Invalid memory operation" occurred earlier than 
"Finalization error"?
The line on which shows the pointer src/rt/lifetime.d(1407) is 
exactly:
         onFinalizeError(*pc, e);
Why gdb doesn't see this function?
My program (the text editor) had run test all night under gdb 
with break on InvalidMemoryOperationError and didn't fall. So it 
is very-very-very hard to reproduce.
And I haven't ideas where maybe this throw. At least I don't see 
any throw in explicit form.
    
    
More information about the Digitalmars-d-learn
mailing list