|
|奔日网技术学堂欢迎您
tech.8BR.NET|
NTSD使用手册 NTSD(Microsoft Windows NT Symbolic/Systems Debugger)是Windows 2000默认安装的一 个调试器,可惜没怎么看到人提这个东西。这其实是一个命令行版本的WinDBG,功能上稍微 缩了一点水,但是对一般的调试来说是足够用了。这个东西好就好在凡是Windows 2000都有, 而且只要开个终端服务或者VNC 就可以远程用。最近看溢出的东西,觉得这个有时候确实比 softice方便,特别是在别人机器上调的时候:-)。我翻译了NTSD的大部分帮助,有些不知道 该怎么翻译,有些是懒,就没翻了。NTSD还支持一些帮助中没提到的命令,也在后面列出来 了。 usage: NTSD [-v] [-2] [-d] [-o] [-g] [-G] [-w] [-lines] [-aDllName] [-s] [-r BreakErrorLevel] [-t PrintErrorLevel] [-hd] [-x | -xd [except#] | -xe [except#]] [-e] [-z] [-- | -p pid | command-line] where: -? displays this help text -aDllName sets the default extension DLL -c executes the following debugger command 指定要执行的调试命令,多个命令之间用“;”分隔 -d sends all debugger output to kernel debugger via DbgPrint -g ignores initial breakpoint in debuggee -G ignores final breakpoint at process termination -hd disables heap manager validity checking -i ignores AV generated by loader fixups on pre3.51 systems -lines requests that line number information be used if present -netsyms:{yes|no} allow or disallow loading symbols from a network path -o debugs all processes launched by debuggee -r specifies the (0-3) error level to break on (SeeSetErrorLevel) -s disables lazy symbol loading -t specifies the (0-3) error level to display (SeeSetErrorLevel) -v enables verbose output from debugger -n enables verbose output from symbol handler -w specifies to debug 16 bit applications in a separate VDM -x disables break on AV exceptions -xd disables stopping on specified exception -xe enables stopping on specified exception -z reserved for OS/2 debugging -2 creates a separate console window for debuggee 对于控制台程序,将输出定向到另一个窗口而不在NTSD窗口显示 -- is the same as -G -g -o -p -1 -p pid specifies the decimal process Id to attach to 指定要调试的进程号,用于调试已经运行的程序 command-line is the command to run under the debugger Environment Variables: _NT_SYMBOL_PATH=[Drive:][Path] Specify symbol image path. (Default = %SystemRoot%) _NT_ALT_SYMBOL_PATH=[Drive:][Path] Specify an alternate symbol image path. _NT_DEBUG_EXTENSIONS=dllname(s) If specified, it is a semi-colon separated list of debugger extension DLL names This specifies the search order when resolving debugger extension commands A [<address>] - assemble 在指定地址输入汇编语句 BC[<bp>] - clear breakpoint(s) 清除断点 BD[<bp>] - disable breakpoint(s) 禁用断点 BE[<bp>] - enable breakpoint(s) 启用断点 BL[<bp>] - list breakpoint(s) 列出断点 BP[#] <address> - set breakpoint 设断点 C <range> <address> - compare 比较地址 D[type][<range>] - dump memory 显示指定内存范围 E[type] <address> [<list>] - enter 在指定地址输入数据 F <range> <list> - fill 在指定内存段填充数据 G [=<address> [<address>...]] - go 运行到某个地址 J<expr> [']cmd1['];[']cmd2['] - conditional execution 条件执行 K[B] <count> - stacktrace 堆栈回溯 KB = <base> <stack> <ip> - stacktrace from specific state L{+|-}[lost*] - Control source options LN <expr> - list near 参数为地址或者函数,显示距离参数中指定地址或者函数最近的函数 LS[.] [<first>][,<count>] - List source file lines LSA <addr>[,<first>][,<count>] - List source file lines at addr LSC - Show current source file and line LSF[-] <file> - Load or unload a source file for browsing M <range> <address> - move N [<radix>] - set / show radix P[R] [=<addr>] [<value>] - program step 单步执行 Q - quit #R - multiprocessor register dump 多处理器环境下显示寄存器 R[F][L][M <expr>] [[<reg> [= <expr>]]] - reg/flag 显示寄存器 Rm[?] [<expr>] - Control prompt register output mask S <range> <list> - search 在指定地址范围内搜寻字符串 0:000> s 77df0000 77e4c000 ff e4 //从user32的空间中找jmp esp 77e22c29 0:000> s 77df0000 77e4c000 'W' 'I' 'N' 'N' 'T' //搜索字符串“WINNT” SS <n | a | w> - set symbol suffix SX [e|d [<event>|*|<expr>]] - exception T[R] [=<address>] [<expr>] - trace U [<range>] - unassemble 显示反汇编语句,同softice的U命令 X [<*|module>!]<*|symbol> - view symbols 显示符号,支持通配符,类似于softice的exp命令 0:000> x user32!* //显示user32的所有符号 ………… 0:000> x user32!ws* //显示user32的所有以ws开头的符号 77dffa68 USER32!wsprintfW 77e0014a USER32!wsprintfA .logopen [<file>] - open new log file 指定日志文件,开启屏幕记录非常有用的功能 .logappend [<file>] - append to log file 添加到已存在的日志文件 .logclose - close log file 停止记录 ~ - list threads status 显示线程状态 ~#s - set default thread 设置默认线程 ~[.|#|*|ddd]f - freeze thread ~[.|#|ddd]k[expr] - backtrace stack 堆栈追踪 | - list processes status 显示进程状态 |#s - set default process 设置默认进程 |#<command> - default process override ? <expr> - display expression 显示地址或者符号信息 0:000> ? wsprintfA Evaluate expression: 2011169098 = 77e0014a 0:000> ? eip Evaluate expression: 2012813324 = 77f9180c #<string> [address] - search for a string in the dissasembly 反汇编指定地址,但是只输出一行语句 $< <filename> - take input from a command file 从文件取得要输入的命令 <expr> ops: + - * / not by wo dw poi mod(%) and(&) xor(^) or(|) hi low operands: number in current radix, public symbol, <reg> <type> : b (byte), w (word), d[s] (doubleword [with symbols]), a (ascii), c (dword and Char), u (unicode), l (list) f (float), D (double), s|S (ascii/unicode string) q (quadword) <pattern> : [(nt | <dll-name>)!]<var-name> (<var-name> can include ? and *) <event> : ct, et, ld, av, cc <radix> : 8, 10, 16 <reg> : $u0-$u9, $ea, $exp, $ra, $p <addr> : %<32-bit address> <range> : <address> <address> : <address> L <count> <list> : <byte> [<byte> ...] User-mode options: i386 options: BA[#] <e|r|w|i><1|2|4> <addr> - addr bp <reg> : [e]ax, [e]bx, [e]cx, [e]dx, [e]si, [e]di, [e]bp, [e]sp, [e]ip, [e]fl, al, ah, bl, bh, cl, ch, dl, dh, cs, ds, es, fs, gs, ss fpcw, fpsw, fptw, st0-st7, mm0-mm7 <flag> : iopl, of, df, if, tf, sf, zf, af, pf, cf <addr> : #<16-bit protect-mode [seg:]address>, &<V86-mode [seg:]address> NTSD还支持一些很有用的命令,但是不知为什么帮助中却没有提,这里也列出来: KD [<count>] - stack trace with raw data raw模式堆栈回溯 SQ - set quiet mode 设置安静模式,运行一次打开,再运行则关闭 LD [<module>] - refresh module information 重新载入 LM list modules 列出进程加载的所有模块信息 DL[B] <address> <maxcount> <size> - dump linked list NTSD支持的表达式和WinDBG差不多是一样的,MASM的语法。 系统自带的NTSD也支持部分扩展命令,如: !peb !teb
ntsd.exe进程信息 进程文件:ntsd.exe 进程名称:ntsd 描述:ntsd.exe是windows结束进程的工具。 出品者: Microsoft 属于:windows 系统进程: 否 后台程序: 否 使用网络: 否 硬件相关: 否 常见错误: 是 内存使用: 是 安全等级 (0-5): 0 间谍软件: 否 广告软件: 否 病毒: 否 木马: 否
|
发表对
ntsd.exe 进程详解
的评论 请文明聊天 |
|点此可收藏|或发表对本篇的评论
|