paketo-buildpacks / native-image

A Cloud Native Buildpack that creates native images from Java applications
Apache License 2.0
49 stars 9 forks source link

debug symbols are dropped if user specify `-g` flag for native-image #276

Open vvlevchenko opened 1 year ago

vvlevchenko commented 1 year ago

Expected Behaviour

in case of -g native-image (since 22.3) produces two images: binary and binary.debug, containing debug info. some debug tools expects lack one to resolve symbols.

Current Behaviour

Only one binary copied to layer

Possible Solution

publish all binaries produced by native-image

Steps to Reproduce

  1. generate simple Spring boot application in IDEA (maven)
  2. add configuration to spring-boot-maven-plugin plugin:
    <configuration>
                    <image>
                        <env>
                            <BP_NATIVE_IMAGE_BUILD_ARGUMENTS>
                                --no-fallback
                                --verbose
                                -g
                                -O0
                                -H:-Inline
                            </BP_NATIVE_IMAGE_BUILD_ARGUMENTS>
                        </env>
                    </image>
                </configuration>

    In result image contains only one binary com.example.demo.DemoApplication

Motivations

We're developing plugin for GraalVM to let users debug their binary applications, and lack of debug info break opportunity for Spring users to debug theirs applications.