我可以以编程方式启用/禁用异常中断吗?

2024-01-12

我希望能够在调试时中断异常...就像在 Visual Studio 2008 的菜单调试/异常对话框中一样,除了我的程序在到达我想要调试的位之前有许多有效的异常。

因此,不必每次都使用对话框手动启用和禁用它,是否可以使用 #pragma 或其他方法自动执行此操作,以便它只发生在特定的代码段中?


执行类似操作的唯一方法是将 DebuggerNonUserCode 属性放在您的方法上。

这将确保标记方法中的任何异常都不会导致异常中断。

很好的解释它here http://blog.functionalfun.net/2008/05/debuggernonusercode-suppressing.html...

这是一个针对方法的属性,用于告诉调试器“与我无关,guv。这不是我的代码!”。容易受骗的调试器会相信您,并且不会中断该方法:使用该属性会使调试器完全跳过该方法,即使您正在单步调试代码;发生并随后在方法中捕获的异常不会中断调试器。它将把它视为对框架程序集的调用,并且如果未处理异常,则会在调用该方法的代码中的调用堆栈上一级报告该异常。

代码示例:

public class Foo
{
    [DebuggerNonUserCode]
    public void MethodThatThrowsException()
    {
        ...
    {
}
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

我可以以编程方式启用/禁用异常中断吗? 的相关文章

  • 处理 LINQ sum 表达式中的 null

    我正在使用 LINQ 查询来查找列的总和 并且在少数情况下该值有可能为空 我现在使用的查询是 int score dbContext domainmaps Where p gt p SchoolId schoolid Sum v gt v
  • 为什么C Clock()返回0

    我有这样的事情 clock t start end start clock something else end clock printf nClock cycles are d d n start end 我总是得到输出 时钟周期是 0
  • 我应该在单元测试中使用 AutoMapper 吗?

    我正在为 ASP NET MVC 控制器方法编写单元测试 这些控制器依赖于IMapper 我创建的用于抽象 AutoMapper 的接口 使用 Castle Windsor 通过构造函数注入传入 动作方法使用IMapper从领域对象映射到
  • 当我单击 GridView 项时返回 ImageView 实例

    当我点击GridView项时如何返回ImageView实例 我为 ItemClick 创建自定义绑定事件 public class ItemClickSquareBinding MvxBaseAndroidTargetBinding pri
  • __FUNCTION__ 宏的 C# 版本

    有人对 C FUNCTION 宏的 C 版本有好的解决方案吗 编译器似乎不喜欢它 尝试使用这个代替 System Reflection MethodBase GetCurrentMethod Name C 没有 LINE or FUNCTI
  • 对数字进行向上和向下舍入 C++

    我试图让我的程序分别向上和向下舍入数字 例如 如果数字是3 6 我的程序应该四舍五入最接近的数字 4 如果该数字是3 4 它将向下舍入为 3 我尝试使用ceil库获取 3 个项目的平均值 results ceil marks1 marks2
  • 使用 VSTO 更改 Outlook 设置

    我刚刚花了大约 4 个小时试图弄清楚如何以编程方式检索 设置 Microsoft Outlook 2010 的 Outlook 设置 我所说的 设置 是指文件 选项 邮件下的设置 我想做的是检索用户设置的设置列表 自动化我们每天需要在某些消
  • 组合 Datepicker 和 Timepicker 值 Win 8.1

    我试图同时使用 Datepicker Timepicker 来返回可以存储在数据库中的 DateTime 例如 我想要安排会议的开始日期和结束日期 如果适用 我将如何将这些值组合成 SQL 数据库可以处理的正确格式 任何反馈都会很棒 我让这
  • 成员初始值设定项列表中的求值顺序是什么?

    我有一个带有一些参数的构造函数 我假设它们是按照列出的顺序初始化的 但在一种情况下 它们似乎是按相反的顺序初始化的 导致中止 当我反转参数时 程序停止中止 下面是我正在使用的语法的示例 a 之前需要初始化b 在这种情况下 你能保证这个初始化
  • 为什么 writeObject 抛出 java.io.NotSerializedException 以及如何修复它?

    我有这个异常 我不明白为什么会抛出它 或者我应该如何处理它 try os writeObject element catch IOException e e printStackTrace Where element is a Transf
  • C#:如何使用 SHOpenFolderAndSelectItems [重复]

    这个问题在这里已经有答案了 有人可以举例说明如何使用 shell 函数吗SH打开文件夹并选择项目 http msdn microsoft com en us library bb762232 VS 85 aspx来自 C 我不太明白如何使用
  • 标准 C 中的 sizeof 与 sizeof()? [复制]

    这个问题在这里已经有答案了 我看到一些直接使用 sizeof 的代码 想知道它是否是标准 C 令我惊讶的是 它运行得很好 这是一个例子 include
  • 使用 AutoMapper 进行 LINQ GroupBy 聚合

    试图让查询工作 但老实说不确定如何 或者是否可能 进行它 因为我尝试过的一切都不起作用 共查询6个表 Person PersonVote PersonCategory Category City FirstAdminDivision Per
  • 为什么 C 函数不能返回数组类型?

    我是 C 语言新手 想知道 为什么 C 函数不能返回数组类型 我知道数组名是数组第一个值的地址 而数组是 C 中的二等公民 您自己已经回答了这个问题 数组是二等公民 C 按值返回 数组不能按值传递 因此不能返回它们 至于为什么数组不能按值传
  • 如何在 C++ 中使用 PI 常数

    我想在一些 C 程序中使用 PI 常数和三角函数 我得到三角函数include
  • C# ToString("MM/dd/yy") 删除前导 0 [重复]

    这个问题在这里已经有答案了 可能的重复 格式化 NET DateTime Day 不带前导零 https stackoverflow com questions 988353 format net datetime day with no
  • 删除对象时指针自动指向空

    假设我有一个对象和其他几个不同类类型的对象中的 10 个指向它的指针 如果对象被删除 这些指针必须设置为空 通常我会将对象的类与具有指向它的指针的类互连 以便它可以通知它们它正在被删除 并且它们可以将它们的指针设置为空 但这也有一个负担 即
  • 宏观评价[重复]

    这个问题在这里已经有答案了 可能的重复 未定义的行为和序列点 https stackoverflow com questions 4176328 undefined behavior and sequence points 我无法理解以下宏
  • 如何使用 g++ 在 c++ 20 中使用模块?

    我读了这个链接https gcc gnu org wiki cxx modules https gcc gnu org wiki cxx modules并尝试从该网站复制以下示例 我已经知道这个编译器部分支持模块系统 注 我用的是windo
  • 如何仅更改 DateTime 的日期部分,同时保留时间部分?

    我在代码中使用了很多 DateTime 我想将这些日期时间更改为我的特定日期并保留 时间 1 2012 02 02 06 00 00 gt 2015 12 12 06 00 00 2 2013 02 02 12 00 00 gt 2015

随机推荐

  • mysql 和 mysql2 gem 有什么区别

    我曾经与mysql宝石 但现在我经常听说mysql2宝石 此外 它还包含在Gemfile默认情况下Rails 3 0 x 使用有什么区别和优点mysql2 gem 这是来自mysql2 宝石页面 https github com brian
  • 当到达 gdb 中的断点时是否可以停止所有其他线程的执行?

    那么 一旦我在某个线程中遇到断点 是否可以暂停其他线程直到我继续 在全停止模式下 当前发布版本支持的唯一模式 只要任何线程停止 由于断点或信号 GDB 就会停止所有线程 当您继续停止的线程时 所有其他线程也将继续 除非您这样做set sch
  • 如何将 EasyMock 模拟注入测试类私有字段

    我正在使用 EasyMock 创建模拟 它是测试类中的私有参数 没有设置器 之一 我尝试使用反射 但它不能正常工作 public class TestedClassTest Test public void test TestedClass
  • 如何将 Bitmap 转换为 Base64 字符串?

    我正在尝试捕获屏幕 然后将其转换为 Base64 字符串 这是我的代码 Rectangle bounds Screen GetBounds Point Empty Bitmap bitmap new Bitmap bounds Width
  • 将 SQL 注释添加到 Linq 生成的查询中,以便它在 SQL 探查器中可见

    我们想要在一个项目中使用 Linq to SQL 这是我们第一次使用 Linq 通常我们只使用存储过程调用 到目前为止 一切都运行良好 但 DBA 询问我们是否可以以在 Profiler 中可见的方式标记 Linq 生成的 SQL 查询 我
  • 使用 google_oauth2 获取“错误:redirect_uri_mismatch”

    该网址似乎是正确的 昨天更新 文件也是 omn iauth rb provider google oauth2 MY CLIENT ID apps googleusercontent com MY CLIENT SECRET scope g
  • create-react-app 子文件夹项目不会 lint

    在子文件夹中使用 create react app 引导的项目不会出现 lint 但是 如果我在 VSCode 中以 root 身份打开项目子文件夹 如下图所示 或者在 root 下设置一个新的 create react app 项目 则
  • 从 vlcj 播放器数组中播放视频

    我正在尝试播放以字符串形式提供的 MRL 列表中的视频 问题是 当我尝试运行该类时 面板列表显示带有按钮 只有一个面板工作 但播放按钮不起作用 其他面板也不起作用 尽管我故意留下了停止按钮 因为我没有向它们添加动作侦听器 我想要实现的是 当
  • 如何使用scala或python在apache Spark中运行多线程作业?

    我面临着与 Spark 并发相关的问题 这阻止了我在生产中使用它 但我知道有一种解决方法 我正在尝试使用订单历史记录对 700 万用户的 10 亿种产品运行 Spark ALS 首先 我获取不同用户的列表 然后对这些用户运行循环以获取推荐
  • Vue 组件未显示在 Laravel 中

    我的 vue 组件没有显示出来 我看不出哪里出了问题 我希望另一双眼睛能指出我哪里出了问题 我正在运行 npm run watch 并清除了缓存 我的应用程序 js First we will load all of this projec
  • 在Java中启动VLC并通过rc接口连接到它

    我已经看过这个帖子了 但我仍然遇到一个问题 在java中启动vlc播放器 https stackoverflow com questions 1731299 starting vlc player in java看来 VLC 的 Java
  • 在带有整数数组的 ArrayList 上使用 contains

    我有一个ArrayList
  • Scala Swing 新手

    我正在尝试为我正在做的应用程序创建一个登录窗口 我一整天都在寻找一个例子 但我似乎找不到任何有帮助的东西 我的基本结构如下 App scala object App extends SimpleSwingApplication val ui
  • 检查运行时是否支持 SSE [重复]

    这个问题在这里已经有答案了 我想检查运行时是否支持 SSE4 或 AVX 以便我的程序可以利用处理器特定的指令 而无需为每个处理器创建二进制文件 如果我可以在运行时确定它 我可以使用一个接口并在不同的指令集之间切换 GCC 有一种方法可以做
  • Jetpack Compose Lazy Column 单选

    我正在从服务器获取数据并将其显示在列表中 可以一键选择每个项目以显示按钮 但我无法关闭它 只能打开它 这是列表类的项目 data class Task val deviceName String val deviceId String va
  • 单击类名为 selenium 的元素

    我正在尝试从网站上抓取酒吧的营业时间 有一个酒吧列表 如果您导航到您可以找到营业时间 当我点击具有类名的元素时遇到问题 我已经编写了代码来获取一个场所的营业时间 但是 我无法从第一个链接导航到每个场所 当我获得一个场地的营业时间时 此代码有
  • Puma 和 Nginx 502 错误网关错误 (Ubuntu Server 14.04)

    我需要部署我的 Rails 应用程序 所以我遵循了这里的所有步骤 https www digitalocean com community tutorials how to deploy a rails app with puma and
  • 在聚合中使用限制排序和跳过排序时出现 Mongodb 复制问题

    通过使用skip和limit排序来获取记录时面临重复记录的问题 采集数据 id ObjectId 594b507c9b9469ec9da6a78b name F percentage 60 0 weightedFilter 2 0 like
  • 获取 POST 变量

    我将 C 与 ASP NET 结合使用 如何检查参数是否已作为 POST 变量接收 如果参数是通过 POST 或 GET 发送的 我需要执行不同的操作 使用它来获取 GET 值 Request QueryString key 这对于 POS
  • 我可以以编程方式启用/禁用异常中断吗?

    我希望能够在调试时中断异常 就像在 Visual Studio 2008 的菜单调试 异常对话框中一样 除了我的程序在到达我想要调试的位之前有许多有效的异常 因此 不必每次都使用对话框手动启用和禁用它 是否可以使用 pragma 或其他方法