В основном я создаю файл дампа:
Через 1, я могу открыть файл дампа с помощью VC10 (путь к символам, отладочный исходный файл полностью настроен), я могу увидеть всю информацию о стеке с исходным кодом, а также значение всей переменной.
Через 2 я могу открыть файл дампа с помощью VC10 (путь к символам, отладочный исходный файл полностью настроен), я могу увидеть всю информацию о стеке с исходным кодом НО значений всех переменных там нет.
Даже если я поместил локальную переменную в окно Debug Watch, там написано: ошибка: символ «xxx» не найден.
Как мне это исправить на 2?
Как мне настроить отладку дампа?
Для пути символа:
Действие-> Задать пути к символам -> добавить путь pdb для отладки & Выпустите папку для моего проекта, а также с использованием Microsoft Symbol Servers.
Для пути отладки источника:
Дамп решения проекта -> Свойство-> Отладка исходных файлов -> Добавить папку моего проекта
Кстати: для того же файла дампа я также использовал WinDbg, и я также могу видеть всю информацию о стеке (после правильной установки символа и исходного пути).
Спасибо
Отладочная сборка — это сборка, обеспечивающая наилучшие возможности отладки. Просмотр локальных переменных не является проблемой.
Сборка релиза включает оптимизатор кода. Оно делает много вещи в вашем коде, но определенно первой жертвой являются локальные переменные. Они могут быть полностью удалены или сохранены в регистрах процессора. Если вам действительно нужно знать значение такой локальной переменной, то вам обычно нужно взглянуть на машинный код, чтобы выяснить, в каком регистре процессора он хранится. Это, однако, никогда не будет работать, если это в коде, который скрыт в трассировке стека, значение было бы помещено в стек где-то. Выяснить, где это почти невозможно.
Отладка оптимизированного кода — сложная задача, двух вариантов нет. Удалите ошибки в отладочной сборке, радуйся, Мэри, в выпускной сборке.
Спасибо за все хорошие отзывы, но я думаю, что сам нашел причину сегодня!
причина: Это была проблема сборки, некоторые компоненты, которые нужно использовать exe, были собраны неправильно!
Заметка: В моем случае «мини-дамп«7М а»полный дамп«112M выполняет ту же работу, обе созданы из procxp. И как только я загружаю их в VS, я получаю доступ к:
По сути, пока вы устанавливаете VC10, как я делал выше & ниже, у вас должно быть все в порядке:
Для пути символа:
Действие-> Задать пути к символам -> добавить путь pdb для отладки & Выпустите папку для моего проекта, а также с использованием Microsoft Symbol Servers.
Для пути отладки источника:
Дамп решения проекта -> Свойство-> Отладка исходных файлов -> Добавить папку моего проекта