Visual Studio调试器可扩展性 - 如何遵循VS调试器源文件路径重定向?

时间:2011-07-20 12:37:36

标签: visual-studio debugging vsx visual-studio-debugging envdte

我正在编写VS扩展,需要知道用户当前正在调试的文件的完整路径,并且我想支持在pdb中写入的源路径不正确的情况,并且提示用户在其他地方找到该文件。

如果我执行以下操作:

1)调试其PDB指向位置A的代码文件的DLL

2)将代码文件移动到不同的位置B

3)当出现“打开文件”对话框提示时,指示调试器在位置B找到代码

然后打开文件,似乎Visual Studio“记住”了这个重定向,并且即使重新启动它也会知道在位置B中查找该文件。

我的问题是,IDebugStackFrame2 / EnvDTE.StackFrame对象都给了我代码文件的旧的,不正确的路径 - 我想要正确的路径,以便我可以从中读取源代码! Visual Studio是否以任何方式公开此间接表?

如何获取源文件的文本?

P.S。我试图使用旧的,不正确的路径VsShellUtilities.OpenDocument方法,但它会抛出一个找不到文件的方法..

2 个答案:

答案 0 :(得分:0)

来自#2,你还在重新编译吗? PDB本身具有源的路径信息,您可以使用十六进制编辑器查看它。一旦调试器掌握了PDB并且在那里指定了任何路径,我认为你不能改变源文件的路径。

答案 1 :(得分:0)

根本无法做到..........