Note that there are some explanatory texts on larger screens.

plurals
  1. POIs There a Way to Find Out COM Related Contention Like Marshal que in .NET Application
    primarykey
    data
    text
    <p>I have a .net application which uses COM. When run it in multithread mode in a 24-Cores server, it runs very slow. But if I change it to single-thread mode, It's much more quick. At first I want to use windbg with SOS to find out if there is a lock que or some thing which slow down the application, but !syncblk of SOS extension returns all 0 for lock objects: like</p> <pre><code> Index SyncBlock MonitorHeld Recursion Owning Thread Info SyncBlock Owner 1 00000000 0 0 00000000 none 0 Free 2 0019e1c0 0 0 00000000 none 00bb1644 System.Diagnostics.Eventing.EventProvider+ClassicEtw+ControlCallback 3 00000000 0 0 00000000 none 0 Free 4 00000000 0 0 00000000 none 0 Free 5 00000000 0 0 00000000 none 0 Free 6 00000000 0 0 00000000 none 0 Free 7 00000000 0 0 00000000 none 0 Free 8 00000000 0 0 00000000 none 0 Free 9 00000000 0 0 00000000 none 0 Free 10 00000000 0 0 00000000 none 0 Free 11 0019e394 0 0 00000000 none 00d2f2fc Bid+CtrlCB 12 0019e3c8 0 0 00000000 none 00c38b7c System.__ComObject 13 0019e3fc 0 0 00000000 none 00c38bbc System.__ComObject 14 00000000 0 0 00000000 none 0 Free ......... 11303 460e30a4 0 0 00000000 none 5d42530c System.__ComObject 11304 460e3070 0 0 00000000 none 5d423f64 System.__ComObject </code></pre> <p>Some one told me that SOS is not the right tool for COM while I think that COM is wrapped by .net framework using RCW, which is completly managed object. How ever, I am open to anything or tools, does any one know the problem with the result of !syncblk, or someother tool?</p> <p>PS: I was using in-proc MTA COM Server. Mostly I use COM Objects as interfaces but I call COM procedures very frequently and the performance is very bad in multithread mode.</p>
    singulars
    1. This table or related slice is empty.
    1. This table or related slice is empty.
    plurals
    1. This table or related slice is empty.
    1. This table or related slice is empty.
    1. This table or related slice is empty.
    1. This table or related slice is empty.
    1. This table or related slice is empty.
 

Querying!

 
Guidance

SQuiL has stopped working due to an internal error.

If you are curious you may find further information in the browser console, which is accessible through the devtools (F12).

Reload