2013-06-04 3 views
5

Я следую этому руководству: link. На шаге 8, когда я говорю .load sos в окне Immediate, он просто pukes expected expression.Невозможно использовать WinDbg и SOS в Visual Studio Немедленное окно

Система: Win 7 x64, Visual Studio 2012 Premium. У меня есть установленные инструменты отладки для Windows (x64) 11/14/2012, теперь я установил X64 Debuggers And Tools. У меня Windows SDK для Windows 7 (7.1). WinDbg.exe находится в каталоге c: \ Program Files \ Debugging Tools для Windows (x64) \, и я могу запустить его из меню «Пуск». Однако я не могу найти sos.dll, который должен поставляться с инструментами отладки для Windows (x64).

Как я могу это сделать?

Bonus вопрос: {,,kernel32}[email protected] на шаге 4 не работает, я использую {,,kernel32}LoadLibraryExW, но тогда я не могу понять, где это название загруженной DLL. Я заглядывал в реестры.

+1

SOS.dll находится в C: \ Windows \ Microsoft.NET \ Framework \ v4.0.30319 \ для .NET 4 и в C: \ WINDOWS \ Microsoft.NET \ Framework \ v2.0.50727 \ sos.dll для .NET 2-3.5. Нужно ли копировать его где-нибудь в WinDbg? –

+1

Но я не могу загрузить Dll SOS из самого WinDbg. Некоторая помощь была бы действительно оценена. Между тем у меня приятный разговор с самим собой. –

+0

Хорошо, я понял, когда есть загрузка DLL, мне интересно. Но теперь мне нужно будет реально загрузить SOS.dll, так как я в режиме отладки системы, и я хочу увидеть собственный стек вызовов, который приводит к этому. : P –

ответ

1

NTSD command support (MSDN) и Immediate Window Commands описывают, какие Windbg команды (или аналогичные WinDbg) поддерживаются Visual Studio 2005, 2008 и 2010. Это только небольшая часть:

.S 
.X 
.K 
.U 
.~ 
.Reload 
.Sympath 
.Cxr 
.Exr 
.Load 
.Unload 
.Unloadall 

Наиболее важным является, вероятно, .Load, который позволяет загружать а затем с помощью команд ! расширения.

Похоже, что поддержка команд Windbg была сброшена с VS 2012, так как вы не можете вызвать веб-страницы для версий VS выше, чем VS 2010.

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