Что WinDbg может сказать мне, что Visual Studio не может?

Я по-прежнему относительный новичок в C ++, и у меня возникла проблема со сторонней DLL, на которую я статически ссылаюсь из своей родной C ++ DLL. Я использую Visual Studio 2012 для отладки моей DLL.

(FWIW, сторонняя DLL — это Sybase Open Client, и я отлаживаю свою DLL с помощью написанного мной исполняемого файла C #, который динамически загружает мою C ++ DLL.)

Я использовал Visual Studio для перехода к разборке и просмотра регистров и использования памяти сторонней DLL. Visual Studio дала мне много полезной информации о том, что происходит внутри моего процесса, но я чувствую, что там может быть больше, чем то, что я вижу, и, возможно, более простой или более эффективный способ добраться до этого.

Я читал, что WinDbg является очень мощным инструментом, но чтобы научиться правильно его использовать, требуются значительные усилия и время. У меня вопрос: стоит ли учиться использовать WinDbg, или инструменты отладки в Visual Studio будут давать мне почти такую ​​же информацию?

7

Решение

Мой вопрос: стоит ли учиться использовать WinDbg, или
инструменты отладки в Visual Studio дают мне почти то же самое
Информация?

Это действительно зависит от того, какое программирование вы делаете.

WinDBG позволяет вам взглянуть на структуры внутри ОС. Это позволяет вам просматривать потоки и процессы во всей системе и отлаживать код, который выполняется в самом ядре ОС (например, в драйверах). Существует значительная возможность писать сценарии для извлечения определенной информации или, я полагаю, даже писать плагины, которые запускаются в WinDBG для выполнения определенных задач.

В большинстве случаев это либо сложно, либо невозможно с отладчиком типа VS.

Мне или кому-либо еще здесь почти невозможно сказать вам, следует ли вам учиться использовать WinDBG. Это, конечно, не причинит вам вреда, но вполне возможно, что вы сможете прожить долгую жизнь без необходимости.

3

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]