代码之家  ›  专栏  ›  技术社区  ›  Gaby

为什么调试器不工作

  •  17
  • Gaby  · 技术社区  · 16 年前

    我的调试程序不工作,
    我正在放置一个断点,但在运行中,时间Visual Studio不会在断点上停止。
    如何修复?
    我的应用程序没有什么特别之处,它是一个简单的Web应用程序。 我正在使用Visual Studio 2005。

    我已经创建了一个新的Web应用程序项目,在default.aspx页面上有一个obout网格控件,在default.cs上我正在填充一个数据表,并将其作为网格的数据源。
    我可以对它进行调试,突然间调试器就没有被命中。
    请注意,调试器位于加载事件上。

    12 回复  |  直到 7 年前
        1
  •  13
  •   Community Mohan Dere    8 年前

    找到以下解决我问题的步骤:

    1. 从中删除ASP.NET临时文件 C:\Windows\Microsoft.NET\Framework\v2.0.50727\Temporary ASP.NET Files
    2. 将生成配置更改为从项目属性调试。
    3. 从项目中删除bin文件夹。
    4. 检查web.config中的编译调试是否设置为true
    5. iisreset
    6. 重建项目。
        2
  •  11
  •   Andrew Hare    16 年前

    有两件事可能是错误的:

    • 源代码和程序集可能不同步-请重新生成应用程序,然后重试。
    • 您可能被附加到错误的进程-请检查您附加到的进程。
    • 代码中可能存在导致断点不被命中的逻辑错误(即,您所在的方法实际上没有被调用,逻辑分支是围绕断点的路由控制等)。
        3
  •  2
  •   Gerrie Schenck    16 年前

    符号可能没有被加载,这就是断点不会被命中的原因。你把这个网站设为创业项目了吗?

    调试时,它附加了什么过程?如果要调试ASP.NET代码,它应该是w3wp.exe。

        4
  •  2
  •   Aim Kai    16 年前

    您可能需要在web config中设置应用程序,以便调试它。

    <system.web>
        <!-- 
            Set compilation debug="true" to insert debugging 
            symbols into the compiled page. Because this 
            affects performance, set this value to true only 
            during development.
        -->
        <compilation debug="true">
            <assemblies>
                <add assembly="System.Core, Version=3.5.0.0, Culture=neutral, PublicKeyToken=B77A5C561934E089"/>
                <add assembly="System.Data.DataSetExtensions, Version=3.5.0.0, Culture=neutral, PublicKeyToken=B77A5C561934E089"/>
                <add assembly="System.Web.Extensions, Version=3.5.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35"/>
                <add assembly="System.Xml.Linq, Version=3.5.0.0, Culture=neutral, PublicKeyToken=B77A5C561934E089"/>
            </assemblies>
        </compilation>
    
        5
  •  2
  •   Arun Prasad E S    9 年前

    断点没有被击中,我清理和重建,但仍然没有击中,

    我刚刚重新打开了页面(在我的病例控制中),开始工作正常

        6
  •  1
  •   DOK    16 年前

    您需要在调试模式下运行,而不是在释放模式下运行。

    这是一篇关于 How to: Enable Debugging for ASP.NET Applications 基本上,您可以在项目属性或web.config中设置调试模式。

        7
  •  1
  •   mrosiak    9 年前

    在项目上单击鼠标右键->生成->取消选中“优化代码”

        8
  •  0
  •   Pentium10    16 年前

    做一个 Clean Project ,并确保单击 Debug 不是 Run

        9
  •  0
  •   bresleveloper    14 年前

    尝试取消选中“启用Visual Studio宿主进程” 项目属性中的-调试 为我工作

        10
  •  0
  •   Rahav    9 年前

    当Visual Studio设置为“调试”时,可能会发生这种情况,但代码不是托管的(托管代码在公共语言运行时(clr)的控制下运行)。

    要解决此问题,请将下图右侧所示的调试模式更改为 native only mixed auto

    注意:我建议不要选择混合,除非您的系统同时具有托管代码和本机代码(不在clr下运行的代码),因为Visual Studio不能附加到已经在混合模式下运行的进程。要调试已经运行的代码,需要将Visual Studio设置为“仅限本机”中的“调试”。 仅限托管

    f公共语言运行库(clr))。

    要解决此问题,请将下图右侧所示的调试模式更改为 仅本地 , 混合的 汽车 . enter image description here

    注意:我建议不要选择混合,除非您的系统同时具有托管代码和本机代码(不在clr下运行的代码),因为Visual Studio不能附加到已经在混合模式下运行的进程。要调试已经运行的代码,需要将Visual Studio设置为在中调试 仅本地 只管理 .

        11
  •  0
  •   Davide Cannizzo    7 年前

    我已经看到现有的答案列出了许多可能的原因,但我想再添加一个:如果您正在使用编译后工具(如ilmerge),请检查这些工具是否保留调试信息(是否存在 .pdb 文件?或者您可能已经将它嵌入到编译输出中了)。对于那些真正使用 AfterBuild 他们的任务 .csproj 我真的建议退房。

        12
  •  -1
  •   Syed    13 年前

    在Visual Studio 2010中

    1. 选择构建>清理项目名称
    2. 改造工程

    现在尝试重新生成项目并尝试调试

    万事如意