mirror of
https://github.com/VSadov/Satori.git
synced 2025-06-08 03:27:04 +09:00
Add build option to build Mac .dSYM debug symbol bundles (#100617)
This is a small workaround to allow developers working on Mac the ability to generate .dSYM bundles as part of inner-loop development, instead of the unsupported .dwarf files that are generated by default. A full solution to use .dSYM bundles everywhere on Mac, including packaging and symbol indexing, is tracked by https://github.com/dotnet/runtime/issues/92911. To build .dSYM bundles instead of .dwarf files, invoke build.sh as follows: ```bash ./build.sh --subset clr --cmakeargs "-DCLR_CMAKE_APPLE_DSYM=TRUE" ```
This commit is contained in:
parent
1f698e7d6b
commit
3515c7a8eb
2 changed files with 18 additions and 2 deletions
|
@ -33,6 +33,16 @@ It is possible to get a macOS ARM64 build using an Intel x64 Mac and vice versa,
|
|||
|
||||
The Core_Root provides one of the main ways to test your build. Full instructions on how to build it in the [CoreCLR testing doc](/docs/workflow/testing/coreclr/testing.md), and we also have a detailed guide on how to use it for your own testing in [its own dedicated doc](/docs/workflow/testing/using-corerun-and-coreroot.md).
|
||||
|
||||
## Debugging information
|
||||
|
||||
The build process puts native component symbol and debugging information into `.dwarf` files, one for each built binary. This is not the native format used by macOS, and debuggers like LLDB can't automatically find them. The native format used by macOS is `.dSYM` bundles. To build `.dSYM` bundles and get a better inner-loop developer experience on macOS (e.g., have the LLDB debugger automatically find program symbols and display source code lines, etc.), build as follows:
|
||||
|
||||
```bash
|
||||
./build.sh --subset clr --cmakeargs "-DCLR_CMAKE_APPLE_DSYM=TRUE"
|
||||
```
|
||||
|
||||
(Note: converting the entire build process to build and package `.dSYM` bundles on macOS by default is tracked by [this](https://github.com/dotnet/runtime/issues/92911) issue.)
|
||||
|
||||
## Native Sanitizers
|
||||
|
||||
CoreCLR can be built with native sanitizers like AddressSanitizer to help catch memory safety issues. To build the project with native sanitizers, add the `-fsanitize address` argument to the build script like the following:
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue