当前位置:首页 > 技术学堂 > 进程详解 > 正文 ntsd.exe 进程详解 内容读取中请稍后...
站内搜索:
ntsd.exe 进程详解
您正浏览ntsd.exe 进程详解 的详细内容 首页更多精彩 人气 ...

|奔日网技术学堂欢迎您 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 进程详解 的评论  请文明聊天

|点此可收藏|或发表对本篇的评论

声明:此页资源均由网友维护。资源信息、网友评论,不代表本站观点。如有侵权请告知,我们立刻删除。

 艺术写真
 社会新闻
 极品飞车

『热点资讯』

『最新资讯』

『网友推荐』


百度搜索:
会员名称: 密码:匿名 注册 找回密码