Re[18]: Дамп стека при возникновении исключения
От: lav03  
Дата: 01.12.03 08:57
Оценка:
Здравствуйте, 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++ исключение отсутствует в списке вызовов, ведь на момент снятия дампа мы из ее тела еще не вышли.

Александр.
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.