Note that there are some explanatory texts on larger screens.

plurals
  1. POObtaining stack trace info from all currently paused threads (managed)
    primarykey
    data
    text
    <p>I have a windows c# application (WPF) - it's quite large and a lot of multithreading is going on.</p> <p>My problem is that i know of several deadlocks which exist in the application here and there first - and secondly - i am afraid to release it without a way of detecting potential new ones and without the capability of somehow being reported back to us.</p> <p>The application has a companion - a small executable (wpf c# again) called Launcher - it is used to launch the real process from itself.</p> <p>Why? Because i am redirecting all error and outer output when the main application crashes - to the Launcher.</p> <p>In turn - when a crash is detected - the launcher launches another executable - BugReports - passes the error information to it.</p> <p>Later on - BugReports submits this info and some user entered comments to a web service.</p> <p>The setup is like this:</p> <p>Launcher - used to launch the main app and detect when it exits MainApp - started by Launcher BugReports - launched by Launcher - when a crash has been detected. Crash information obtained by Launcher is passed by command line to BugReports. It submits the info to a web service.</p> <p>Confusing i know :)</p> <p>This works perfectly for unhandled exceptions butt.....</p> <p>In the last version of Launcher i decided to integrate a WatchDog timer. It is supposed to monitor MainApp every 30 seconds and detect if it is in a locked up situation (deadlock for example).</p> <p>If it detects that - it will kill it and launch BugReports again.</p> <p>Works perfectly - every time the MainApp stalls - it is detected and all the necessary processes work as they should.</p> <p>THE PROBLEM: </p> <p>I need to obtain a 'snapshot' somehow of the threads state in MainApp - where they are at (module, method), what state they are in and whatever more useful information i can obtain so we can find out where the potential deadlock has occurred.</p> <p>Now i've looked up half the internet and i am not able to find out such i thing the way i want it.</p> <p>Basically - the idea is to obtain a birds eye look - as if i were pausing the MainApp in the visual studio debugger and could check out where each thread is at and what the problem is.</p> <p>Is this possible?</p> <p>Any guidelines to what should i dig into more?</p> <p>Thanks, Martin K.</p>
    singulars
    1. This table or related slice is empty.
    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.
 

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