Команды, которые влияют только на локальный отладчик

#windbg #remote-debugging

#windbg #удаленная отладка

Вопрос:

При выполнении удаленной отладки некоторые команды влияют только на локальный отладчик (отладчик, в котором вводится команда). Примеры:

 .wtitle
.cls
.browse
.cmdtree
 

На данный момент все они выглядят как команды, связанные с пользовательским интерфейсом. Есть ли еще команды, которые выполняются только в локальном отладчике?

Мои исследовательские усилия:

  • Я искал список в Google, но, возможно, условия поиска слишком распространены или я неправильно их понимаю.
  • Я также попытался найти ссылку в самой справке WinDbg ( .hh ) . Но этот факт даже не задокументирован в затронутых командах, которые я нашел до сих пор.

Я понимаю, что это запрос на любимые внешние инструменты или ссылку. Так что, если вы действительно считаете, что это не по теме, тогда голосуйте за закрытие.

Ответ №1:

Вся обработка отладчика, включая выполнение всех расширений, выполняется в основном процессе отладчика. Таким образом, 99 % команд должны быть отправлены в механизм отладчика (начальный экземпляр отладчика) Единственные команды, которые выполняются только в удаленном отладчике, — это действительно несколько команд, связанных с пользовательским интерфейсом.

Я вызову одну пару команд, которые интересны по этой теме, которая является наиболее часто используемым удаленным отладчиком:

.srcpath задает «путь к исходному коду» в движке отладчика. Именно отсюда механизм отладчика будет получать исходную информацию, если это необходимо — например, если расширение отладчика хочет получить доступ к исходному коду.

.lsrcpath (l — для локального) задает «путь к исходному коду» в удаленном отладчике. Этот путь будет использоваться в windbg (и cdb kd также) для извлечения исходных файлов в пользовательском интерфейсе.

Ответ №2:

Все еще не полный список, но многие команды, которые не могут быть написаны сценариями (MSDN), затронуты:

 .lscrfix // works on remote client only
.lsrcpath // works on remote client only
.open 
.write_cmd_hist // writes local history only
.beep
.cls
.hh
.remote // Does not work in WinDbg anyway
 

Однако следующие из списка, похоже, работают:

 .idle_cmd
.restart
 

Относительно .write_cmd_hist : если вы хотите, чтобы все команды выполнялись во время сеанса отладки, неплохо открыть файл журнала ( .logopen ) в начале сеанса.