1

我按照此处描述的步骤在外部 dll 中定义的函数被命中时中断,但它对我不起作用。也许我错过了一个设置。我怎样才能让它工作?

清单:
-仅启用我的代码已禁用
-外部 dll (System.Data.Entity.dll) 的符号似乎已加载(见下文)

在此处输入图像描述

编辑:答案是将代码编译为 32 位。它对我有用,不能说它是否适用于其他人。

一些注意事项:有一个有用的工具可以了解。它叫srctool.exe. 它带有适用于 Windows 的调试工具,并安装在c:\Program Files\Debugging Tools for Windows (x64)\srcsrv我的机器上。您可以在 pdb 文件上运行它,它会告诉您文件是否已被源索引。如果 pdb 文件是源代码索引的,则 pdb 文件中嵌入了一个链接,该链接指向可以从中获取源代码的位置。例如,我看到 srctool.exe 的输出:

[f:\dd\ndp\fx\src\DataEntity\System\Data\Objects\DataClasses\RelatedEnd.cs] trg: http://referencesource.microsoft.com/source/NET/4.5/net//ndp/fx/src/DataEntity/System/Data/Objects/DataClasses/RelatedEnd.cs/550320/RelatedEnd.cs

如果 pdb 文件没有源索引怎么办?这是否意味着 VS 将无法向您显示来源、步骤等?我想是的,虽然我不是专家。我发现这个链接是半有用的。

无论如何,回来,对我来说,从 pdb 文件中的嵌入式链接获取代码意味着运行这个命令(VS 会给你一个弹出窗口,它会要求你运行命令;如果它失败你不会知道;唯一的方法知道它是否成功是从控制台自己运行它),它给出了一个错误。

tf.exe view /version:550320 /noprompt “$/[omitted]/[file].cs” /server:http://[omitted] /console > [file.cs]

为了解决这个限制,我从http://referencesource.microsoft.com/netframework.aspx手动下载了 .net 框架源代码。这里也有一个问题:文件被下载为 .aspx ,它没有做任何事情。原来你必须重命名为.msi。然后运行可执行文件。请参阅此链接:http ://social.msdn.microsoft.com/Forums/en-US/refsourceserver/thread/f17c11c1-72f6-4529-bafe-5a1d79b72bd7

我简直不敢相信我遇到了多少问题。

4

0 回答 0