由买买提看人间百态

boards

本页内容为未名空间相应帖子的节选和存档,一周内的贴子最多显示50字,超过一周显示500字 访问原贴
Programming版 - 这样的deadlock如何debug?
相关主题
计算机供电不稳定会影响程序/线程运行吗?Cannot debug into c# dll until i reboot ?
how to debug multi-thread program?请教一个线程同步的问题。
多线程下的gdb core dump问题debug你们用哪个软件?
多线程程序有什么好的调式方法?How to avoid deadlock ?
java multi-threading project怎么确定它没有deadlock, race condition?《Inside Windows Debugging》英文文字版/EPUB[PDF]
C++ and threading interview questions请问 c++ vs 有啥好的debug工具或者方法吗?
[合集] 忽然发现VC里同一线程的消息函数是无法调用另一个消息函数的...SQL debug step into a store procedure from another one (转载)
HELP:这个死锁是怎么发生的?how to debug
相关话题的讨论汇总
话题: lock话题: deadlock话题: c#话题: debug话题: 死锁
进入Programming版参与讨论
1 (共1页)
L******e
发帖数: 136
1
一个多线程程序,(C#),所有的Lock看起来都没有问题,运行起来会有Deadlock。程
序本身读取多个文件并存入数据库,(SQL server),有可能是C# Lock和SQL server
lock相互产生deadlock。
如何debug这样的情况呢?
s*****n
发帖数: 5488
2
微软的东西, take a dump,然后重启好了。

server

【在 L******e 的大作中提到】
: 一个多线程程序,(C#),所有的Lock看起来都没有问题,运行起来会有Deadlock。程
: 序本身读取多个文件并存入数据库,(SQL server),有可能是C# Lock和SQL server
: lock相互产生deadlock。
: 如何debug这样的情况呢?

L******e
发帖数: 136
3
thanks
L******e
发帖数: 136
4
谢谢楼上的回答。不是说一次暂时解决数据读写问题,而是要从程序里找出哪里产生
Deadlock并且彻底解决这个问题。有什么主意吗?
c*****m
发帖数: 1160
5
你把每一个lock/unlock和对应的线程id都写到log里面,然后在死锁的时候看看log,
不就能发现是哪几个线程造成的死锁了么?
L******e
发帖数: 136
6
Ah, thanks! That is a good idea!
s*****n
发帖数: 5488
7
不是dump 了嘛?注意要等cpu没太多活动,但是心痛没有反应时取得。
然后windbg 打开dump file,!threads, !clrstack一个个看吧.
懒惰的话, 如果是C code, windbg直接支持。 c#网上应该有windbg的死锁检查的。自
己赵忠吧。

【在 L******e 的大作中提到】
: 谢谢楼上的回答。不是说一次暂时解决数据读写问题,而是要从程序里找出哪里产生
: Deadlock并且彻底解决这个问题。有什么主意吗?

L******e
发帖数: 136
8
问题是,很有可能是数据库的Lock和C#的Lock相互死锁,Dump只能查c#Lock吧?
b***i
发帖数: 3043
9
任何一个获取lock的地方都printf,不信查不出来。

server

【在 L******e 的大作中提到】
: 一个多线程程序,(C#),所有的Lock看起来都没有问题,运行起来会有Deadlock。程
: 序本身读取多个文件并存入数据库,(SQL server),有可能是C# Lock和SQL server
: lock相互产生deadlock。
: 如何debug这样的情况呢?

n*w
发帖数: 3393
10
这个很可能和数据库的lock有关。一次写一个table还是多个table?贴个table的
schema?
s*****n
发帖数: 5488
11
unmanageed code.被锁的线程只能是
waitforSingle/multipleOjbect enterCritialSection on top of stack.
留心这些线程。
!CS?记不清楚了,查查手册可以找到关于死锁的。可以列出所有critricalsections.很
容易看到里面挂着多少等待线程。
一句话,dump is your friend.慢慢查吧。你需要系统的symbols.

【在 L******e 的大作中提到】
: 问题是,很有可能是数据库的Lock和C#的Lock相互死锁,Dump只能查c#Lock吧?
c*********e
发帖数: 16335
12
读取多个文件并存入数据库,是同時读入多个文件吗?读每个文件的sqlconnection是一
样的同時的吗?

server

【在 L******e 的大作中提到】
: 一个多线程程序,(C#),所有的Lock看起来都没有问题,运行起来会有Deadlock。程
: 序本身读取多个文件并存入数据库,(SQL server),有可能是C# Lock和SQL server
: lock相互产生deadlock。
: 如何debug这样的情况呢?

1 (共1页)
进入Programming版参与讨论
相关主题
how to debugjava multi-threading project怎么确定它没有deadlock, race condition?
再次请教关于AIX中线程以及优先级的问题C++ and threading interview questions
[合集] can a single thread run into deadlock?[合集] 忽然发现VC里同一线程的消息函数是无法调用另一个消息函数的...
lock-free data structuresHELP:这个死锁是怎么发生的?
计算机供电不稳定会影响程序/线程运行吗?Cannot debug into c# dll until i reboot ?
how to debug multi-thread program?请教一个线程同步的问题。
多线程下的gdb core dump问题debug你们用哪个软件?
多线程程序有什么好的调式方法?How to avoid deadlock ?
相关话题的讨论汇总
话题: lock话题: deadlock话题: c#话题: debug话题: 死锁