我在写一个VS扩展,需要知道用户当前正在调试的文件的全路径,想支持pdb中写的源路径不正确,提示用户查找的场景在别处归档。
如果我执行以下操作:
1) 调试其 PDB 指向位置 A 的代码文件的 DLL
2)将代码文件移动到不同的位置,B
3) 当提示打开文件对话框时,指示调试器将代码定位在位置 B
然后打开该文件,Visual Studio 似乎“记住”了这个重定向,并且即使在我重新启动它之后也会知道在位置 B 中查找该文件。
我的问题是,IDebugStackFrame2/EnvDTE.StackFrame 对象都给了我旧的、不正确的代码文件路径——我想要正确的路径,这样我就可以从中读取源代码!Visual Studio 是否以任何方式公开此间接表?
如何获取源文件的文本?
PS我尝试将 VsShellUtilities.OpenDocument 方法与旧的、不正确的路径一起使用,但它会抛出一个找不到文件的方法。