[Mono-bugs] [Bug 77360][Wis] New - Ability to see current stack traces from every thread and continue executing

bugzilla-daemon at bugzilla.ximian.com bugzilla-daemon at bugzilla.ximian.com
Wed Jan 25 17:28:55 EST 2006

Please do not reply to this email- if you want to comment on the bug, go to the
URL shown below and enter your comments there.

Changed by joeshaw at novell.com.


--- shadow/77360	2006-01-25 17:28:55.000000000 -0500
+++ shadow/77360.tmp.5566	2006-01-25 17:28:55.000000000 -0500
@@ -0,0 +1,35 @@
+Bug#: 77360
+Product: Mono: Runtime
+Version: 1.1
+OS Details: 
+Status: NEW   
+Priority: Wishlist
+Component: JIT
+AssignedTo: lupus at ximian.com                            
+ReportedBy: joeshaw at novell.com               
+QAContact: mono-bugs at ximian.com
+TargetMilestone: ---
+Summary: Ability to see current stack traces from every thread and continue executing
+Java has this neat feature in which you can send a signal to a process, and
+it will print a managed stack trace for every thread.  I think it might
+also include some info about the thread, like whether it is running,
+suspended, waiting on something, whatever.  The best part about it is that
+after doing this, execution in the threads continues.
+For mono, we can get it for the current thread by sending SIGQUIT, but this
+causes the program to exit (or hang, I forget).
+I have a very hackish way of implementing this in managed code, though.  I
+have a special thread wrapper class, and we keep around a list of all of
+the running threads.  I override the SIGQUIT handler and when it is
+executed, I abort all of the wrapped threads, which cause
+ThreadAbortExceptions to be thrown in each.  I then handle this exception
+to nicely print out the exception.  It's hardly ideal or exact... obviously
+there are a lot of problems with a setup like this, so a solution inside
+the runtime would be extremely helpful.

More information about the mono-bugs mailing list