Ntsd
выполнение определенных задач отладки командной строки [исполняемый файл Ntsd.exe]
usage: ntsd [-?] [-2] [-d] [-g] [-G] [-myob] [-lines] [-n] [-o] [-s] [-v] [-w]
[-r BreakErrorLevel] [-t PrintErrorLevel]
[-hd] [-pd] [-pe] [-pt #] [-pv] [-x | -x{e|d|n|i} <event>]
[-- | -p pid | -pn name | command-line | -z CrashDmpFile]
[-zp CrashPageFile] [-premote transport] [-robp]
[-aDllName] [-c "command"] [-i ImagePath] [-y SymbolsPath]
[-clines #] [-srcpath SourcePath] [-QR \\machine] [-wake <pid>]
[-remote transport:server=name,portid] [-server transport:portid]
[-ses] [-sfce] [-sicv] [-snul] [-noio] [-failinc] [-noshell]
-? отображает этот текст справки
командная строка - это команда для запуска под отладчиком
- то же самое, что -G -g -o -p -1 -d -pd
-a DllName устанавливает расширение DLL по умолчанию
-c выполняет следующую команду отладчика
-clines количество строк истории вывода, полученных удаленным клиентом
-failinc вызывает сбой неполного символа и загрузки модуля
-d отправляет весь вывод отладчика в отладчик ядра через DbgPrint
-d нельзя использовать с удаленным взаимодействием отладчика
-d можно использовать только при включенном отладчике ядра
-g игнорирует начальную точку останова в отлаживаемой среде
-G игнорирует конечную точку останова при завершении процесса
-hd указывает, что куча отладки не должна использоваться
для созданных процессов. Это работает только на Windows Whistler.
-o отлаживает все процессы, запущенные debuggee
-p pid указывает десятичный идентификатор процесса, к которому нужно прикрепить
-pd указывает, что отладчик должен автоматически отсоединяться
-pe указывает, что любое подключение должно быть к существующему порту отладки
-pn name указывает имя процесса, к которому нужно присоединиться
-pt # указывает тайм-аут прерывания
-pv указывает, что любое вложение должно быть неинвазивным
-r указывает уровень ошибки (0–3), на которой следует отключить (SeeSetErrorLevel)
-robp позволяет устанавливать точки останова в постоянной памяти
-t указывает уровень ошибки (0-3) для отображения (SeeSetErrorLevel)
-w указывает на отладку 16-битных приложений в отдельном VDM
-x устанавливает второй шанс прерывания для исключений AV
-x {e | d | n | i} <событие> устанавливает статус прерывания для указанного события
-2 создает отдельное окно консоли для отлаживаемого
-i ImagePath указывает расположение исполняемых файлов, которые сгенерировали неисправность
(см. _NT_EXECUTABLE_IMAGE_PATH)
-lines запрашивает информацию о номере строки, если она есть
-myob игнорирует несовпадения версий в DBGHELP.DLL
-n включает подробный вывод из обработчика символов
-noio отключает все операции ввода-вывода для выделенных серверов удаленного взаимодействия
-noshell отключает команду .shell (!!)
-QR <\\ machine> запросы для удаленных серверов
-s отключает ленивую загрузку символов
-ses включает строгую загрузку символов
-sfce не выполняет критические ошибки, обнаруженные во время поиска файлов
-sicv игнорирует CV-запись при загрузке символа
-snul отключает автоматическую загрузку символов для неквалифицированных имен
-srcpath <SourcePath> указывает путь поиска источника
-v включает подробный вывод из отладчика
-wake <pid> пробуждает спящий отладчик и завершает работу
-y <SymbolsPath> указывает путь поиска символа (см. _NT_SYMBOL_PATH)
-z <CrashDmpFile> указывает имя файла аварийного дампа для отладки
-zp <CrashPageFile> указывает имя файла page.dmp использовать с аварийным дампом
-remote позволяет подключиться к сеансу отладчика, запущенному с -server
должен быть первым аргументом, если присутствует
транспорт: tcp | нпайп | ssl | спайп | 1394 | ком
name: имя машины, на которой был создан сервер отладки
portid: идентификатор порта, на котором был создан сервер отладчика
для использования TCP: порт=<номер порта сокета>
для npipe использовать: pipe=<имя трубы>
для 1394 используйте: channel=<channel #>
для использования com: port=<COM port>, baud=<baud rate>, channel=<номер канала>
для ssl и spipe см. документацию
пример: ... -remote npipe: server = yourmachine, pipe = foobar
-сервер создает сеанс отладчика, к которому могут подключиться другие люди
должен быть первым аргументом, если присутствует
транспорт: tcp | нпайп | ssl | спайп | 1394 | ком
portid: идентификатор порта, к которому удаленные пользователи могут подключаться
для использования TCP: порт=<номер порта сокета>
для npipe использовать: pipe=<имя трубы>
для 1394 используйте: channel=<channel #>
для использования com: port=<COM port>, baud=<baud rate>,channel=<номер канала>
для ssl и spipe см. документацию
пример: ... -сервер npipe: pipe = foobar
-premote transport указывает сервер процесса для подключения к
Транспортные аргументы даются так же, как и в случае удаленного взаимодействия
-? displays this help text
command-line is the command to run under the debugger
-- is the same as -G -g -o -p -1 -d -pd
-aDllName sets the default extension DLL
-c executes the following debugger command
-clines number of lines of output history retrieved by a remote client
-failinc causes incomplete symbol and module loads to fail
-d sends all debugger output to kernel debugger via DbgPrint
-d cannot be used with debugger remoting
-d can only be used when the kernel debugger is enabled
-g ignores initial breakpoint in debuggee
-G ignores final breakpoint at process termination
-hd specifies that the debug heap should not be used
for created processes. This only works on Windows Whistler.
-o debugs all processes launched by debuggee
-p pid specifies the decimal process Id to attach to
-pd specifies that the debugger should automatically detach
-pe specifies that any attach should be to an existing debug port
-pn name specifies the name of the process to attach to
-pt # specifies the interrupt timeout
-pv specifies that any attach should be noninvasive
-r specifies the (0-3) error level to break on (SeeSetErrorLevel)
-robp allows breakpoints to be set in read-only memory
-t specifies the (0-3) error level to display (SeeSetErrorLevel)
-w specifies to debug 16 bit applications in a separate VDM
-x sets second-chance break on AV exceptions
-x{e|d|n|i} <event> sets the break status for the specified event
-2 creates a separate console window for debuggee
-i ImagePath specifies the location of the executables that generated
the fault (see _NT_EXECUTABLE_IMAGE_PATH)
-lines requests that line number information be used if present
-myob ignores version mismatches in DBGHELP.DLL
-n enables verbose output from symbol handler
-noio disables all I/O for dedicated remoting servers
-noshell disables the .shell (!!) command
-QR <\\machine> queries for remote servers
-s disables lazy symbol loading
-ses enables strict symbol loading
-sfce fails critical errors encountered during file searching
-sicv ignores the CV record when symbol loading
-snul disables automatic symbol loading for unqualified names
-srcpath <SourcePath> specifies the source search path
-v enables verbose output from debugger
-wake <pid> wakes up a sleeping debugger and exits
-y <SymbolsPath> specifies the symbol search path (see _NT_SYMBOL_PATH)
-z <CrashDmpFile> specifies the name of a crash dump file to debug
-zp <CrashPageFile> specifies the name of a page.dmp file
to use with a crash dump
-remote lets you connect to a debugger session started with -server
must be the first argument if present
transport: tcp | npipe | ssl | spipe | 1394 | com
name: machine name on which the debug server was created
portid: id of the port the debugger server was created on
for tcp use: port=<socket port #>
for npipe use: pipe=<name of pipe>
for 1394 use: channel=<channel #>
for com use: port=<COM port>,baud=<baud rate>,
channel=<channel #>
for ssl and spipe see the documentation
example: ... -remote npipe:server=yourmachine,pipe=foobar
-server creates a debugger session other people can connect to
must be the first argument if present
transport: tcp | npipe | ssl | spipe | 1394 | com
portid: id of the port remote users can connect to
for tcp use: port=<socket port #>
for npipe use: pipe=<name of pipe>
for 1394 use: channel=<channel #>
for com use: port=<COM port>,baud=<baud rate>,
channel=<channel #>
for ssl and spipe see the documentation
example: ... -server npipe:pipe=foobar
-premote transport specifies the process server to connect to
transport arguments are given as with remoting
Environment Variables: Переменные окружения
_NT_SYMBOL_PATH = [Диск:] [Путь]
Укажите путь к изображению символа.
_NT_ALT_SYMBOL_PATH = [Диск:] [Путь]
Укажите альтернативный путь к изображению символа.
_NT_DEBUGGER_EXTENSION_PATH = [Диск:] [Путь]
Укажите путь, по которому в первую очередь следует искать библиотеки DLL расширений
_NT_EXECUTABLE_IMAGE_PATH = [Диск:] [Путь]
Укажите путь к исполняемому образу.
_NT_SOURCE_PATH = [Диск:] [Путь]
Укажите путь к исходному файлу.
_NT_DEBUG_LOG_FILE_OPEN = имя файла
Если указано, весь вывод будет записан в этот файл со смещения 0.
_NT_DEBUG_LOG_FILE_APPEND = имя файла
Если указано, весь вывод будет ДОБАВЛЕН в этот файл.
_NT_DEBUG_HISTORY_SIZE = размер
Задает размер истории вывода сервера в килобайтах.
Control Keys:
<Ctrl-B><Enter> Выйти из отладчика
<Ctrl-C> Прервать в цель
<Ctrl-F><Enter> Принудительно прервать отлаживаемую среду (так же, как Ctrl C)
<Ctrl-P><Enter> Отладка текущий отладчик
<Ctrl-V><Enter> Переключить подробный режим
<Ctrl-W><Enter> Информация о версии для печати
ntsd: exiting - press enter --- для выход нажать ENTER