给定一个程序集及其pdb,如何使用.Net获取方法的行号和路径?
答案 0 :(得分:1)
您需要使用DIA SDK。 Microsoft没有托管接口,但之前已经在StackOverflow上询问过using DIA in C#。
如果您打算先使用原生语言进行尝试,可以通过获取相关PDB的IDiaSymbol
实例来获取相关信息,这称为'global scope'。完成后,您将致电findChildren()
,将SymTagFunction
枚举类型SymTagEnum
传递给它。然后,您需要对它们进行枚举,并使用先前为获取全局IDiaSession
实例的IDiaSymbol
来查找正确的源和行号。