zoukankan      html  css  js  c++  java
  • Visual Studio 当前不会命中断点的问题

    这个问题一般有两个版本

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

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

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

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

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

    image

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

    现在来讨论第二个问题

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

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

    image

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

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

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

  • 相关阅读:
    Aurora 数据库支持多达五个跨区域只读副本
    Amazon RDS 的 Oracle 只读副本
    Amazon EC2 密钥对
    DynamoDB 读取请求单位和写入请求单位
    使用 EBS 优化的实例或 10 Gb 网络实例
    启动 LAMP 堆栈 Web 应用程序
    AWS 中的错误重试和指数退避 Error Retries and Exponential Backoff in AWS
    使用 Amazon S3 阻止公有访问
    路由表 Router Table
    使用MySQLAdmin工具查看QPS
  • 原文地址:https://www.cnblogs.com/MigCoder/p/3368319.html
Copyright © 2011-2022 走看看