Помощь при отладке
Используйте VA Memory View и VA Step Filter, включенные в Visual Assist для того, чтобы сократить время, необходимое для отладки нативного C/C++.
Address Resolver
Декодируйте адреса и стеки вызовов в текст.
Отлаживайте нативный C/C++, когда отладочная информация поступает в текстовом виде вместо дампа программы. Address Resolver (распознаватель адресов) считывает EXE, DLL и PDB и находит символы, связанные с текстовыми версиями виртуальных адресов.
![Address Resolver](/Presentation/WholeTomato/Assets/Images/features/debugAssistance/resolver.png)
PDB Explorer
Отлаживайте машинный код, когда исходный код недоступен.
Просматривайте и ищите символы в модулях, содержащих исполняемый код, независимо от того, находится ли этот код в запущенном процессе. Находите символы в EXE и DLL так же, как если бы вы находили символы в решении.
![PDB Explorer](/Presentation/WholeTomato/Assets/Images/features/debugAssistance/explorer.png)
VA Memory View
Отладка аварийных дампов с поврежденными стеками вызовов.
Используйте VA Memory View при трассировке аварийного дампа, в котором Visual Studio не может расшифровать стек вызовов либо из-за повреждения, либо так как это релиз-билд.
VA Memory View отображает стек вызовов с адресами памяти, указываемыми на текущий указатель стека и вокруг него.
![VA Memory View](/Presentation/WholeTomato/Assets/Images/features/debugAssistance/VAMEMVIEW.png)
Поиск в VA Memory View определенных адресов.
![Search the VA Memory View by specific addresses.](/Presentation/WholeTomato/Assets/Images/features/debugAssistance/MemViewSearchAd.png)
VA Memory View также принимает более сложные выражения, такие как "ESP+8" или "this".
![The VA Memory View also accepts more complex expressions.](/Presentation/WholeTomato/Assets/Images/features/debugAssistance/VAMEMVIEW2.png)
Введите дисассемблированное представление для адреса памяти из VA Memory View.
![Enter a disassembly view for a memory address from within the VA Memory View](/Presentation/WholeTomato/Assets/Images/features/debugAssistance/vaMemoryViewDissasembly.png)
VA Step Filter
Автоматически перешагивать через методы.
При перемещении через нативный код на языке C/C++ переходите непосредственно к методам, не обязательно переходя к методам в списке их аргументов.
Например, шагните в MethodStdString (), не заходя в GetLoopCount() или класс string:
![](/Presentation/WholeTomato/Assets/Images/features/debugAssistance/stepFilterMethodStdString.png)
Создайте фильтры для методов, которые вы хотите перешагнуть, в окне инструментов, которое откроется при запуске отладки.
![](/Presentation/WholeTomato/Assets/Images/features/debugAssistance/stepFilterWindowDebugEvents.png)
Используйте встроенные фильтры, чтобы перешагнуть через часто используемые методы стандартных библиотек, включая методы класса string.
![](/Presentation/WholeTomato/Assets/Images/features/debugAssistance/stepFilterBuiltInFilters.png)
Назначьте фильтры для экземпляров шаблонов функций и методов классов шаблонов, чтобы перешагнуть через определенный тип экземпляра или перешагнуть через все типы.
![](/Presentation/WholeTomato/Assets/Images/features/debugAssistance/stepFilterTemplate.png)
Фильтры применяются к последовательным сеансам отладки, могут применяться ко всем вашим решениям и могут храниться в общем каталоге.