【发布时间】:2011-05-19 23:01:43
【问题描述】:
我一直在调试一个进程(在 C++/windows 中),它使用 kernel32.dll 中的“GetThreadContext”。
我注意到我可以用
unsigned long address = (unsigned long)(&GetThreadContext);
但是当我查看加载的模块选项卡时 - 我看到 kernel32.dll 的符号没有加载!
VS2008是怎么知道“GetThreadContext”的地址的?
如果没有 PDB,我怎么能自己做呢?
谢谢:)
【问题讨论】:
-
GetProcAddr(msdn.microsoft.com/en-gb/library/64tkc9y5%28v=VS.80%29.aspx) 也许?我从未使用过它,所以我对此并不完全确定。
-
请不要将 PDB 与您的产品一起运送。
-
哦,有 API 函数来列出 DLL 的导出方法吗?
-
您可以使用命令行
dumpbin /exports myname.dll获取该信息。 -
我想通过代码来实现 :)
标签: c++ windows debugging kernel32