Как сделать окно окна «.cmdtree» при запуске в WINDBG?

StackOverflow https://stackoverflow.com/questions/2655168

  •  27-09-2019
  •  | 
  •  

Вопрос

Я следовал Блог Tess Ferrandez Для настройки пользовательской темы в Windbg.

Я также начал запустить Windbg автоматически с -c ".cmdtree c: mycmdtree.txt"

Это правильно открывает мой файл cmdtree как окно команд, но я не могу правильно докиться. Проблема, по-видимому, будет открыта Windows «Команды», которые можно открыть только после того, как вы открыли файл DMP, но открывая файл DMP, выключате выключатели выключателей Of «Base», поэтому какие-либо изменения в вашем рабочем пространстве не сохраняются.

Любые идеи?

Это было полезно?

Решение

Этот простой запрос оказывается на самом деле сложно. Позиции Windbg Windows сохраняются в рабочей области. WINDBG имеет несколько рабочих пространств по умолчанию:

  • База - это рабочее пространство, которое используется, прежде чем начать отладку (без откровенного отвала, нет exe Open, не привязанному)
  • За файл dump - для каждого отвала вы открытой, у вас есть рабочее пространство для этого файла
  • На исполняемый файл - для каждого исполняемого файла вы открываете.
  • Пользовательский режим - используется, когда вы являетесь живым для отладки пользовательского режима
  • Режим ядра - используется, когда вы отладки в режиме ядра
  • На архитектуру машины - 1 для x64, 1 для x86, & 1 для IA64
  • Удаленный - используется, когда вы удалены отладки

Для любого данного типа отладки (т. Е. Живой пользовательский режим или анализ послеметем) вы обычно заканчиваете комбинацию настроек базы + ваш тип отладки.

Если вы открываете файл дампа, вы получаете базу + на файл дампа, если вы живете отладку в режиме пользователя, вы получаете базовую + пользовательский режим, если вы живете Kernel Debug Meath As X64, вы получаете базу + Kernel-Mode + X64

Все изменения, которые вы делаете в любом данном режиме, сохраняются в рабочем пространстве, который был перекрывается последним. Это означает, что если мы открываем файл дамп (поэтому мы базовый + на дамп), любые изменения в настройках будут сохранены в рабочем пространстве для этого дампа.

В дополнение к встроенным рабочим пространствам и всех их комбинациях имеются местами (клиенты) рабочие пространства. Это было бы, когда вы перейдете в файл> Сохранить рабочее пространство, и предоставьте имя, чтобы сохранить все настройки, которые вы могли затем включить при запуске Windbg, используя аргумент командной строки -w.

Проблема, в которой вы столкнулись, это то, что для того, чтобы все настроить, как вы этого хотите, вы должны иметь отладчик в активном состоянии (Exe Open, откройте дамп, отладку в прямом эфире) и когда вы идете, чтобы сохранить макет окна , он также собирается сохранить, какой EXE вы были открыты, или свал, или живая отладка, которую вы делали.

Ваша лучшая ставка - просто делать то, что вы уже делали, то есть просто использовать -C в реестре (HKEY_CLASSES_ROOT WINDBG.DUMPFILE.1 Shell Open Command). Это позволит вам просто дважды щелкнуть дамп и получите эти параметры командной строки каждый раз, когда вы выполняете анализ дампа. Затем вы можете создать ярлык для WINDBG, который также включает в себя командную строку, чтобы эти настройки были применены для других типов отладки, которые вы делаете.

Вот моя командная строка из режима выше:

«C: Debuggers x64 windbg.exe» -z "% 1" -Q -W Внутреннее -c ".load winde.dll; .enable_Unicode 1; .igonore_missing_pages 1; .Logopen / T C: Users Jasone Logs debug.log; как .p .Process / p / r; as .t .thyread / p / r; как! P! Process; как! T! Thread; as .f .frame; как dv / v / v / v / I / T; как .f .frame "

Что это делает?

Запускает отладчик, прикрепите к файлу Dump, не подскажите настройки рабочей области, откройте мое «внутреннее» рабочее пространство (созданное imed Workspace I создало) и запустите эти команды для загрузки расширений отладчика, настройки настройки и создания псевдонимов, которые облегчают мою жизнь Отказ

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top