首页 文章

VS 2008断点目前不会被击中 . 没有为此文档加载任何符号

提问于
浏览
31

我正在努力克服这个障碍,我非常希望SO上的某个人可以提供帮助 .

enter image description here

当我在我的类库项目中设置断点时 . 它看起来像一个正常的断点 . 当我开始调试我的解决方案breakpoint becomes hollowed out and has a yellow triangle with an exclamation point里面 . 平移断点时显示的工具提示是“ The Breakpoint will not currently be hit. No Symbols have been loaded for this document.

这个项目不是ASP.NET应用程序,它只是一个winForms应用程序 .

我已经接管了解决方案中包含多个项目的现有winForms应用程序 . 我已经在调试模式下构建并运行了项目 . 我可以在某些项目的断点处停止,但是,我无法在其他项目中遇到断点,特别是类型类库的项目 .

What I have done thus far:

  • 我删除了所有调试和发布文件夹,

  • 我删除了obj文件夹,之后又重建了解决方案 .

  • 我重新启动了VS2008 IDE .

  • 我已重新启动计算机 .

  • 我检查了配置管理器的解决方案,以确保我的类项目包含在调试版本中,并且确实如此 .

  • 我已经检查了dll的debug / modules,虽然我没有尝试引用dll .

Furthermore, I have followed the troubleshooting steps outlined in the SO posts:

the breakpoint will not currently be hit no symbols loaded

VS 2010, NUNit, and “The breakpoint will not currently be hit. No symbols have been loaded for this document”

The breakpoint will not currently be hit. No symbols have been loaded for this document.

Can't debug - “The breakpoint will not currently be hit. No symbols have been loaded for this document”

Fixing “The breakpoint will not currently be hit. No symbols have been loaded for this document.”

Additionally, I have read numerous posts found on Google from both MSDN and other locations, none of which fit my specific needs.

其中一些帖子是:

Visual Studio 2008 "The breakpoint will not be currently hit. No symbols have been loaded for this document"

The breakpoint will not currently be hit. No symbols have been loaded for this document

Breakpoint will not currently be hit. No symbols loaded for this document.

Debugger problem "The breakpoint will not currently be hit. No symbols have been loaded for this document

The Breakpoint will not currently be hit. No Symbols have been loaded for this document.

我读过的所有帖子都非常有用,但没有一个建议的解决方案符合我的特定需求 . 如果有必要提供更多信息,请与我们联系 . 我有更多的链接,我可以提供作为没有工作的参考 . 以及我尝试解决此问题的其他步骤 .

我发布这个后续行动让大家都感到惊讶 . 我按照@Hans @ suggestion来调用有问题的项目文件 .

我将一个昏暗的frm放置为form = new ProjectInQuestion.FormInQuestion

这现在在调试 - > Windows->模块中加载了程序集

新问题比我原来的问题更令人困惑 . 我的断点看起来很好,但是被忽略了 . 断点处没有明显的错误 .

enter image description here

