getsentry / getsentry/sentry-dotnet

Unable to enable sentry-native for non-AOT projects that include unmanaged C++ code

Open
#4,806 6 comments 0 reactions 0 assignees View on GitHub
.NET Bug State: Needs Discussion
Dominant language
C#
Stars
770
Forks
248
Avg merge
3d 4h
Merged PRs (30d)
49

Description

### Package

Sentry

### .NET Flavor

.NET

### .NET Version

9.0

### OS

Windows

### OS Version

11

### Development Environment

Visual Studio v18.x

### SDK Version

6.0.0

### Self-Hosted Sentry Version

[sentry.stage.platform.jamflabs.com]()

### Workload Versions

Workload version: 10.0.100-manifests.5fb86115

## Installed Workload Id Manifest Version Installation Source

Use `dotnet workload search` to find additional workloads to install.

### UseSentry or SentrySdk.Init call

SentrySdk.Init(o =>
{
o.Dsn = "[https://6829d42c28db9c7b117a1c0e3ba1f78e@sentry.stage.platform.jamflabs.com/5]()";
o.Debug = true;
o.DiagnosticLevel = SentryLevel.Debug;
});

### Steps to Reproduce

Run `SentrySdk.CauseCrash(Sentry.CrashType.Native);`

### Expected Result

Get a native crash

### Actual Result

System complains it's not an AOT build. Why is this restricted to only Native AOT? Crashpad should work just fine with any executable, yet because the C# code itself isn't native I cannot capture crashes caused in unmanaged libraries included inside my C# managed executable. Is this intended behaviour? Am I forced to include sentry-native manually even though it should be tagged along the main C# SDK?

Is there a workaround I can use? Looking at your code you check the `IsTrimmed` and I don't want to or know how to bypass that check.

Thank you.

Contributor guide

Open the contributing guide

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.