Обратите внимание, что всегда будет сложно получить надежную ошибку стека после нарушения доступа. По определению процесс поврежден, когда происходит AV, поэтому может оказаться невозможным получить фактические последующие слова трассировки стека (например, что произойдет, если ошибка, вызвавшая исключение, также повредила некоторые структуры, используемые логикой обхода стека)? *
В этом случае кажется, что вы пытаетесь перехватить трассировку стека в фильтре исключений, который никогда не будет работать - фильтр исключений запускается в частично размотанном стеке. Вы можете найти запись исключения и контекстную запись для сбоя с помощью GetExceptionInformation API (этот API работает только из выражения фильтра, поэтому вам нужно сделать что-то вроде
__try
{
<stuff>
}
__except(MyExceptionFilter(GetExceptionInformation())
{
<stuff>
}
Вы должны быть в состоянии получить точную трассировку стека с помощью контекстной записи и информации об исключениях.