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

feat: windows native error & obfuscation support #2286

Open
wants to merge 64 commits into
base: main
Choose a base branch
from

Conversation

vaind
Copy link
Collaborator

@vaind vaind commented Sep 12, 2024

📜 Description

This adds support for:

  • catching native crashes on Windows
  • server-side symbolication of obfuscated dart errors on Windows

💡 Motivation and Context

💚 How did you test it?

Added tests

📝 Checklist

  • I reviewed submitted code
  • I added tests to verify changes
  • No new PII added or SDK only sends newly added PII if sendDefaultPii is enabled
  • I updated the docs if needed
  • All tests passing
  • No breaking changes

🔮 Next steps

Copy link
Contributor

github-actions bot commented Sep 12, 2024

Messages
📖 Do not forget to update Sentry-docs with your feature once the pull request gets approved.

Generated by 🚫 dangerJS against 72547cf

@vaind vaind marked this pull request as ready for review September 20, 2024 15:06
Copy link
Contributor

@buenaflor buenaflor left a comment

Choose a reason for hiding this comment

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

overall looks good 👍

since this is a big PR I'll do another pass later

@@ -91,6 +91,7 @@ class SentryStackFrame {
/// The "package" the frame was contained in.
final String? package;

// TODO what is this? doesn't seem to be part of the spec https://develop.sentry.dev/sdk/event-payloads/stacktrace/
final bool? native;
Copy link
Contributor

Choose a reason for hiding this comment

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

hm not sure if this is even used in the sentry product

flutter/lib/src/native/c/sentry_native.dart Outdated Show resolved Hide resolved
extension on String {
binding.sentry_value_u toNativeValue() {
final cValue = toNativeUtf8();
final result = SentryNative.native.value_new_string(cValue.cast());
Copy link
Contributor

Choose a reason for hiding this comment

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

is there a chance when cValue.cast() throws an exception that cValue is never freed?

Copy link
Collaborator Author

Choose a reason for hiding this comment

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

I don't believe cast() can throw

Copy link
Collaborator Author

Choose a reason for hiding this comment

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

but I'll check

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.

2 participants