Re: GDB memory usage with compressed debug info

Mike Gulick via Gdb <[email protected]>
Newsgroups gmane.comp.gdb.devel
Message-ID <[email protected]>
On 3/16/21 2:40 PM, Mike Gulick wrote:
> Hi,
> 
> I'm observing that GDB memory usage is much higher when I have debug 
> info compressed with 'objcopy --compress-debug-sections'.  In a large 
> C++ application, I see the instance with uncompressed debug info use 
> 46GB VIRTUAL memory and 11GB RSS, and the instance with compressed debug 
> info is using 46GB VIRTUAL memory and 42GB RSS.  In case it matters, the 
> debug info is separated from the original binary into its own file.
> 
> It seems like GDB must load the full uncompressed debug info into memory 
> when the underlying files are compressed?
> 
> I'm currently using GDB 9.2.  I checked the 10.1 NEWS and didn't see 
> anything that looked like it would have changed this result, but I'm 
> happy to give it a try if you think it might help.
> 
> Is there any chance this could be improved with a patch to GDB, or is 
> this just the nature of compressed debug data?
> 
> Also, FYI, the NEWS link for the GDB 10.1 release on the GDB home page 
> points to the NEWS file for the 9.1 release.
> 
> Thanks!
> 
> -Mike

I should add that this high memory usage only occurs when there is a 
FILE:LINENUM breakpoint set (or pending).  I can run the application 
being debugged, observe that GDB's memory usage is around 11 or 12 GB, 
then run 'b foobar.cpp:123', and the GDB memory usage will climb up to 
42 GB.  Interesting that symbolic breakpoints don't trigger this high 
memory usage, but line-based breakpoints do.  Does this seem expected?

Thanks,
Mike
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.