Issue metadata
Sign in to add a comment
|
Debugging symbols missing from Linux Debug build.
Reported by
a1628...@student.adelaide.edu.au,
Aug 11 2016
|
||||||||||||||||||||||
Issue descriptionUserAgent: Mozilla/5.0 (X11; Ubuntu; Linux x86_64; rv:48.0) Gecko/20100101 Firefox/48.0 Steps to reproduce the problem: 1. Build debug version of chrome (I also included `symbol_level=2' to be sure) 2. Open in gdb 3. type `info line file_name.cpp:0' for any file What is the expected behavior? GDB should give me information about the line queried. Example: Line X of "file_name.cpp" starts at pc 0xffd0 and ends at 0xffff. What went wrong? Files are either not found by gdb or return unprintable ascii characters. (gdb) info line CompositedLayerMapping.cpp:0 No source file named CompositedLayerMapping.cpp. (gdb) info line v8.cpp:0 �� Did this work before? Yes Any previous version of chrome I have compiled. Don't remember version number. Compiled ~1 year ago. Chrome version: Version 54.0.2824.0 (64-bit) Channel: n/a OS Version: Ubuntu 16.04 Flash Version: Shockwave Flash 11.2 r202 Also tested on Ubuntu 14.04
,
Aug 11 2016
For me with Goobuntu 14.04 and gdb 7.9-gg19, "info line CompositedLayerMapping.cpp:0" works correctly. "info line v8.cpp:0" does print garbage. My first guesses would be bugs in gdb, gdb's handling of split-dwarf, or in the toolchain's emission of split-dwarf. However, I tried disabling split-dwarf (gn arg use_debug_fission=false) and it did not change the behavior. So my second guesses are bugs in gdb and the toolchain's emission of DWARF independent of split-dwarf. Note that it's normal to not see all the symbols when using gdb "cold", i.e. before you start the program. The program has to be running for gdb to know about all the shared objects (components). So for me "No source file named CompositedLayerMapping.cpp." does happen before starting the program, but it finds that file fine once the program has started. Try e.g. "b _start" or "b main" and then "run". I also note that there is no source file named "v8.cpp". There is a "v8.cc" and "i lin v8.cc:0" works fine. I don't know why gdb's error message is replaced with garbage for the particular case of "i lin v8.cpp:0" when other nonexistent file names give the proper error message. So my third guess is some obscure gdb bug in the error case but no actual problem because I haven't seen (reproduced) a failure of something that actually ought to work.
,
Aug 17 2016
Thanks, mcgrathr@. It sounds like there's not really anything for us to do here other than punt this upstream to gdb. |
|||||||||||||||||||||||
►
Sign in to add a comment |
|||||||||||||||||||||||
Comment 1 by dpranke@chromium.org
, Aug 11 2016Components: Build
Owner: thomasanderson@chromium.org
Status: Assigned (was: Unconfirmed)
Summary: Debugging symbols missing from Linux Debug build. (was: Debugging symbols missing from Debug build.)