Class DebugImage

java.lang.Object
io.sentry.protocol.DebugImage
All Implemented Interfaces:
JsonSerializable, JsonUnknown

public final class DebugImage extends Object implements JsonUnknown, JsonSerializable
Legacy apple debug images (MachO).

This was also used for non-apple platforms with similar debug setups.

A generic (new-style) native platform debug information file.

The `type` key must be one of:

- `macho` - `elf`: ELF images are used on Linux platforms. Their structure is identical to other native images. - `pe`

Examples:

```json { "type": "elf", "code_id": "68220ae2c65d65c1b6aaa12fa6765a6ec2f5f434", "code_file": "/lib/x86_64-linux-gnu/libgcc_s.so.1", "debug_id": "e20a2268-5dc6-c165-b6aa-a12fa6765a6e", "image_addr": "0x7f5140527000", "image_size": 90112, "image_vmaddr": "0x40000", "arch": "x86_64" } ```

```json { "type": "pe", "code_id": "57898e12145000", "code_file": "C:\\Windows\\System32\\dbghelp.dll", "debug_id": "9c2a902b-6fdf-40ad-8308-588a41d572a0-1", "debug_file": "dbghelp.pdb", "image_addr": "0x70850000", "image_size": "1331200", "image_vmaddr": "0x40000", "arch": "x86" } ```

```json { "type": "macho", "debug_id": "84a04d24-0e60-3810-a8c0-90a65e2df61a", "debug_file": "libDiagnosticMessagesClient.dylib", "code_file": "/usr/lib/libDiagnosticMessagesClient.dylib", "image_addr": "0x7fffe668e000", "image_size": 8192, "image_vmaddr": "0x40000", "arch": "x86_64", } ```

Proguard mapping file.

Proguard images refer to `mapping.txt` files generated when Proguard obfuscates function names. The Java SDK integrations assign this file a unique identifier, which has to be included in the list of images.

  • Field Details

  • Constructor Details

    • DebugImage

      public DebugImage()
  • Method Details

    • getUuid

      @Nullable public @Nullable String getUuid()
    • setUuid

      public void setUuid(@Nullable @Nullable String uuid)
    • getType

      @Nullable public @Nullable String getType()
    • setType

      public void setType(@Nullable @Nullable String type)
    • getDebugId

      @Nullable public @Nullable String getDebugId()
    • setDebugId

      public void setDebugId(@Nullable @Nullable String debugId)
    • getDebugFile

      @Nullable public @Nullable String getDebugFile()
    • setDebugFile

      public void setDebugFile(@Nullable @Nullable String debugFile)
    • getCodeFile

      @Nullable public @Nullable String getCodeFile()
    • setCodeFile

      public void setCodeFile(@Nullable @Nullable String codeFile)
    • getImageAddr

      @Nullable public @Nullable String getImageAddr()
    • setImageAddr

      public void setImageAddr(@Nullable @Nullable String imageAddr)
    • getImageSize

      @Nullable public @Nullable Long getImageSize()
    • setImageSize

      public void setImageSize(@Nullable @Nullable Long imageSize)
    • setImageSize

      public void setImageSize(long imageSize)
      Sets the image size.
      Parameters:
      imageSize - the image size.
    • getArch

      @Nullable public @Nullable String getArch()
    • setArch

      public void setArch(@Nullable @Nullable String arch)
    • getCodeId

      @Nullable public @Nullable String getCodeId()
    • setCodeId

      public void setCodeId(@Nullable @Nullable String codeId)
    • getUnknown

      @Nullable public @Nullable Map<String,Object> getUnknown()
      Specified by:
      getUnknown in interface JsonUnknown
    • setUnknown

      public void setUnknown(@Nullable @Nullable Map<String,Object> unknown)
      Specified by:
      setUnknown in interface JsonUnknown
    • serialize

      public void serialize(@NotNull @NotNull ObjectWriter writer, @NotNull @NotNull ILogger logger) throws IOException
      Specified by:
      serialize in interface JsonSerializable
      Throws:
      IOException