<?xml version="1.0" encoding="UTF-8" ?>
<?xml-stylesheet type="text/xsl" href="http://blogs.technet.com/utility/FeedStylesheets/rss.xsl" media="screen"?><rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:slash="http://purl.org/rss/1.0/modules/slash/" xmlns:wfw="http://wellformedweb.org/CommentAPI/"><channel><title>My notes. Заметки на полях. : debug</title><link>http://blogs.technet.com/ru/archive/tags/debug/default.aspx</link><description>Tags: debug</description><dc:language>ru-RU</dc:language><generator>CommunityServer 2.1 SP1 (Build: 61025.2)</generator><item><title>Dependency Walker: полезная утилита в копилку IT-профессионала</title><link>http://blogs.technet.com/ru/archive/2006/11/15/dependency-walker-it.aspx</link><pubDate>Wed, 15 Nov 2006 13:40:00 GMT</pubDate><guid isPermaLink="false">d5e57398-b9ef-4490-9955-07cbb4e4a80d:517039</guid><dc:creator>Vitaliy Titov</dc:creator><slash:comments>1</slash:comments><comments>http://blogs.technet.com/ru/comments/517039.aspx</comments><wfw:commentRss>http://blogs.technet.com/ru/commentrss.aspx?PostID=517039</wfw:commentRss><description>&lt;P&gt;Dependency Walker (от англ. "обходчик зависимостей") - это гениальная по своей простоте программа для первичного анализа исполняемых файлов и библиотек. Говоря русским языком - это программа-анализатор, собирающая для вас информацию о другой выбранной вами программе, например, о компьютерной игрушке или пользовательском приложении.&lt;/P&gt;
&lt;P&gt;&lt;IMG style="WIDTH: 616px; HEIGHT: 432px" height=432 src="http://blogs.technet.com/photos/ru/images/517045/original.aspx" width=616 border=0 mce_src="http://blogs.technet.com/photos/ru/images/517045/original.aspx"&gt;&lt;/P&gt;
&lt;P&gt;Основное назначение Dependency Walker - помочь выяснить, от каких исполняемых файлов и библиотек зависит анализируемое приложение. Это позволяет идентифицировать такие проблемы с приложением, как:&lt;/P&gt;
&lt;OL&gt;
&lt;LI&gt;Отсутствие нужной библиотеки (имя библиотеки будет подсвечено красным в списке слева)&lt;/LI&gt;
&lt;LI&gt;Не совпадение версий (проблемная библиотека будет подсвечена розовым) - это означает, что некоторые необходимые приложению функции в ней отсутствуют.&lt;/LI&gt;
&lt;LI&gt;Использование неправильной версии библиотеки - это будет заметно если посмотреть на полные пути к библиотекам в нижней части окна.&lt;/LI&gt;&lt;/OL&gt;
&lt;P&gt;Вспомогательные возможности программы:&lt;/P&gt;
&lt;OL&gt;
&lt;LI&gt;Определение целевой операционной системы - DOS/Win16/Win32/Win64/etc, аппаратной архитектуры и графической подсистемы&lt;/LI&gt;
&lt;LI&gt;Определение точной даты создания приложения/библиотеки&lt;/LI&gt;
&lt;LI&gt;Определение языка программирования, на котором написано приложение (проще всего это делается по списку зависимостей; например, mscoree.dll с некоторой степенью достоверности соответствует .Net приложению, msvbvm60.dll - Visual Basic 6.0, a msvcr80.dll - Visual C++ 2005).&lt;/LI&gt;
&lt;LI&gt;Определение типа доступной отладочной информации - CodeView/FPO/PDB&lt;/LI&gt;
&lt;LI&gt;Определение функций операционной системы, используемых приложением. (например, wininet.dll с некоторой степенью достоверности говорит о прямом доступе к Интернету, ole32.dll о работе с COM-компонентами, user32.dll о работе с окнами, winmm.dll - о проигрывании музыки, а dbghelp.dll о расширенной обработке ошибок).&lt;/LI&gt;
&lt;LI&gt;Просмотр названий функций, экспортируемых библиотекой - это это бывает полезно при отладке собственных приложений для выявления ошибок с декорированием имен функций (name mangling).&lt;/LI&gt;&lt;/OL&gt;
&lt;P&gt;Нетривиальная возможность - это динамический анализ зависимостей. Программы позволяет запускать приложение на исполнение и отслеживать (трассировать) все этапы разрешения имен файлов и функций.&lt;/P&gt;
&lt;P&gt;Да, ну и конечно, как и все современные утилиты :), программа интегрирована со справочными системой (по умолчанию это MSDN).&lt;/P&gt;
&lt;P&gt;Dependency Walker можно бесплатно загрузить с сайта &lt;A href="http://www.dependencywalker.com/" mce_href="http://www.dependencywalker.com/"&gt;http://www.dependencywalker.com/&lt;/A&gt; (скорее всего вас интересует самая первая ссылка на этой странице - Download Version 2.1.3623 for X86). Пользователям Visual Studio 2005 ничего загружать не нужно - утилита уже входит в состав пакета. Единственный совет - настроить ее интеграцию с контекстными меню для exe и&amp;nbsp;dll файлов (а также sys, scr, drv, etc.).&lt;/P&gt;&lt;img src="http://blogs.technet.com/aggbug.aspx?PostID=517039" width="1" height="1"&gt;</description><category domain="http://blogs.technet.com/ru/archive/tags/debug/default.aspx">debug</category></item></channel></rss>