Первое правило: сохраняйте все pdb из каждой сборки, которую вы выпускаете: как из exe, так и из любых других создаваемых вами dll.
Второе правило: постарайтесь воспроизвести этапы воспроизведения, поскольку возможность воспроизвести сбой на собственной машине — это гораздо более эффективное использование вашего времени, чем просмотр журнала сбоев.
Кроме того, вы зависите от богов в отношении того, сколько информации вы можете получить при сбое сборки релиза. Некоторые гуру краш-анализа могут творить чудеса с аварийным дампом, но для остальных из нас, простых смертных, все зависит от характера и воспроизводимости аварии.
Одна вещь, которую нужно проверить, это то, что в ваших оптимизированных сборках релиза для параметра «Пропустить указатели кадров» установлено значение «Нет». Уже одно это значительно облегчит отладку, так как в 99% случаев вы получите неясный стек.
Имейте в виду, что в большинстве случаев указатель this будет отображаться как NULL в сборке выпуска, но иногда вы можете перемещаться вверх и вниз по стеку, чтобы найти, где он передается в качестве параметра. В общем, не полагайтесь на отображение переменных в отладчике. Если значения выглядят разумными, то они, вероятно, верны. Если они выглядят совершенно неправильно, то либо это ваша ошибка, либо это просто фиктивное отображение переменной, которая была оптимизирована.
О, и посмотрите на легендарного Джона Роббинса (Bugslayer) для некоторых отличные ресурсы для анализа аварийных дампов.
person
the_mandrill
schedule
21.06.2011