Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/334.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

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/.net/23.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# Can';t调试-“;当前不会命中断点。本文件未加载任何符号”;_C#_.net_Asp.net_Debugging - Fatal编程技术网

C# Can';t调试-“;当前不会命中断点。本文件未加载任何符号”;

C# Can';t调试-“;当前不会命中断点。本文件未加载任何符号”;,c#,.net,asp.net,debugging,C#,.net,Asp.net,Debugging,我在主题行中发现了错误。我正在服务器2k3sp2上运行vs2k8。我已尝试删除PDB、缓存目录,验证是否在特定页面上设置了调试。有趣的是,其他页面调试很好。就在我翻到这一页的时候。必须是配置问题,但page指令如下所示: 打印(“”) 我还注意到,在调试时,如果打开“模块”窗口,几乎所有的符号都会显示“符号未加载”的状态。然而,在对下面的msdn文章进行了更多的研究之后,MSFT的一篇帖子说,如果它是一个核心.net dll,它将不会加载符号,所以我不担心这一点。某些microsoft模块(如S

我在主题行中发现了错误。我正在服务器2k3sp2上运行vs2k8。我已尝试删除PDB、缓存目录,验证是否在特定页面上设置了调试。有趣的是,其他页面调试很好。就在我翻到这一页的时候。必须是配置问题,但page指令如下所示:

打印(“”)

我还注意到,在调试时,如果打开“模块”窗口,几乎所有的符号都会显示“符号未加载”的状态。然而,在对下面的msdn文章进行了更多的研究之后,MSFT的一篇帖子说,如果它是一个核心.net dll,它将不会加载符号,所以我不担心这一点。某些microsoft模块(如System.EnterpriceServices.wrapper.dll)会显示一个感叹号,并显示消息“模块未在默认加载地址加载”。不知道为什么那个dll在那里,因为我不知道有任何调用它的消息

以下是我尝试过的东西:


比尔

我通常在处理两个独立的网站时看到这个错误弹出。我有一个web前端和一个web服务后端。如果代码文件所针对的“站点”未运行开发服务器,则您将收到该错误消息


这可能不是您的问题,但是当我看到错误消息时,通常会出现这种情况。如果调试器未连接到正确的进程,则可以执行的另一项操作是Debug->Attach to Process。

当VS用于调试的.pdb文件与实际执行的代码不同时,通常会发生这种情况。也就是说,如果您对程序集进行了更改。

另外,确保web.config中有
。我不知道它是否与page指令有任何关系,但这通常对我来说是这样的:)

我同意,当我有多个程序集不同步和/或一个或多个PDB与源不匹配时,我已经看到了这一点。在我的例子中,这是因为我对我的版本控制软件(ClearCase)有一种怪癖,我并没有真正编译我认为我是什么。

放置一个内联代码,以确保您实际上正在运行代码。如果不停止,则可能是您尝试调试的代码没有运行,或者您没有使用托管调试器对其进行调试

如果确实停止,但找不到源,则可能没有模块的pdb。检查callstack窗口的顶部,查看哪个程序集包含您在其中停止的方法。这就是您需要pdb的程序集。模块窗口将显示该程序集在磁盘上的位置。命令行工具“dumpbin-headers assembly.dll”将转储PE头。检查调试目录以查看生成程序集时pdb的位置。如果调试目录不存在,则生成的程序集没有调试信息。如果是这种情况,那么您的问题是确定为什么在没有调试信息的情况下生成特定程序集。如果它确实具有调试信息,并且存在pdb,但未加载,则表示调试程序未找到pdb,您应该查看tools\options\debug\symbol设置。或者pdb和部件不匹配。如果时间戳不在1秒之内,那么它们肯定不匹配


如果以上内容没有帮助,请更新更多信息。

我唯一遇到类似问题的时候是在项目处于发布模式时尝试调试。

如果您有一个“网站”项目,而不是“Web应用程序”,我发现重叠的代码文件类可能会导致问题。有几种方法可以做到这一点。不幸的是,VisualStudio似乎仍然没有错误地编译解决方案/项目

  • 在网站上的文件夹之间移动页面
  • 移动页面后的源代码管理合并可能会导致页面重复,并且Visual Studio在调试期间会混淆
  • 复制和粘贴现有页面(模板)也可能导致内存中出现这种情况
  • 为了解决这个问题,我

  • 搜索“将问题页面代码符号分类”以查找解决方案中的重复项
  • 重新分解类名后面的重复代码,并测试所有这些页面,以确保我可以使用调试断点
    希望对您有所帮助。

    关于附加到进程,当我尝试附加到进程时,w3wp.exe显示为灰色。剩下的只有看起来不相关的(ccapp、ctfmon、smax4pnp和smcgui)。那么,这是否确认调试器连接到了正确的进程?通常当调试器变灰时,它已经连接了调试器。我不能帮助更多,因为我仍然在VS2005和.NET2.0上…web配置有一个属性集。VS使用什么进行调试?我已从vs temp缓存文件夹中删除文件,并已删除pdb文件。注意,当我重新编译时,不会在bin文件夹中重新创建pdb文件。不应该重新生成吗?通常网站是正常的,只有在调试引用的程序集时,我才看到这个问题。只要debug设置为true,它就应该生成它需要的所有调试符号,但我认为它们不会被放入垃圾箱,我认为它们会被放入临时文件,这要感谢指出这是我的问题所在