这个问题一般有两个版本

1.当前不会命中断点,还没有为该文档加载任何符号。

2.当前不会命中断点,源代码与原始版本不同。

要解决第一个问题,就要了解一种文件格式“PDB(Program DataBase)”,我们在给一个.Net程序集设置断点的时候,所有的调试信息都存放在这个文件,这里不打算深入探讨它,只需要知道它描述了我们程序集的断点,要调试程序就得加载它就够了.

那么第一个问题的描述我们可以看成是没有加载到PDB文件或者加载失败了,解决方法是

在程序调试时,使用Visual Studio的 调试》窗口》模块 查看当前程序加载的所有模块,找到你要调试的模块,右键菜单中就有一个加载符号的选项,选择对应的PDB文件即可。

关于PDB文件更详细的介绍  PDB文件概说

现在来讨论第二个问题

其实这个问题应该是很容易解决的,我在网上搜索的时候发现很多人没描述到重点,甚至是重新建立了一个项目来解决.我们知道每次F5开始调试程序都算是生成了一个新版本,那么这个问题的极有可能就是PDB文件记录的源码版本与你现在调试的版本不一致.

再让我们想想什么时候会出现这种情况呢,常见的会影响到程序版本的操作就是当你编译失败时,Visual Studio询问你是否继续并运行上次的成功生成

这个时候应该就影响到了程序的版本,但我有个不明白的地方就是为何PDB文件不会每次编译都重新生成呢?还是以上推断另有隐情?

那么这个时候解决方案就只能是同一PDB文件与源码的版本一致啦,我一般图省事,都是清理整个解决方案再重新生成,解决.

以上就是我对这个问题的一些经验,我觉得只能解决问题(反正我每次都可以( ̄y▽ ̄)╭),却感觉还没有摸到这个问题的更深本质,希望园子里遇到过的都来探讨一下。

Visual Studio 当前不会命中断点的问题的更多相关文章

  1. Visual Studio 当前不会命中断点的问题 编辑pdf文件

    Visual Studio 当前不会命中断点的问题 PDB文件概述

  2. 遇到Visual Studio "当前不会命中断点.还没有为该文档加载任何符号"的情况

    一.问题及原因 有这样一种调用逻辑:A.exe调用B.dll.现在想要在B的源代码中打断点,从A发起进行调试,却给出了"当前不会命中断点.还没有为该文档加载任何符号"的提示.感觉十 ...

  3. Visual Studio 调试时无法命中断点

    1.查看代码优化是否勾选,如有去掉勾选 2.确保是在Debug模式下设置的断点 3.确保在启动时未修改代码即“要求源文件和原始版本完全匹配” 4.DLL的引用问题

  4. Visual Studio2012调试时无法命中断点

    今天在调试代码的时候发现在Debug模式下无法命中断点,然后一步步去检查原因,最后发现是在项目-->属性-->生成-->高级-->调试信息被设置为None,然后在选项中将其选择 ...

  5. visual studio 修改注释快捷键,和断点

    修改成alt+3和alt+4.效果不错 修改插入断点快捷键.这样按F12 就可以插入删除断点了.很爽 tab是批量加缩进 shift+tab 是批量减缩进

  6. Visual Studio Code 调试 nodejs (断点调试、自动重启、进程调试)

    学习链接: https://cnodejs.org/topic/5a9661ff71327bb413bbff5b https://github.com/nswbmw/node-in-debugging ...

  7. 【C#】Visual Studio 2017 一边Debug,一边修改代码

    好久没写C#了,最近在学习著名***工具 shadowsocks-windows 的源代码,想着可以边断点调试,边加上一些注释以方便理解,stackoverflow 和 msdn 随便翻了一下,竟发现 ...

  8. Visual Studio 2015 无法命中断点

    新安装操作系统后发现,vs2015无法命中断点. 在项目中设置生成调试信息:FULL   即可.

  9. Visual Studio 2013 中使用断点

    你可能已经很熟悉Visual Studio中的断点的基本功能.你在编辑器里代码的侧边点击,创建一个红色的圆点,然后运行应用程序,线程走到你所点的代码处停下,你可以用调试窗口查看代码状态. 你可能不熟悉 ...

随机推荐

  1. MVC — 第 6 天

    7 天玩转 ASP.NET MVC — 第 6 天   目录 第 1 天 第 2 天 第 3 天 第 4 天 第 5 天 第 6 天 第 7 天 0. 前言 欢迎来到第六天的 MVC 系列学习中.希望 ...

  2. vim note(3)

    Ctrl+w  Ctrl+v  will create a new window on the right side of the current window Ctrl+w  Ctrl+s   wi ...

  3. Redis集群环境安装指南

    环境 RHLinux-6.4-64-EN, 红帽6.4 64位,英文正式公布版. Redis3.0.0 redis2.x版本号还不支持集群,3.0版本号将会支持,如今3.0版本号还在开发中,如今是be ...

  4. Chromium Graphics: GPUclient的原理和实现分析之间的同步机制-Part I

    摘要:Chromium于GPU多个流程架构的同意GPUclient这将是这次访问的同时GPU维修,和GPUclient这之间可能存在数据依赖性.因此必须提供一个同步机制,以确保GPU订购业务.本文讨论 ...

  5. DevExpress XtraReports 入门五 创建交叉表报表

    原文:DevExpress XtraReports 入门五 创建交叉表报表 本文只是为了帮助初次接触或是需要DevExpress XtraReports报表的人群使用的,为了帮助更多的人不会像我这样浪 ...

  6. VS扩展开发框架

    VsSharp:一个VS扩展开发框架(上) 上篇:设计 一.引子 自2008年起开发SSMS插件SqlSharp(er)的过程中,有一天发现多数代码都大同小异,就像这样. Commands2 comm ...

  7. 使用SeekBar办Android调色板

    1.接口布局xml代码: <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" x ...

  8. sql server判断表是否存在

    1.判断数据表是否存在 方法一: use yourdb;go if object_id(N'tablename',N'U') is not nullprint '存在'else print '不存在' ...

  9. 如何监控第三方应用程序(SOAP or RESTful client)访问HTTPS当数据站点?

    随着越来越多的互联网应用,在我们日常的开发和调试,其中(例如,调试SOAP和RESTFul什么时候),我们经常需要访问工具,通过第三方获取HTTPS网站.为了简化叙述说明,如本文所用,IE浏览器访问G ...

  10. .NET 各种问题汇总

    1.i++ 与++i的区别 using System; class TestApp { public static void Main() { int i = 8; int count = ++i;/ ...