Поделиться через


Команды DBH

В командной строке DBH можно использовать различные команды для анализа символов и файлов символов.

В следующей таблице перечислены команды, управляющие параметрами DBH и выполняющие другие основные задачи.

Команда Действие

подробные [включено|]

Включает или отключает подробный режим. Без параметра отображает текущий подробный режим.

симпатия [Путь]

Задает путь поиска символов. Без параметра отображает текущий путь поиска символов.

Параметры symopt

symopt +Параметры

symopt -Options

symopt

Задает параметры символа. + -Значение "Параметры" не заменяет текущие параметры символов. Если + используется или - используется, параметры указывают параметры для добавления или удаления; до или - без пробела после него должно быть + пробел. Без параметра отображаются текущие параметры символов. При запуске DBH значение по умолчанию всех параметров символов 0x10C13. Список доступных параметров см. в разделе "Параметры символов".

help

Отображает текст справки для команд DBH.

покидать

Завершает работу программы DBH.

В следующей таблице перечислены команды, которые загружают, выгружают и повторно базирует целевой модуль. Эти команды нельзя использовать, если DBH был запущен, указав идентификатор процесса в командной строке.

Команда Действие

загрузка файла

Загружает указанный модуль. Файл должен указать путь, имя файла и расширение имени файла исполняемого файла или файла символов.

разгружать

Выгрузит текущий модуль.

базовый адрес

Задает базовый адрес по умолчанию для указанного значения. Все адреса символов будут определены относительно этого базового адреса.

В следующей таблице перечислены команды, которые ищут файлы и отображают сведения о каталоге.

Команда Действие

Путь к файлу findexe

Находит указанный исполняемый файл в указанном пути с помощью подпрограммы FindExecutableImage .

Путь к файлу finddbg

Находит указанный DBG-файл в указанном пути. Включение расширения DBG является необязательным.

Dir File Path

Находит указанный файл в указанном пути или в любом подкаталоге под этим путем с помощью подпрограммы EnumDirTree .

Файл пути srchtree

Находит указанный файл в указанном пути или в любом подкаталоге под этим путем с помощью подпрограммы SearchTreeForFile . Эта команда совпадает с dir, за исключением того, что параметры будут отменены.

Файл ffpath

Находит указанный файл в текущем пути символа.

В следующей таблице перечислены команды, которые анализируют список модулей и управляют модулем по умолчанию. Модуль по умолчанию и его базовый адрес отображаются в командной строке DBH.

Команда Действие

Адрес мода

Изменяет модуль по умолчанию на модуль с указанным базовым адресом.

освежать

Обновляет список модулей.

omap

Отображает структуры OMAP модуля.

epmod PID

Перечисляет все модули, загруженные для указанного процесса. PiD задает идентификатор процесса требуемого процесса.

info

Отображает сведения о загруженной в данный момент модуле.

obj Mask

Выводит список всех файлов объектов, связанных с модулем по умолчанию, соответствующим указанному шаблону. Маска может содержать различные подстановочные знаки и описатели; дополнительные сведения см. в разделе "Синтаксис подстановочных знаков строки".

Маска src

Выводит список всех исходных файлов, связанных с модулем по умолчанию, соответствующим указанному шаблону. Маска может содержать различные подстановочные знаки и описатели; дополнительные сведения см. в разделе "Синтаксис подстановочных знаков строки".

перечисление

Перечисляет все загруженные модули. Всегда существует хотя бы один модуль, если dbH не работает без целевого объекта, в этом случае нет.

В следующей таблице перечислены команды, которые отображают и ищут символы.

Команда Действие

Модуль перечисления!Символ

Перечисляет все символы, соответствующие указанному модулю и символу. Модуль задает модуль для поиска (без расширения имени файла). Символ указывает шаблон, который должен содержать символ. Как модуль, так и символ могут содержать различные подстановочные знаки и описатели; дополнительные сведения см. в разделе "Синтаксис подстановочных знаков строки".

Адрес enumaddr

Перечисляет все символы, связанные с указанным адресом.

Адрес надстройки

Отображает подробные сведения о символах, связанных с указанным адресом.

имя [модуль!]Символ

Отображает подробные сведения о указанном символе. Можно включить необязательный описатель модуля . Подстановочные знаки не следует использовать, так как если несколько символов соответствуют шаблону, имя отображает только первое из них.

next [Module!]Символ

следующий адрес

Отображает подробные сведения о следующем символе после указанного символа или адреса. Если символ указан по имени, можно включить необязательный описатель модуля , но не следует использовать подстановочные знаки.

prev [Модуль!]Символ

Адрес предварительной версии

Отображает подробные сведения о первом символе, предшествующем указанному символу или адресу. Если символ указан по имени, можно включить необязательный описатель модуля , но не следует использовать подстановочные знаки.

Line File#LineNum

