Появление при содержании в Swift

Это немного неудобно делать для всех типов исключений сразу

.foreach(exc {sx}) {.catch{sxd ${exc}}}

Что он делает:

  • {sx}: список всех типов исключений (и текущие настройки, которые вам на самом деле не нужны)
  • exc: назначить переменную
  • .foreach(...) {...}: разрезать ее на куски отдельных слов и выполнить команду
  • sxd ${exc}: отключить все, что находится в переменной exc
  • .catch{...}: игнорировать все сообщения об ошибках, которые поступают из информации настроек

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

Обработку нежелательного текста можно избежать с помощью PyKd . Сохраните следующий сценарий в файле sdx.py и запустите !py sxd.py:

from pykd import *

sx = dbgCommand("sx")
for s in sx.splitlines():
    ex = s[:4]
    if  not ex=="" or ex.isspace():
        print("sxd "+ex)
        dbgCommand("sxd "+ex)

Другой параметр обрабатывает все исключения вручную:

.foreach(exc {.echo "ct et cpr epr ld ud ser ibp iml out av asrt aph bpe bpec eh clr clrn cce cc dm dbce gp ii ip dz iov ch hc lsq isc 3c svh sse ssec sbo sov vs vcpp wkd rto rtt wob wos *"}) {.catch{sxd ${exc}}}

Однако, если есть новые коды исключений в WinDbg, вы должны добавить их в команду .echo.

124
задан Pang 15 August 2015 в 06:13
поделиться