vb.net - vs开发c - vs运行cpp




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

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

当我在我的类库项目中设置断点时。 它看起来像一个正常的断点。 当我开始调试我的解决方案时, 断点被挖空并且有一个带有感叹号的黄色三角形 。 当我平移断点时显示的工具提示是,“ 断点当前不会被命中。此文档没有加载符号。

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

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

到目前为止我做了什么:

  • 我删除了所有调试和发布文件夹,
  • 我删除了obj文件夹,之后又重建了解决方案。
  • 我重新启动了VS2008 IDE。
  • 我重新启动了电脑。
  • 我检查了配置管理器的解决方案,以确保我的类项目包含在调试版本中,并且确实如此。
  • 我已经检查了dll的debug / modules,虽然我没有尝试引用dll。

此外,我已按照SO帖子中列出的故障排除步骤进行操作:

断点当前不会被点击没有加载符号

VS 2010,NUNit和“断点目前不会被击中。 没有为此文档加载任何符号“

断点当前不会被击中。 没有为此文档加载任何符号。

无法调试 - “断点当前不会被命中。 没有为此文档加载任何符号“

修复“断点当前不会被击中。 此文档未加载任何符号。“

此外,我已经阅读了MSDN和其他地方在Google上发现的大量帖子,但这些帖子都不符合我的具体需求。

其中一些帖子是:

Visual Studio 2008“断点当前不会被命中。没有为此文档加载符号”

断点当前不会被击中。 没有为此文档加载任何符号

断点当前不会被击中。 没有为此文档加载符号。

调试器问题“当前没有命中断点。没有为此文档加载符号

断点当前不会被击中。 没有为此文档加载符号。

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

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

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

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

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


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

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


希望这可以帮助...

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

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


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


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

  1. 右键单击项目
  2. 选择属性
  3. 选择c / c ++ - >常规
  4. 将调试信息格式设置为program Database(/ZI)
  5. 检查链接器 - >调试生成调试信息是肯定的。

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

托管应用程序(调用您的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。


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

附加到:本机代码

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

附加到:托管代码


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


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


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

介绍

我的项目是一个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应用程序中也会出现此问题。

个人解决方案

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

杰瑞奥曼的完整解决方案

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







breakpoints