Bug 57025 - iOS is automatically enabling Strip native debugging symbols
Summary: iOS is automatically enabling Strip native debugging symbols
Alias: None
Product: iOS
Classification: Xamarin
Component: General ()
Version: XI 10.12 (d15-3)
Hardware: PC Mac OS
: --- normal
Target Milestone: Untriaged
Assignee: Bugzilla
Depends on:
Reported: 2017-05-31 22:24 UTC by James Clancey
Modified: 2017-06-01 14:52 UTC (History)
4 users (show)

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

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 or GitHub 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:

Description James Clancey 2017-05-31 22:24:45 UTC
Something is enabling "Strip native debugging symbols" for debug builds. This makes the debugger stop working. We need to not allow that box to be checked while we debug, similar to llvm. Also we shouldnt auto set it for debug builds

Comment 1 James Clancey 2017-05-31 22:27:44 UTC
apparently it is an opt out, not opt in....

<MtouchNoSymbolStrip>true</MtouchNoSymbolStrip> is required. This is very bad, if the key doesn't exist in the csproj, we should add it with True for debug builds.
without it the debugger doesn't work
Comment 2 Vincent Dondain [MSFT] 2017-05-31 23:16:43 UTC

So I changed the behavior of this option for new project: https://github.com/xamarin/md-addins/pull/1376

This matches what you're expecting because we're enabling striping only for device|release.

It's not clear the "Something is enabling "Strip native debugging symbols" for debug builds". Are you talking about new projects? Are you talking about the fact that indeed if you don't opt out, striping is enabled by default?

This has always been the behavior and I think people were able to debug so would you mind giving us a test case and expending on how exactly debugging doesn't work?

Thanks (:
Comment 3 Chris Hardy [MSFT] 2017-05-31 23:50:07 UTC
Just for some extra checks in here, this works fine for me on both the Alpha and Stable release of Visual Studio for Mac (7.1 and 7.0.1) with both "Strip native debugging symbols" on and off on an old project and a new Single View iOS app.

As Vincent said, if you have a project that shows off this issue, it'd be great to see as well as your version info and log files, thanks!
Comment 4 Rolf Bjarne Kvinge [MSFT] 2017-06-01 07:31:48 UTC
"Strip native debugging symbols" does not affect managed debugging in any way, it only affects debugging with lldb (which is exceedingly rare), or native stack traces in the device log. Crash reports can still be symbolicated offline using .dSYMs.
Comment 5 Rolf Bjarne Kvinge [MSFT] 2017-06-01 07:35:02 UTC
However I've seen a few bug reports about debugging not working (bug #56781, bug #56778, bug #56893), you might be running into the same thing.
Comment 6 James Clancey 2017-06-01 14:36:19 UTC
So a fresh clone fixed debugging. We are keeping around something that is breaking it :(
Comment 7 Rolf Bjarne Kvinge [MSFT] 2017-06-01 14:52:12 UTC
OK, I'll close this then. Feel free to reopen if you run into it again.