Source Context

Learn about setting up source bundles to show source code in stack traces on the Issue Details page.

If Sentry has access to your application's source code, it can show snippets of code (source context) around the location of stack frames, which helps to quickly pinpoint problematic code.

For example, here's a stack trace from a .NET application. The source context contains the original C# source code of the application, with the location of the frame highlighted.

Screenshot of stack trace showing source context.

Certain SDKs, such as the Python SDK, can resolve this source context automatically, because they have access to unobfuscated source code at runtime. By contrast, to get source context for compiled applications, the source code needs to be uploaded alongside the debug information files. The recommended way to do this is by using sentry-cli. See Creating Source Bundles for more information.

For .NET projects, you can configure MSBuild to call sentry-cli automatically. Enable the SentryUploadSources property to create and upload source bundles automatically while uploading symbols.

Alternatively, you can embedded source code directly into .NET Portable PDB files by using the EmbedAllSources property in your project file. After the PDBs have been uploaded to Sentry, the sources will be extracted from them automatically.

Also note that the similar EmbedUntrackedSources option is not yet supported, but may be added in the future. Referer to this issue for details.

After they've been uploaded you can review and manage source bundles the same as any other debug information file. See Managing Debug Information Files. Source bundles will be tagged with sources, and will carry the same filename as the respective debug information file they were created from.

Help improve this content
Our documentation is open source and available on GitHub. Your contributions are welcome, whether fixing a typo (drat!) or suggesting an update ("yeah, this would be better").