首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
社区首页 >问答首页 >Parallel.ForEach调试或单步执行

Parallel.ForEach调试或单步执行
EN

Stack Overflow用户
提问于 2012-06-19 20:35:24
回答 7查看 14.6K关注 0票数 21

有没有一种简单的方法来逐步浏览parallel.foreach?使用断点进行调试的最佳方法是什么?

EN

回答 7

Stack Overflow用户

回答已采纳

发布于 2015-08-06 17:12:14

实际上,你可以通过冻结除一个线程之外的所有线程,在线程窗口中选择除一个线程之外的所有线程,然后右键单击-> Freeze,这样就可以得到类似的结果:

此外,如果要重新生成争用条件,并且在断点处停止会破坏该条件,则始终可以添加跟踪点-无论是使用visual studio还是使用有助于该条件的插件,如Oz Code

票数 5
EN

Stack Overflow用户

发布于 2012-06-19 20:41:33

在调试过程中,我经常设置我的Parallel.ForEachMaxDegreeOfParallelism设置为1的情况下运行,这使得调试变得非常简单。

代码语言:javascript
运行
AI代码解释
复制
const bool forceNonParallel = true;
var options = new ParallelOptions { MaxDegreeOfParallelism = forceNonParallel ? 1 : -1 };
Parallel.ForEach(collection, options, item => 
{ //...

但是,这无助于解决与竞态条件或数据同步相关的调试问题,实际上通常会隐藏或消除代码中的实际问题。

通过使用VS2010中的新工具,例如Parallel Tasks window,或者使用Debugging Multithreaded Applications中列出的各种技术,例如switching threads,在单步执行时锁定线程等,这些问题通常可以更容易地进行调试。

票数 37
EN

Stack Overflow用户

发布于 2014-03-27 10:42:01

与这里的其他答案类似,我们在调试时将并行度设置为1,但我们使用扩展方法来执行此操作,例如:

代码语言:javascript
运行
AI代码解释
复制
public static ParallelQuery<TSource> AsDebugFriendlyParallel<TSource>(this IEnumerable<TSource> source)
{
    var pQuery = source.AsParallel();
    #if DEBUG
    pQuery = pQuery.WithDegreeOfParallelism(1);
    #endif

    return pQuery;
}

然后,我们使用.AsDebugFriendlyParallel()而不是.AsParallel()

票数 10
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/11108995

复制
相关文章
python抛出异常和捕获异常_在try块中可以抛出异常吗
2.解析 关键字try 以及except是 使用Python 解释器主动抛出异常的关键, Python解释器从上向下执行 当运行try中的某行代码出错,会直接进入except中执行下方代码 try中错行下方的代码不会被运行 except…as… 是固定的语法格式 打印traceback信息 finally 后的代码不管是否抛出异常都会执行 except 的原理 调用sys中 exc.info 方法返回基本信息 所以抛出异常的第一步拓展可以在这里开始 注意 每个关键字下方的代码都是独立的(所有的变量都是局部变量)
全栈程序员站长
2022/11/02
4.7K0
c++构造函数是否可以抛出异常_什么叫抛出异常
从语法上来说,构造函数可以抛出异常。但从逻辑上和风险控制上,构造函数中尽量不要抛出异常。万不得已,一定要注意防止内存泄露。
全栈程序员站长
2022/09/22
1.7K1
【C++ 语言】异常 ( 抛出字符串异常 | 抛出异常对象 | 抛出任意对象 | 抛出自定义异常 )
1. 异常处理 : 使用 " try{}catch(){} " 将抛出异常的代码包起来 , 注意将可能抛出异常的代码包裹在 try 后的大括号中 , 将异常处理逻辑放在 catch 后的大括号中 ;
韩曙亮
2023/03/27
1.4K0
Java 如何抛出异常、自定义异常
1、定义 : 一个方法不处理这个异常,而是调用层次向上传递,谁调用这个方法,这个异常就由谁来处理。
Java编程指南
2019/08/02
4.8K0
Java 如何抛出异常、自定义异常
Java 如何抛出异常、自定义异常[通俗易懂]
1、定义 : 一个方法不处理这个异常,而是调用层次向上传递,谁调用这个方法,这个异常就由谁来处理。
全栈程序员站长
2022/07/29
4.2K0
Java 如何抛出异常、自定义异常[通俗易懂]
Python 自定义异常与抛出异常
自定义异常与抛出异常 自定义抛出异常raise 将信息以报错的形式抛出 用法 rais 异常类型(message) 参数 message:错误信息 返回值 无返回值 自定义异常类 继承基类——Exception 在构造函数中定义错误信息 代码 # coding:utf-8 def test(number): if number == 100: raise ValueError('number 不可以是100') return number # result = test
Zkeq
2022/05/18
7380
Java-抛出异常、自定义异常类
众所周知,当程序运行过程中,如果遇到了错误(比如数组下标越界,空指针等)程序就会自动终止,但这种错误一般是偶然的,可能是用户输入不呵呵程序编写者的意图导致,而不是程序本身问题,这是我们要做的,是让操作者知道发生了什么事情,而不是直截了当的结束程序,这时我们就用到了异常处理(语句发生错误时,只抛出异常,而不结束程序)。
圆号本昊
2021/09/24
1.4K0
Java-抛出异常、自定义异常类
python如何抛出异常_python自定义异常
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。
全栈程序员站长
2022/11/02
7200
Python抛出异常_python抛出异常的作用
在python中不同的异常可以用不同的类型(python中统一了类与类型,类型即类)去标识,不同的类对象标识不同的异常,一个异常标识一种错误
全栈程序员站长
2022/11/02
2.6K0
python抛出异常和捕获异常_python自定义异常
有时,程序需要主动抛出异常,因为某些情况下,你需要反馈消息给更上层的调用者,告诉它有一些异常情况发生,而你抛出异常的地方,没有能力处理它,因此需要向上抛出异常。
全栈程序员站长
2022/11/07
9840
自定义异常并抛出,捕获
# 需求:类创建人的对象:初始化年龄0,让用户输入自己的年龄:1-100合法 小于1或大于100 抛出异常 # 自定义异常 -- 自定义异常类 也要继承exception class AgeError(Exception): def __init__(self): self.error_msg = 'AgeError: 年龄应该是在1-100之间!' def __str__(self): return self.error_msg class Person
汪凡
2018/05/29
5680
python自定义异常和主动抛出异常(raise)
有时候python自带异常不够用,如同java,python也可以自定义异常,并且可以手动抛出。注意,自定义异常只能由自己抛出。python解释器是不知道用户自定义异常是什么鬼的。
全栈程序员站长
2022/11/02
1.6K0
feign client抛出自定义异常
十毛
2023/10/16
7520
异常1.异常简介2.捕获异常3.异常的传递4.抛出自定义的异常 5.异常处理中抛出异常
打开一个不存在的文件123.txt,当找不到123.txt文件时,就会抛出给我们一个IOError类型的错误,No such file or directory:123.txt(没有123.txt这样的文件或目录)
Python攻城狮
2018/08/23
1.9K0
异常1.异常简介2.捕获异常3.异常的传递4.抛出自定义的异常
5.异常处理中抛出异常
python抛出异常会终止程序吗_python抛出异常的作用
当python执行无效的代码时,就会抛出异常。用 try 和 catch 语句可以处理异常,以避免程序的崩溃。我们也可以在代码中抛出自己的异常,抛出异常意味着 停止运行这个函数中的代码,将程序执行转到except语句
全栈程序员站长
2022/11/02
1.8K0
【Kotlin】空安全 ⑤ ( 异常处理 | 捕获并处理异常 | 抛出自定义异常 )
如果变量为空 , 则直接抛出 kotlin.KotlinNullPointerException 异常 ;
韩曙亮
2023/03/30
8570
【Kotlin】空安全 ⑤ ( 异常处理 | 捕获并处理异常 | 抛出自定义异常 )
python3异常可直接抛出_python自定义异常
这篇文章主要介绍python抛出异常的方法,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完!
全栈程序员站长
2022/11/02
5380
android 抛出FileNotFoundException异常
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。
全栈程序员站长
2022/11/17
1.6K0
点击加载更多

相似问题

Ajax调用返回函数而不是数据

112

返回空值而不是xml数据的Ajax调用

11

Ajax返回对象而不是数据

20

jQuery ajax返回负数而不是内容

10

jQuery .find()对来自.ajax()调用的数据返回"[object Object]“,而不是div

173
添加站长 进交流群

领取专属 10元无门槛券

AI混元助手 在线答疑

扫码加入开发者社群
关注 腾讯云开发者公众号

洞察 腾讯核心技术

剖析业界实践案例

扫码关注腾讯云开发者公众号
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档