Notice (2018-05-24): bugzilla.xamarin.com is now in
Please join us on
Visual Studio Developer Community and in the
Mono organizations on
GitHub to continue tracking issues. Bugzilla will remain
available for reference in read-only mode. We will continue to work
on open Bugzilla bugs, copy them to the new locations
as needed for follow-up, and add the new items under Related
Our sincere thanks to everyone who has contributed on this bug
tracker over the years. Thanks also for your understanding as we
make these adjustments and improvements for the future.
Please create a new report on
GitHub or Developer Community with
your current version information, steps to reproduce, and relevant error
messages or log files if you are hitting an issue that looks similar to
this resolved bug and you do not yet see a matching new report.
Created attachment 3866 [details]
While at a breakpoint, I attempt to step in. Instead of stepping in, my debugging session going into a state where I'm no longer at a breakpoint but the app i'm debugging is still hung.
I followed the steps here (http://monodevelop.com/Developers/Reporting_Bugs#Debugging_Hangs_on_Mac_and_Linux) and have attached the gdb stack. The Kill command didn't output anything resembling a stack.
I can reproduce this often, so feel free to ask for more information.
How can I reproduce this ?
The source code base I'm working on is 93 projects and thousands of files so I can't send my current steps to reproduce.
Is there a way I can send a stack trace with symbols or something that'd be useful?
One other interesting thing to note is if the thing I'm stepping into has a breakpoint at some point, we'll skip directly to that breakpoint when I step in (unless that thing is a property getter/setter).
I don't have a log in for that website so I can't check.
Is the problem reproducible ? I.e. does it always happen when stepping from a specific location in the code ?
We hit it enough times around here that the general advice is that "don't use step in, it doesn't work".
Once I find a spot where step in freaks out, I can restart the debug session and reproduce the behavior over and over.
Could you paste the code around the spot you are trying to step in, plus the start of the method you are trying to step into ? Also, what version of xamarin.mac is this ?
Do the other places where stepping fails are inside iterators as well, or the problem happens inside normal methods as well ?
Is 'Step over properties and operators' enabled in Preferences/Debugger ? Does turning it off fix this problem ?
It was turned on, and turning it off didn't fix my issue, but it did make me think of something. In this example:
internal Bar B
return new Bar();
internal void Buzz()
public static void Main(string args)
Foo f = new Foo();
Set a breakpoint on the console line and the f.B.Buzz();
If you have step over set, and step into the f.B.Buzz(), you will skip your Console breakpoint and jump to the next line.
Yes, that is a known problem, I tought that it might be the cause of this bug too, apparently, its not.
Could you run xamarin studio from the command line like this:
MONO_SDB_ENV_OPTIONS=loglevel=10 "/Applications/Xamarin Studio.app/Contents/MacOS/XamarinStudio"
When debugging a xamarin.mac app in this xamarin studio instance, the application output pane should contain lots of debug information. Could you run the app until the breakpoint, save the contents of the output pane into a log file, step in once, then save the contents into another log file, and attach both files ?
That didn't work out, the output should include logging messages from the runtime. Are you sure you set
the environment variable 'MONO_SDB_ENV_OPTIONS' to 'loglevel=10' before starting xamarin studio from the command line ?
Created attachment 3881 [details]
The real logs
The BeforeStep.txt file looks ok, however the AfterStep.txt file seems truncated at the beginning, it is missing the logging for the beginning of the single step operation. I found an easier method, try
setting MONO_SDB_ENV_OPTIONS to: "loglevel=10,logfile=$HOME/log". This way, the log messages will go to the file $HOME/log, so there is no need to copy them.
From the log, it looks like the 'Step over properties and operators' option is still turned on. There is a known bug where using this option could slow down debugging to the point that the program appears to hang. Could you re-run the test with this option turned off ?
The issue with stepping over properties will be fixed in our mono 3.0 based release, however, the changes required were too complex to backport to the current mono 2.10 based release.
This should be fixed with the new release