Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/eclipse/8.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 如何从符号(.pdb)文件确定C方法的文件和行?_C#_.net_Pdb Files - Fatal编程技术网

C# 如何从符号(.pdb)文件确定C方法的文件和行?

C# 如何从符号(.pdb)文件确定C方法的文件和行?,c#,.net,pdb-files,C#,.net,Pdb Files,pdb文件包含.NET程序集的符号信息。我想读取pdb文件,以便将方法与其文件位置关联起来。数据包含在里面,但我似乎找不到一个很好的描述如何把它弄出来 我知道,但这对于我想要的东西来说是非常沉重的(我想/希望如此)。在DBGHELP.DLL中,可以使用SymGetLineFromAddr64函数。您需要使用P/Invoke。DIA SDK中可能有相应的API,但我对它的熟悉程度不如DBGHELP。您应该看看: 尤其是Mono.Cecil.Pdb模块。它应该做你想做的事情,甚至更多 堆栈跟踪不包

pdb文件包含.NET程序集的符号信息。我想读取pdb文件,以便将方法与其文件位置关联起来。数据包含在里面,但我似乎找不到一个很好的描述如何把它弄出来


我知道,但这对于我想要的东西来说是非常沉重的(我想/希望如此)。

在DBGHELP.DLL中,可以使用SymGetLineFromAddr64函数。您需要使用P/Invoke。DIA SDK中可能有相应的API,但我对它的熟悉程度不如DBGHELP。

您应该看看:

  • 尤其是Mono.Cecil.Pdb模块。它应该做你想做的事情,甚至更多

堆栈跟踪不包括编译源文件的行号吗?是的,但我需要它,而不必调用该方法,尤其是不需要它引发我捕获的异常。