我想以编程方式从微软符号服务器(http://msdl.microsoft.com/download/symbols)下载符号。例如,给定名称"ntdll.dll",我想将。pdb保存到任何目录。
dbghelp.dll中的api似乎解决了这个问题。(http://msdn.microsoft.com/en-us/library/windows/desktop/ms679291%28v=vs.85%29.aspx)但我不知道如何正确地使用它们。
有没有人做过这样的事情,可以给我一些例子代码?
谢谢!
我从来没有做过像这个这样的事情,但我很感兴趣。你的朋友是SymXxx
函数,在dbghelp.dll.
先SymSetOptions
,后SymInitialize
。然后,完成繁重工作的函数是SymFindFileInPath。第二个参数(SearchPath)是一个以分号分隔的搜索路径,它可能包括SRV*
。
你想要的实用程序是symchk.exe(差不多,不多不少)。看一下它的导入表,注意到它使用了不超过9个来自dbghelp的函数(并且没有'networking' DLL,如winhttp或类似的)-所以这应该给你一个很好的线索,如何继续,以及你应该使用哪些方法。