2012-08-03 145 views
4

我有一台服务器通过IIS运行我的Web应用程序。我有本地的Visual Studio,我附加到远程w3wp.exe进程没有问题,但我的断点没有被击中,因为我的符号没有加载。远程调试asp.net

What am I missing?

我失去了什么?

更新:我应该调试Native还是Managed?当我执行本机时,“模块”窗口会显示大量无法打开PDB的Windows dll。我应该担心吗?我在列表中看不到我的dll。当我使用Managed时,模块窗口是完全空的。

+0

您是否尝试过在本地处理PDB文件? – 2012-08-03 20:56:02

+0

我在本地有pdb文件,但我的理解是远程调试您必须将符号文件指向远程目录。 – Julien 2012-08-04 06:44:47

+1

他们不必是遥远的;只要它们是相同的PDB文件,以便校验和匹配。 PDB文件需要知道源代码的位置;如果PDB文件是在本地机器上生成的,那么找到源代码应该没有问题。 – 2012-08-04 13:52:26

回答

3

发现此问题。当我通过Visual Studio GUI附加到进程时,w3wp.exe进程被列为x86而不是托管4.0。我在IIS中重新创建了我的应用程序的网站,并且该过程回到被列为Managed的状态,这允许加载符号。

0

确保您在调试模式下构建了项目。另外,请确保您的远程服务器拥有足够的权限。

+0

我以调试模式发布并查看PDB服务器端。我该如何检查服务器上的权利? – Julien 2012-08-03 20:18:16

+0

当您浏览服务器上的项目文件夹时,是否会看到pdb文件? – 2012-08-03 20:19:23

+0

我看到我的项目的一个pdb,是的,位于\\ 192.168.42.10 \ httpd \ html \ Chat \ bin – Julien 2012-08-03 20:20:24