-
Notifications
You must be signed in to change notification settings - Fork 4
Expand file tree
/
Copy pathcheckDeadLock.dbg
More file actions
34 lines (24 loc) · 1020 Bytes
/
checkDeadLock.dbg
File metadata and controls
34 lines (24 loc) · 1020 Bytes
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
.echo +++++++ loading ${$arg0}
.echo
.echo analysis lock information in current thread for deadlock case ...
aS ${/v:deadlockFolder} ${temp}\deadlock\result;
.block {
.foreach /pS 4 ( var {.shell -ci "*" if exist "${deadlockFolder}" echo has folder } )
{
.echo
.echo .shell -ci "*" rd /f/q "${deadlockFolder}" ;
}
.foreach /pS 4 ( var {.shell -ci "*" if not exist "${deadlockFolder}" echo no folder } )
{
.echo
.echo ready to create directory: ${deadlockFolder} ;
.shell -ci "*" mkdir "${deadlockFolder}" & exit ;
}
.foreach /pS 3 /ps 99 ( val {.shell -ci "kv" find /i "RtlEnterCriticalSection"} ) { !cs -o ${val} }
$$ .foreach /pS 3 /ps 99 ( val {.shell -ci "kv" find /i "RtlEnterCriticalSection"} ) { .shell -ci "!cs -o ${val}" find /v "^*" > "${analysisCache}\1.txt" & exit ; }
$$ .shell -ci "~*kbc" type "${analysisCache}\1.txt"
$$ .shell -ci "~*kbc" find /v "^*" > "${analysisCache}\stackAll.txt" & exit ;
}
ad ${/v:deadlockFolder};
.echo
.echo ------- exiting ${$arg0}