native debug symbols support on Windows
Erik Joelsson
erik.joelsson at oracle.com
Wed Dec 4 14:46:10 UTC 2019
Hello,
On 2019-12-04 06:26, Bob Vandette wrote:
> There seems to be an option that will include debug information in generated .obj files. Assuming this option is supported in the
> versions of Visual Studio we use, it could be used to implement “internal” native debug symbols.
>
> /Z7
We already use this when compiling, but we still link to external pdb
files. I was not aware of being able to link with the symbol information
internal.
While this seems like it could be implemented, my question is, does
anyone need it? The internal symbols on Linux was something the Linux
distros wanted as they like to move it out in a uniform manner later. I
can't really see a need for this on Windows, but I certainly wouldn't
object if someone else do and wants to implement the support in the
OpenJDK build.
/Erik
> The /Z7 option produces object files that also contain full symbolic debugging information for use with the debugger. These object files and the built executable can be substantially larger than files that have no debugging information. The symbolic debugging information includes the names and types of variables, as well as functions and line numbers. No PDB file is produced.
>
> Bob.
>
>
>> On Dec 4, 2019, at 9:11 AM, Erik Joelsson <erik.joelsson at oracle.com> wrote:
>>
>> Correct, with the Microsoft toolchain there is no support for internal. I don't know what happens to the build if you try to configure it that way. Feel free to come up with a reasonable behavior.
>>
>> /Erik
>>
>> On 2019-12-04 00:06, Langer, Christoph wrote:
>>> Hi,
>>>
>>> I'm currently looking into native debug symbols support for Windows.
>>>
>>> The OpenJDK build system supports these two configure flags --with-native-debug-symbols=<internal|external> (among a few other options which I don't want to discuss here).
>>>
>>> So, the name implies that for "internal", debug symbols should be contained in the binaries. And "external" should create separate files that contain the debug symbols. However, to my knowledge, Windows would always make use of external symbol files, named *.pdb. And there is no way to have the debug symbols included in the binaries. Is that correct or am I wrong in this assumption?
>>>
>>> If it's true, I guess --with-native-debug-symbols=internal would not make sense on Windows and should rather be rejected by configure. Otherwise, if we were to support --with-native-debug-symbols=internal, the build is broken for target "test-image" when it comes to building/copying the gtest image.
>>>
>>> I'd like to fix either the one way or the other. What do people think?
>>>
>>> Thanks for your help
>>> Christoph
>>>
More information about the build-dev
mailing list