Visual Studio 当前不会命中断点的问题
这个问题一般有两个版本
1.当前不会命中断点,还没有为该文档加载任何符号。
2.当前不会命中断点,源代码与原始版本不同。
要解决第一个问题,就要了解一种文件格式“PDB(Program DataBase)”,我们在给一个.Net程序集设置断点的时候,所有的调试信息都存放在这个文件,这里不打算深入探讨它,只需要知道它描述了我们程序集的断点,要调试程序就得加载它就够了.
那么第一个问题的描述我们可以看成是没有加载到PDB文件或者加载失败了,解决方法是
在程序调试时,使用Visual Studio的 调试》窗口》模块 查看当前程序加载的所有模块,找到你要调试的模块,右键菜单中就有一个加载符号的选项,选择对应的PDB文件即可。

关于PDB文件更详细的介绍 PDB文件概说
现在来讨论第二个问题
其实这个问题应该是很容易解决的,我在网上搜索的时候发现很多人没描述到重点,甚至是重新建立了一个项目来解决.我们知道每次F5开始调试程序都算是生成了一个新版本,那么这个问题的极有可能就是PDB文件记录的源码版本与你现在调试的版本不一致.
再让我们想想什么时候会出现这种情况呢,常见的会影响到程序版本的操作就是当你编译失败时,Visual Studio询问你是否继续并运行上次的成功生成

这个时候应该就影响到了程序的版本,但我有个不明白的地方就是为何PDB文件不会每次编译都重新生成呢?还是以上推断另有隐情?
那么这个时候解决方案就只能是同一PDB文件与源码的版本一致啦,我一般图省事,都是清理整个解决方案再重新生成,解决.
以上就是我对这个问题的一些经验,我觉得只能解决问题(反正我每次都可以( ̄y▽ ̄)╭),却感觉还没有摸到这个问题的更深本质,希望园子里遇到过的都来探讨一下。
Visual Studio 当前不会命中断点的问题的更多相关文章
- Visual Studio 当前不会命中断点的问题 编辑pdf文件
Visual Studio 当前不会命中断点的问题 PDB文件概述
- 遇到Visual Studio "当前不会命中断点.还没有为该文档加载任何符号"的情况
一.问题及原因 有这样一种调用逻辑:A.exe调用B.dll.现在想要在B的源代码中打断点,从A发起进行调试,却给出了"当前不会命中断点.还没有为该文档加载任何符号"的提示.感觉十 ...
- Visual Studio 调试时无法命中断点
1.查看代码优化是否勾选,如有去掉勾选 2.确保是在Debug模式下设置的断点 3.确保在启动时未修改代码即“要求源文件和原始版本完全匹配” 4.DLL的引用问题
- Visual Studio2012调试时无法命中断点
今天在调试代码的时候发现在Debug模式下无法命中断点,然后一步步去检查原因,最后发现是在项目-->属性-->生成-->高级-->调试信息被设置为None,然后在选项中将其选择 ...
- visual studio 修改注释快捷键,和断点
修改成alt+3和alt+4.效果不错 修改插入断点快捷键.这样按F12 就可以插入删除断点了.很爽 tab是批量加缩进 shift+tab 是批量减缩进
- Visual Studio Code 调试 nodejs (断点调试、自动重启、进程调试)
学习链接: https://cnodejs.org/topic/5a9661ff71327bb413bbff5b https://github.com/nswbmw/node-in-debugging ...
- 【C#】Visual Studio 2017 一边Debug,一边修改代码
好久没写C#了,最近在学习著名***工具 shadowsocks-windows 的源代码,想着可以边断点调试,边加上一些注释以方便理解,stackoverflow 和 msdn 随便翻了一下,竟发现 ...
- Visual Studio 2015 无法命中断点
新安装操作系统后发现,vs2015无法命中断点. 在项目中设置生成调试信息:FULL 即可.
- Visual Studio 2013 中使用断点
你可能已经很熟悉Visual Studio中的断点的基本功能.你在编辑器里代码的侧边点击,创建一个红色的圆点,然后运行应用程序,线程走到你所点的代码处停下,你可以用调试窗口查看代码状态. 你可能不熟悉 ...
随机推荐
- 开展.net mvc3遇到怪事+解
发展到今天.net mvc3遇到怪事. 使用Firefox浏览器.打开index页,求index该控制器是很多次,代码查询数据库的多个运行.server减速. 而且没有刷新页面,随着时间的推移有十二请 ...
- android怎么在launcher改动内置apk的icon
找到launcher下的IconCache中加入变量用来存储要改动apk的包名 及要改动成的icon private String[] className = {"com.google.an ...
- 一个由proguard与fastJson引起的血案(转)
更新微信sdk导致ComposeData中的内部类ComposeDataSender方法被混淆 根本原因,fastjson使用姿势不对. 问题描述: 一个发件人列表里,应当呈现的数据(这里命名为Com ...
- 图解zookeeper FastLeader选举算法
zookeeper当配置为群集模式,在启动或异常情况将被选举为的例子Leader.默认选择算法FastLeaderElection. 不知道zookeeper够考虑这样一个问题:某个服务能够配置为多个 ...
- CSharp设计模式读书笔记(6):建造者模式(学习难度:★★★★☆,使用频率:★★☆☆☆)
建造者模式(Builder Pattern):将一个复杂对象的构建与它的表示分离,使得同样的构建过程可以创建不同的表示. 模式角色与模式: 建造者模式可以将一个产品的内部表象与产品的生产过程分割开来, ...
- 安裝 Rails 開發環境
安裝 Rails 開發環境 Give someone a program, you frustrate them for a day; teach them how to program, you f ...
- MVC5控制器、路由、返回类型、选择器、过滤器
ASP.NET MVC5 学习笔记-1 控制器.路由.返回类型.选择器.过滤器 [TOC] 1. Action 1.1 新建项目 新建项目->Web->Asp.net Web应用程序, ...
- Asp.Net MVC5入门学习系列⑤
原文:Asp.Net MVC5入门学习系列⑤ 检查VS生产的编辑方法和编辑窗体 前面我们一步使用强类型,然后创建Controller(控制器)的时候,VS默认已经给我们把CURD都简单的实现了.这篇的 ...
- adb概览及协议参考
原文:https://github.com/android/platform_system_core/blob/master/adb/OVERVIEW.TXT) Implementation note ...
- 原生JavaScript生成GUID的实现
GUID(全局统一标识符)是指在一台机器上生成的数字,它保证对在同一时空中的所有机器都是唯一的.通常平台会提供生成GUID的API.生成算法很有意思,用到了以太网卡地址.纳秒级时间.芯片ID码和许多可 ...