我可以使用gdb
命令在disas functionname
中找到函数的起始地址。
如何使用WinDBG进行相同的操作?
答案 0 :(得分:6)
x命令显示与指定模式x [Options] Module!Symbol
匹配的所有上下文中的符号。
uf命令显示内存uf [Options] Address
中指定函数的汇编转换。
0:000> x handle!main*
00000000`00d17154 handle!mainret = 0n0
00000000`00d113f0 handle!main (int, char **)
00000000`00d11840 handle!mainCRTStartup (void)
0:000> uf main
handle!main [d:\documents\visual studio 2010\projects\handle\handle\main.cpp @ 27]:
27 00000000`00d113f0 55 push rbp
27 00000000`00d113f1 8bec mov ebp,esp
27 00000000`00d113f3 81ece8000000 sub esp,0E8h
27 00000000`00d113f9 53 push rbx
27 00000000`00d113fa 56 push rsi
或者只是使用功能
中的任何地址0:000> uf 00d11465
handle!main [d:\documents\visual studio 2010\projects\handle\handle\main.cpp @ 27]:
27 00000000`00d113f0 55 push rbp
27 00000000`00d113f1 8bec mov ebp,esp
27 00000000`00d113f3 81ece8000000 sub esp,0E8h
27 00000000`00d113f9 53 push rbx
27 00000000`00d113fa 56 push rsi
27 00000000`00d113fb 57 push rdi