2010-01-19 2 views
1

У меня есть старый DLL-файл, который был создан с VC++ 6. Теперь мне нужно исследовать файл дампа, но у меня нет его PDB. Стоп-строка, о которой сообщает WinDbg, также неточна.PDB-файл из разных версий Visual Studio

Возможно ли восстановить проект с более поздними версиями Visual Studio, то есть 2003, 2005, 2008, сформировать PDB и использовать его для сопоставления адресов с символами в старой DLL? Есть ли что-то вроде режима совместимости с VC 6.0 для построения проекта?

Получение VC++ 6 является одним из вариантов, но это выглядит как VS6.0 уже исчезли из MSDN подписчик загрузки страницы :(

Благодаря

+0

Я даже не уверен, что две сборки с одним и тем же компилятором генерируют идентичные PDB. – MSalters

+0

@MSalters: они этого не делают. Но среда IDE может читать любые PDB. –

+0

Не знаете, отличаются ли эти PDB от одного и того же компилятора только временными метками? так как мой коллега смог получить правильную трассировку стека с файлом PDB, недавно созданным из того же компилятора. Спасибо за это в любом случае:} – Gant

ответ

1

Я боюсь, что я думаю, что ответ нет: вы вам нужно будет перестроить его с помощью той же цепочки инструментов, что и двоичный файл, который сгенерировал файл дампа.

VS действительно суетливый о том, как он соответствует дамп-файлам в pdb-файлах в моем опыте: единственная удача У меня когда-либо было в этих ситуациях с WinDbg (но вы пробовали это)/

+0

Спасибо! Я также попытался перестроить свой проект на VS2003 сегодня и нашел другие проблемы совместимости (устаревшие заголовки.) Похоже, мне нужно как-то использовать VS6.0: '( – Gant

Смежные вопросы