Здравствуйте, Sergey, Вы писали:
l>> Не пойму разницы. По крайней мере адрес возврата из foo() должен быть в
l>> стеке
S>У тебя исключение где поймалось — в OnBnClickedButton1 или в foo? Судя по приведенному коду, оно вообще ловиться не должно, поскольку кидаешь ты CMemoryException*, а ловишь CMemoryException.
S>Best regards,
S> Sergey.
Нет, на самом деле я ловлю CMemoryException*, это описка. И оно ловится именно в foo(), только вот foo(), почему-то, в стеке не присутствует во время снятия списка вызовов. Усли убрать try...catch из foo(), то оно поймается в OnBnClickedButton1() и адрес этой OnBnClickedButton1() будет отсутствовать в дампе, а следующим после
7FFE0304 0012FA14 0000:00000000 будет адрес _AfxDispatchCmdMsg.
Не понимаю, почему ф-ция, из которой выброшено C++ исключение отсутствует в списке вызовов, ведь на момент снятия дампа мы из ее тела еще не вышли.
Александр.