I have a BCB program with lots of components. Every once in a while, it raises an exception.
This special exception is not caught by MadExcept, although others are.
How can I track down this issue?
Exception not caught - BCB 11.3 / MapExcept 5.1.2
Exception not caught - BCB 11.3 / MapExcept 5.1.2
- Attachments
-
- maxExcept.png (14.25 KiB) Viewed 5605 times
Re: Exception not caught - BCB 11.3 / MapExcept 5.1.2
Good question, I'm not sure. It looks like a normal access violation, which should be caught and handled by madExcept just fine - unless the process is in such a bad state that madExcept can't work properly, anymore.
I assume you can't reproduce this exception?
One thing you could do is activate the active error search options, especially "instantly crash on buffer overrun" to check if maybe there's a buffer overrun in your code somewhere. This is something to do on your dev machine, not on the end user's machine. Unfortunately, the active error search options consume a lot of extra RAM, so there is a risk that your process might run out of memory when trying these madExcept features. But maybe you're lucky and they work, and might help you find some buffer overrun?
FYI, the "instantly crash" option will actually raise more exceptions. But these additional exceptions are important because they will point you directly to code which causes a buffer overrun (if you're lucky).
I assume you can't reproduce this exception?
One thing you could do is activate the active error search options, especially "instantly crash on buffer overrun" to check if maybe there's a buffer overrun in your code somewhere. This is something to do on your dev machine, not on the end user's machine. Unfortunately, the active error search options consume a lot of extra RAM, so there is a risk that your process might run out of memory when trying these madExcept features. But maybe you're lucky and they work, and might help you find some buffer overrun?
FYI, the "instantly crash" option will actually raise more exceptions. But these additional exceptions are important because they will point you directly to code which causes a buffer overrun (if you're lucky).