Отображает шестнадцатеричный адрес двоичной инструкции, связанной с указанной исходной строкой, и любые символы, связанные с этой строкой. Также задает текущий номер строки, равный указанному номеру строки. Файл указывает имя исходного файла, а LineNum указывает номер строки в этом файле. Они должны быть разделены знаком числа ( # ).

srclines File LineNum

Отображает файлы объектов, связанные с указанной исходной строкой, и шестнадцатеричный адрес двоичной инструкции, связанной с этой строкой. Не изменяет текущий номер строки. Файл указывает имя исходного файла, а LineNum указывает номер строки в этом файле. Они должны быть разделены пробелом.

адрес laddr

Отображает исходный файл и номер строки, соответствующие символу, расположенному по указанному адресу.

linenext

Увеличивает текущий номер строки и отображает сведения о новом номере строки.

lineprev

Уменьшает текущий номер строки и отображает сведения о новом номере строки.

Функция locals [маска]

Отображает все локальные переменные, содержащиеся в указанной функции. Если маска включена, отображаются только те локальные жители, которые соответствуют указанному шаблону; дополнительные сведения см. в разделе "Синтаксис подстановочных знаков строки".

type TypeName

Отображает подробные сведения о указанном типе данных. TypeName указывает имя типа данных (например, WSTRING). Если имя типа не соответствует этому значению, отобразится любой соответствующий символ. В отличие от большинства параметров команды DBH, TypeName учитывает регистр.

elines [Source [Obj]]

Перечисляет все исходные строки, соответствующие указанной маске источника и маске объектов. Источник указывает имя исходного файла, включая абсолютное расширение пути и имени файла. Obj указывает имя файла объекта, включая относительное расширение пути и имени файла. Исходный и obj могут содержать различные подстановочные знаки и описатели; дополнительные сведения см. в разделе "Синтаксис подстановочных знаков строки". Если параметр опущен, это эквивалентно использованию подстановочного знака звездочки (). Если вы не хотите указывать сведения о пути, префиксируйте имя файла с параметром </strong>, чтобы указать путь к подстановочным знакам.

Значение индекса

Отображает подробные сведения о символе с указанным значением индекса.

Адрес области

область [модуль!]Символ

Отображает подробные сведения о родительском элементе указанного символа. Символ может быть указан по адресу или по имени.

srch [mask=Symbol] [index=Index] [tag=Tag] [addr=Address] [globals]

Выполняет поиск всех символов, соответствующих указанным маскам. Символ указывает имя символа. Он не должен включать имя модуля, но может содержать подстановочные знаки и описатели; Дополнительные сведения см. в синтаксисе подстановочных знаков строки. Индекс задает шестнадцатеричный адрес символа, который будет использоваться в качестве родительского элемента для поиска. Тег указывает шестнадцатеричное значение типа символа (SymTagXxx), которое должно соответствовать символу. Адрес указывает адрес символа. Если глобальные символы включены, будут отображаться только глобальные символы.

Адрес uw

Отображает сведения о очистке функции по указанному адресу.

dtag

Отображает все значения классификатора типов символов (SymTagXxx).

etypes

Перечисляет все типы данных.

dump;

Отображает полный список всех сведений о символах в целевом файле.

В следующей таблице перечислены команды, связанные с серверами символов и хранилищами символов.

Команда Действие

home [Path]

Задает домашний каталог, используемый SymSrv и SrcSrv для нижнего хранилища по умолчанию. Если путь к символам содержит ссылку на сервер символов, использующий нижнее хранилище по умолчанию, то подкаталог домашнего каталога будет использоваться для нижнего хранилища. Без параметра домашняя страница отображает текущий домашний каталог.

Путь srvpath

Проверяет, является ли указанный путь путьом к хранилищу символов.

Srvind File

Находит индекс сервера символов, соответствующий указанному файлу. Индекс сервера символов — это уникальное значение, основанное на содержимом файла, независимо от того, был ли он добавлен в любое хранилище символов. Файл должен указать имя файла и абсолютный путь к нужному файлу.

Fii File

Отображает индексы сервера символов для указанного двоичного файла и связанных с ним файлов.

Индекс файла getfile

Отображает файл с указанным индексом имени и сервера символов. Файл указывает имя нужного файла; он не должен включать путь. Индекс указывает индекс сервера символов требуемого файла. DBH использует подпрограмму SymFindFileInPath для поиска дерева по текущему пути символа для файла с таким именем и этим индексом.

файл sup path1 File2

Сохраняет файл в хранилище символов на основе значений параметров. Путь указывает путь к каталогу хранилища символов. File1 и File2 используются для создания разностного значения, которое, в свою очередь, используется для определения хранимого файла.

storeadd File Store

Добавляет указанный файл в указанное хранилище символов. Хранилище должно быть корневым путем хранилища символов.

В следующей таблице перечислены команды DBH, которые применяются к реальным и мнимым символам.

Команда Действие

undec Name

Показывает значение украшений, присоединенных к указанному имени символа. Имя может быть любой строкой; она не должна соответствовать загруженному в данный момент символу. Если имя содержит украшения C++, отображается значение этих украшений.

Добавление размера адреса имени

Добавляет указанный мнимый символ в список символов, загруженных в DBH. Имя указывает имя добавляемого символа, адрес указывает шестнадцатеричный адрес и размер шестнадцатеричного размера в байтах. Это обрабатывается как любой другой символ в последующих командах DBH, пока сеанс DBH не завершится с выходом или выгрузкой, или до удаления мнимого символа с del. Фактический целевой файл символов не изменяется.

del Name

del Address

Удаляет ранее добавленный мнимый символ с помощью команды добавления . Символ можно указать по имени или по адресу. Это нельзя использовать для удаления реальных символов.