Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[mtouch] MVID for symblication ought to be lower case and with no - #749

Merged
merged 2 commits into from
Sep 2, 2016

Conversation

mandel-macaque
Copy link
Member

The situation was the following. Initially we were not using the mono-symbolicate tool to copy the .dll and .mdbs to the destination directory. This change does the following:

  • Ensures that we generate the aot files in the same dir rather than a dir per target.
  • Copies the aot files to the final directory "{AppName}.app.msym"
  • Uses the mono-symbolicate tool to copy the dlls and mdb files to the final directory.
  • The manifest generation has not been changed.

With this fix we ensure that the MVID expected by mono-symbolication is correct fixing bug 43417.

An example of the final dir is as follows:

Mandels-Pro-Work:xamarin-macios mandel$ tree ~/Desktop/HelloWorld_iPhone.app.msym/
/Users/mandel/Desktop/HelloWorld_iPhone.app.msym/
├── 0e8c5537972d4672985f1d5ec5980638
│   ├── Xamarin.iOS.dll
│   └── Xamarin.iOS.dll.mdb
├── 1a76169a10a8ef934b8a73aeb5977ee0
│   └── System.dll.msym
├── 38b7aaed099d03b5b7e227188c400225
│   └── mscorlib.dll.msym
├── 4fc7e750559cc63ebdc63bf107929edc
│   └── Xamarin.iOS.dll.msym
├── 6364756423e18f6b1824349299a8cb1f
│   └── System.dll.msym
├── 79cb41f6065be17b296773a55e1c62d2
│   └── HelloWorld_iPhone.exe.msym
├── 81ff3ca87ab43fc35042b6ba84fe72a2
│   └── mscorlib.dll.msym
├── 8f5231942fba4592b4727661a67f3b3a
│   ├── HelloWorld_iPhone.exe
│   └── HelloWorld_iPhone.exe.mdb
├── 958ce760f60ff918715a9366c0ccb2ce
│   └── Xamarin.iOS.dll.msym
├── bd26ee5c4c2f43a5b917f38a229cf5ed
│   ├── System.dll
│   └── System.dll.mdb
├── c124e0f181a342f6a521b25ce0d57683
│   ├── Xamarin.iOS.dll
│   └── Xamarin.iOS.dll.mdb
├── cb9a0f07476243578f1298f8c19ba9de
│   ├── mscorlib.dll
│   └── mscorlib.dll.mdb
├── cf04013685d212bcafc795dcd643f643
│   └── HelloWorld_iPhone.exe.msym
└── manifest.xml

@esdrubal
Copy link

esdrubal commented Sep 2, 2016

msym directory looks great! 👍
mono-symbolicate should have no issues using the msym directory shown.

var dir = new DirectoryInfo(src);
var dirs = dir.GetDirectories();

if (!dir.Exists)
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

You're calling dir.GetDirectories() before dir.Exists. Does that work if the directory doesn't exist?

@monojenkins
Copy link
Collaborator

Build failure

return;
}

var dirs = dir.GetDirectories ();
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Nitpicking here: it looks weird to call GetDirectories here, but only use the result 10 lines below. Maybe move this line to just before using dirs?

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

That can be fixed later :-)
Let's try to make it work first (then backport to cycle8).

@monojenkins
Copy link
Collaborator

Build success

@spouliot spouliot merged commit 46e6f06 into xamarin:master Sep 2, 2016
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

6 participants