WinDBG 技巧:列出模块(DLL/EXE)里面所有的符号(symbol)

简介:
想对某个函数下断点,但是记不清楚的函数具体的名字,这个时侯可以使用x命令来列举所有的符号。
命令格式为:
x [选项] 模块名字!符号匹配表达式
这里的符号匹配表达式类似dos的文件名匹配表达式,可以用*号和?号做通配符。比如我想列出user32.dll里面所有的以GetWindowT开头的符号,使用命令
0:016>  x user32!GetWindowT*
75f50f7b USER32!GetWindowTextA (struct HWND__ *, char *, int)
75f4adc5 USER32!GetWindowTextLengthW (struct HWND__ *)
75f4acc3 USER32!GetWindowTextW (struct HWND__ *, unsigned short *, int)
75f625b5 USER32!GetWindowTextLengthA (struct HWND__ *)
75f60898 USER32!GetWindowThreadProcessId (struct HWND__ *, unsigned long *)
具体的选项就不多解释了,有兴趣可以看看windbg的帮助文件。 想看看notepad里面有哪些public的函数以及变量? 用windbg打开notepad 试试x命令吧 :)
0:001> x /t /v notepad!*


 本文转自 陈本峰 51CTO博客,原文链接:http://blog.51cto.com/wingeek/273938,如需转载请自行联系原作者

相关文章
|
Linux
内核模块的文件格式与EXPORT_SYMBOL的实现
内核模块的文件格式与EXPORT_SYMBOL的实现
136 0
|
Ruby
【Ruby on Rails全栈课程】2.4 ruby的数据类型--符号(Symbol)、特殊值(True、False 和 Nil)
1、符号(Symbol) 符号对象表示Ruby中的一些名称(类名、方法名、变量名等)和一些字符串。表现形式有:name或者:“string”,创建的对象会储存在ruby的符号表中,相同内容的符号不会再重新创建,在一些情况下,使用符号(Symbol) 处理名字可以降低 Ruby 内存消耗,提高执行速度。
122 0
|
7月前
|
JavaScript 前端开发
ES6:什么是Symbol?
ES6:什么是Symbol?
85 1
|
7月前
ES6之Symbol
ES6之Symbol