Bug 14287 - Breakpoints stepping into wrong code files
Summary: Breakpoints stepping into wrong code files
Status: RESOLVED FIXED
Alias: None
Product: Visual Studio Extensions
Classification: Xamarin
Component: Debugger ()
Version: 1.3.x
Hardware: PC Windows
: --- normal
Target Milestone: ---
Assignee: Vinicius Jarina
URL:
Depends on:
Blocks:
 
Reported: 2013-08-27 18:23 UTC by Bryan Moulton
Modified: 2016-05-10 17:04 UTC (History)
11 users (show)

Tags:
Is this bug a regression?: ---
Last known good build:


Attachments
Test Project (373.74 KB, application/zip)
2013-08-27 18:23 UTC, Bryan Moulton
Details


Notice (2018-05-24): bugzilla.xamarin.com is now in read-only mode.

Please join us on Visual Studio Developer Community and in the Xamarin and 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 Links.

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 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.

Related Links:
Status:
RESOLVED FIXED

Description Bryan Moulton 2013-08-27 18:23:00 UTC
Created attachment 4730 [details]
Test Project

In reference to case #43975

To see the problem, put some breakpoints in the MonoTouch.Dialog.VS2010 library project in DialogViewController.cs in all constructors and ViewWillAppear. Also put a breakpoint in main.cs line: 34 where the DialogViewController is constructed. Run the project.



The breakpoint in main.cs will get hit but when I try and step into that, it goes to the wrong source line and file. For me it shows GlassButton.cs line 49, which is the BeginTracking method of GlassButton. Note: GlassButton is a class that is not even used in this sample project. If you try and step through this shown source code you will get strange debugger behavior as well as not being able to look at any locals, etc…



The debug output during this is shown below. Some of these resolved breakpoints are ones I set but some of the names do not correspond the methods I had breakpoints on. I may be interpreting this incorrectly though. I only places breakpoints as noted above.





Loaded assembly: /Users/david/Library/Caches/Xamarin/mtbs/builds/Issue1/e77523aa-fd02-47c8-94d6-6c39d64c7245/assemblies/Issue1.exe

Loaded assembly: /Users/david/Library/Caches/Xamarin/mtbs/builds/Issue1/e77523aa-fd02-47c8-94d6-6c39d64c7245/assemblies/MonoTouch.Dialog.VS2010.dll

Loaded assembly: /Developer/MonoTouch/usr/lib/mono/2.1/System.Xml.dll [External]

Resolved pending breakpoint at 'C:\Users\David.HOME\Documents\Visual Studio 2010\Projects\Temp-Test\Debugger_issue\Main.cs:34,1' to bool ExpoDev.AppDelegate.FinishedLaunching (MonoTouch.UIKit.UIApplication app, MonoTouch.Foundation.NSDictionary options) [0x00007].

Resolved pending breakpoint at 'C:\Users\David.HOME\Documents\Visual Studio 2010\Projects\Temp-Test\Debugger_issue\My.MonoTouch.Dialog\MonoTouch.Dialog\DialogViewController.cs:672,1' to void MonoTouch.Dialog.DialogViewController.set_Root (MonoTouch.Dialog.RootElement value) [0x00007].

Resolved pending breakpoint at 'C:\Users\David.HOME\Documents\Visual Studio 2010\Projects\Temp-Test\Debugger_issue\My.MonoTouch.Dialog\MonoTouch.Dialog\DialogViewController.cs:730,1' to MonoTouch.Dialog.RootElement MonoTouch.Dialog.DialogViewController.get_Root () [0x00001].

Resolved pending breakpoint at 'C:\Users\David.HOME\Documents\Visual Studio 2010\Projects\Temp-Test\Debugger_issue\My.MonoTouch.Dialog\MonoTouch.Dialog\DialogViewController.cs:737,1' to void MonoTouch.Dialog.DialogViewController.set_Root (MonoTouch.Dialog.RootElement value) [0x00010].

Resolved pending breakpoint at 'C:\Users\David.HOME\Documents\Visual Studio 2010\Projects\Temp-Test\Debugger_issue\My.MonoTouch.Dialog\MonoTouch.Dialog\DialogViewController.cs:743,1' to void MonoTouch.Dialog.DialogViewController.add_RefreshRequested (System.EventHandler value) [0x00010].

Resolved pending breakpoint at 'C:\Users\David.HOME\Documents\Visual Studio 2010\Projects\Temp-Test\Debugger_issue\My.MonoTouch.Dialog\MonoTouch.Dialog\DialogViewController.cs:761,1' to void MonoTouch.Dialog.DialogViewController.remove_RefreshRequested (System.EventHandler value) [0x00010].

Resolved pending breakpoint at 'C:\Users\David.HOME\Documents\Visual Studio 2010\Projects\Temp-Test\Debugger_issue\My.MonoTouch.Dialog\MonoTouch.Dialog\DialogViewController.cs:768,1' to bool MonoTouch.Dialog.DialogViewController.get_EnableEditing () [0x00010].

Resolved pending breakpoint at 'C:\Users\David.HOME\Documents\Visual Studio 2010\Projects\Temp-Test\Debugger_issue\My.MonoTouch.Dialog\MonoTouch.Dialog\DialogViewController.cs:777,1' to void MonoTouch.Dialog.DialogViewController.set_EnableEditing (bool value) [0x00001].





Now let it continue to run. The project runs as expected so clearly the right code is getting called. However, the none of the breakpoints in DialogViewController ever get hit including ViewWillAppear even though clearly, that code is running at some point.



This behavior is consistent right down to the point that it always just to the same wrong location. Cleaning, rebuilding all, even changing code around and it still ends up in the (same) wrong source locations when debugging.



Another thing to note with this project. Almost time I attempt to end the debugging session is VS, this causes VS to crash.
Comment 1 Oleg Demchenko 2013-10-07 18:43:42 UTC
Exploring mtvs version is 1.6.60.0
Mac side version is 7.0.3.55

Only one breakpoint in main.cs (FinishedLaunching method) hit for me with output:

Resolved pending breakpoint at '\\vmware-host\shared folders\Загрузки\Debugger_issue\Debugger_issue\Main.cs:33,1' to bool ExpoDev.AppDelegate.FinishedLaunching (MonoTouch.UIKit.UIApplication app, MonoTouch.Foundation.NSDictionary options) [0x00001].

No crash at the end of debug session.
Comment 2 Alan McGovern 2013-11-14 12:03:53 UTC
This bug cannot be reproduced in the latest builds. We had a known issue where the debug files were not always copied over to the mac and that has more than likely fixed this bug.
Comment 3 Francesco Colombo 2015-07-15 09:48:44 UTC
Hi, I'm having the same issue with the release of 3.11.666 :(

As you can see in the output i get
07-15 15:47:49.605 W/art     (10277): JNI RegisterNativeMethods: attempt to register 0 native methods for md50cf53090f6f4de1980a0bf4fd6ed51cf.ItemListView
Resolved pending breakpoint at 'ImageLoader.cs:140,1' to void AdMaiora.CoreXM.UI.ItemListView.Initialize () [0x00024].
Resolved pending breakpoint at 'ImageLoader.cs:143,1' to void AdMaiora.CoreXM.UI.ItemListView.Initialize () [0x0003d].
Resolved pending breakpoint at 'ImageLoader.cs:147,1' to void AdMaiora.CoreXM.UI.ItemListView.Initialize () [0x00064].

But actually ImageLoader.cs and ItemListView.cs are two separated files :(