Качество развертки стека вызовов со стороны Dr. Watson и WinDbg можно фантастически улучшить, не забывая указывать им, где взять отладочные символы.
Возможно, в будущем я упомяну, как происходит процесс “раскрутки” стека, но пока что это неважно - просто нужно помнить мантру “хочешь правильный понятный стек - дай отладочную информацию”… Нам нужно получить три пакета с символами: - Символы от операционной системы (берутся либо с диска с ОС, либо скачиваются с оф. сайта) - Символы от C++ Runtime (можно просто скопировать их из своего каталога Windows на отлаживаемую машину, список файлов можно вычислить, посмотрев на загруженные модули из состава C++ Runtime в процесс, например, командой lm WinDbg, после чего найти все соответствующие .pdb-файлы) - Символы от Вашего многострадального приложения (я надеюсь, что Вы генерируете и храните их для КАЖДОЙ сборки, попадающей на стенд или клиенту?)
Пути к этим пакетам отладчик получает из переменной окружения _NT_SYMBOL_PATH, которую нужно создать и запомнить, используя диалог System Properties|Advanced|Environment variables. Каталоги в строке разделяются с помощью “;”.
На самом деле, в этой строке могут быть не только каталоги, но об этом в следующий раз…