[Mono-bugs] [Bug 604911] Unable to debug blogengine locally in mono

bugzilla_noreply at novell.com bugzilla_noreply at novell.com
Wed May 19 01:35:56 EDT 2010



--- Comment #5 from Martin Baulig <martin at novell.com> 2010-05-19 05:35:55 UTC ---
Copy&paste from Linux didn't work, this is the file from Comment 4:

After I long debugging night, I think I finally found the problem which
currently prevents us from
debugging any ASP.NET applications locally on Windows (bug #604911):

I can now even reproduce this with a small testcase - the problem
happens whenever the
application's main thread has already exited and another thread stops,
so we're trying to get
a backtrace.

This problem currently only exists on Windows. I added some more
debugging printf's
and finally figured out what's going on (I attached the logfile).

After hitting the breakpoint, MonoVS calls GET_FRAME_INFO to get a
stacktrace. At that time,
suspend_count is 1, so we're calling wait_for_suspend().

In count_thread(), I added

DEBUG(1, fprintf (log_file, " Count thread: %p - %p - %p - %d,%d\n",
tls, tls->thread, tls->thread ? tls->thread->tid : NULL, tls->suspended,

and as you can see in the logfile, it doesn't consider 00000F98 as being

That 00000F98 is the first thread we create, and at the beginning that
thread is actually suspended
and resumed like the other one, but then that suddenly stops. We keep
sending it interrupt signals,
but it never seems to get suspended anymore.

My assumption is that that's when the Main() function exited and the
main thread returns to unmanaged
code in the runtime.

I just checked and it's working just fine on Linux, so this seems to be
some weird Windows-only problem.

Configure bugmail: http://bugzilla.novell.com/userprefs.cgi?tab=email
------- You are receiving this mail because: -------
You are the QA contact for the bug.

More information about the mono-bugs mailing list