-
Notifications
You must be signed in to change notification settings - Fork 11
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
watchOS support #5
Comments
Hmm, don't know, never really needed watchOS symbolication, but it seems to use the same underlying formats and tools. So it should be supported as long as symbol files are available for watch app - though perhaps they are burried inside iPhone symbols and you need to use cmd line argument to point symbolicator to... |
I can confirm that the steps in the link in my original post work for watchOS. Just tried symbolicator by just specifying a path to the crash log (it's sitting next to the watchOS extension app/bundle), but unfortunately it doesn't work out of the box:
|
Here's also an line from the log:
|
I think it's just not finding symbol files - are they present in Xcode Archives folder? Otherwise you can try with |
Ah, that might be it as this is a Xamarin project. What does the symbolicator expect to find in the archives folder? |
Xcode uses
(this is from memory so there might be some small difference). Symbolicator expects |
Thanks for the clarification! In Xamarin's case, an example folder structure would be |
In this case try |
No dice yet, unfortunately. Even if the path to the archives is non-existent, it doesn't actually complain about not finding the dwarf files (contrary to what I see in the code), so I'm not sure what's going on. :/ |
Tried printing inside |
Okay, narrowed it down to this: FileSymbolicator.swift ( let binary = (match.groups[1] as! RxMatchGroup).value!.trimmingCharacters(in: whitespace)
guard let baseAddress = baseAddressForSymbolication(contents, identifier: binary) else {
// This is being hit for every line/match
continue
} |
If it helps, here's an actual crash report. |
Crash report seems normal. Seems like regexes in |
To be more precise: "base address" should return
|
(where
And then iterates over all and uses |
Hmm, I tried printing the
|
Never mind, that's not it either. Tried replacing tabs with spaces for the entire log contents, but same result. |
Oh, I guess it can't find the identifier because the format is |
Never mind, got confused for a bit there and didn't remember that it's looking for the identifier/UUID under binary images, where the addresses don't really matter. |
Got it. I marked the whitespace checks in the regex optional (see here) and it's now properly detecting the identifier. :) |
Oh, cool! Thought it was something with regex/file format, am not behind computer till today evening or tomorrow so couldn't test. Would you mind creating pull request with fix? I want to test with existing crashes to make sure it works everywhere and merge so others can benefit from the solution... |
To be honest I'd rather wait until I have it working with these crash logs, then push a PR, if that's alright? Trying to get it to find the dwarf files now, since it's not finding them. EDIT: It's not actually enumerating any of the subdirectories under the base path, not sure why. |
Ok, that's perfect! It's first time Xamarin issue, so adding support for it out of the box would be real nice:
I can help along the way, though don't have Xamarin so can't test. But I can prepare the basics then you can tackle the details from there... Anyway, ping me when/if you decide to proceed - no pressure :) |
Could this potentially support watchOS out of the box?
The steps for symbolicating watchOS crash logs are here. Haven't found any other articles or documentation on how to do it, except for that single post (from 2015).
Having to symbolicate one line at a time, as well as manually fetching UUIDs, checking architectures and combing through log files is a pain, so I thought about creating a small console app that does this for me and happened to stumble upon your symbolicator. :)
I'm happy to help test/develop this if you're interested.
The text was updated successfully, but these errors were encountered: