-
-
Notifications
You must be signed in to change notification settings - Fork 43
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
Add breakpad support for Windows #363
Conversation
Instructions and example for changelogPlease add an entry to Example: ## Unreleased
- Add breakpad support for Windows ([#363](https://github.com/getsentry/sentry-unreal/pull/363)) If none of the above apply, you can opt out of this check by adding |
@tustanivsky I'm intrigued RE: "The key difference it introduces for the crash-capturing flow is that game has to be re-launched in order to send captured crash to Sentry." - I can imagine there are cases where the process won't be restarted on the exact same code, or even potentially the local persistence might have been reset. For example, if a Linux Server is within a Docker Container and doesn't have a mounted volume for persistence or an update has been pushed since the title crashed (meaning a brand new container / image) Is this a hard limitation of Breakpad? Or is there something that can be done to ensure crashes are properly tracked in the above scenarios. |
Yes, that's expected We haven't come up with the final decision regarding migrating to |
That makes sense, thanks for confirming @tustanivsky - Once it's in a testable state, let me know, I'd be up for doing some testing comparing the two. |
The branch is ready for testing so feel free to give |
Thanks for confirming @tustanivsky - I've tried testing this locally and didn't see crashes uploaded on a Windows Cooked Build. The data in the .sentry-native folder doesn't appear to demonstrate any crash reports and the last_crash file has 2023-08-17T10:26:24.830Z as the timestamp, which doesn't seem correct. However, on second boot of the client, after Sentry Init'd it did appear to try and send something, although, got a 404?
|
@tustanivsky Did you enable the |
I'll do some testing around that today, I thought I did but maybe I missed it - Is that a requirement for breakpad? |
Yes, the setup should be the same as it was for Crashpad. |
Still been having some issues during testing, but I believe I spotted where the mistake was made earlier. Will keep on investigating. |
@tustanivsky Based on further discussions with the team (And other projects as well) If breakpad is a route which is taken for this plugin, it might be worth having options to switch between Crashpad or Breakpad. There are some situations where breakpad is not suitable. |
@Edstub207 For now we've decided to move on with |
This PR switches
sentry-native
backend fromcrashpad
tobreakpad
. It allows Sentry to comply with the UE Marketplace publishing rules (2.6.2.e) which restrict the distribution of certain file types.breakpad
is an in-proc crash handler represented by a library unlike thecrashpad
which is essentially a separate app. The key difference it introduces for the crash-capturing flow is that game has to be re-launched in order to send captured crash to Sentry.