13 回答

  • 3

    这可能是一个老问题,但我想在找到解决这个问题的解决方案之后回答这个问题,因为这是关于这个主题的最完整的问题之一 .

    Intro

    我的项目是一个ASP.NET应用程序,但基本问题也会在WinForms上发生 . 当程序集输出中缺少DLL时,会出现问题 . 但是,如果您引用的DLL然后引用不在程序集中的另一个DLL,则会发生同样的异常 . 由于操作系统加载DLL的方式,引用的DLL必须位于环境路径中,而不是输出程序集中 .

    项目A引用DLL D. DLL D引用DLL X. DLL D可能在您的输出程序集中 . DLL X必须位于您的环境路径中 .

    此问题的核心原因在于操作系统在>运行时加载本机DLL的方式 . 使用以下逻辑加载本机DLL,该逻辑不包括> Temporary ASP.net Files和applications / bin文件夹 . 如果Native DLL未包含在带有.EXE>文件的/ bin文件夹中,或者DLL不在路径环境变量中,则在任何.Net应用程序中也会出现此问题 .

    Personal Solution

    我使用的是名为DivaAPIWrapper.dll的DLL(C#的托管DLL) . 但是,我知道DivaAPIWrapper.dll需要DivaAPI.dll(非托管C)才能运行 . 我在所有输出路径中放置了DivaAPI.dll,但我一直收到此错误 . 只有在我将DivaAPI.dll放入我的环境路径(C:\ windows \ Microsoft.Net \ Framework \ v2.0.50727)后才能正常工作 . 请注意:如果您使用的是较新版本的.NET框架,那么您的路径可能会有所不同!

    Complete Solution by Jerry Orman

    见链接:http://blogs.msdn.com/b/jorman/archive/2007/08/31/loading-c-assemblies-in-asp-net.aspx

  • 7

    我也面临同样的问题,发现很多来自互联网的解决方案,但解决方案对我有用,如下所示:

    它由于我在框架版本4.0中的应用程序而且我试图将程序附加到v2.0以下的版本,因此请确保您的框架版本具有托管代码版本,如下所示 .

    enter image description here

  • 1

    最近在附加到正在运行的进程时发生了这种情况 . 问题是调试选项设置为

    附加到:本机代码

    对于我的情况,它需要是:

    附加到:托管代码

  • 1

    我最近发现的一件事,工作得很好!!!

    托管应用程序(调用您的dll的应用程序)必须具有以下行:

    <supportedRuntime version="v4.0"/>
    

    在"WhateverApplicationItIs.exe.config"文件中,在 <configuration> 部分内 .

    示例:(请参阅“...”,因为文件中包含任何内容并保持原样)

    <configuration>
        ...
        <supportedRuntime version="v2.0.50727"/>
    </configuration">
    

    PS:尝试将此版本与项目属性中设置的目标框架相匹配 . 我相信2.0.50727是3.5 Framework的一个很好的尝试,4.0 for 4.0 Framework .

    对我来说,它刚刚解决了我试图在不同应用程序中调试的两个不同的DLL .

  • 1

    我总是这样发生,就像你说的那样断点在加载DLL之前是不活动的 . 它确实没关系,因为它必须在代码到达那个点之前加载DLL . 我的断点以这种方式开始,但总是受到打击 .

  • 1

    检查您是否未更改要编译此项目的处理器 . 我有,当我把它改回来时,一切都恢复了 . 显然,处理器的变化使它“与原始的不同”

  • 12

    我在Vb.net表单应用程序中遇到了与VS2008相同的问题,我在另一个项目中调用了一个dll,加载到同一个项目组中 . 我找到了这个简单的解决方案:我在form_load事件中加载了一个实例,如Dim pmg As New PMGExport.PMGExportNeu .

  • 0

    请检查工具栏上的“解决方案配置器”模式(“运行”按钮旁边)是否设置为“调试”而不是“释放”

  • 0

    希望这可以帮助...

    我正在引用我的bin \ Release文件夹中的DLL,即使我处于调试模式 .

    我将DLL复制到bin \ Debug文件夹,当我运行VS时,断点被击中 .

  • 1

    试试这个,在Vs 2008中,转到工具 - >选项 - >调试 - >常规 - >未选中/禁用'要求源文件与原始版本完全匹配

  • 1

    我在vs2010上遇到了同样的问题,我在流程步骤中解决了:

    • 右键单击项目

    • 选择属性

    • 选择c / c - >常规

    • 将调试信息格式设置为 program Database(/ZI)

    • 检查链接器 - >调试生成调试信息是 .

  • 1

    请检查工具栏上的“解决方案配置器”模式(“运行”按钮旁边)是否设置为“调试”而不是“释放”为我工作thx

  • 4

    在开始调试之前,请确保在Visual Studio中选择了 debug mode .

    检查Visual Studio中“播放”按钮附近的下拉列表 .

相关问题