[Lldb-commits] [lldb] Add `target modules dump separate-debug-info` (PR #66035)

via lldb-commits lldb-commits at lists.llvm.org
Fri Sep 15 09:40:23 PDT 2023


jimingham wrote:

> > I think it would be easier to read the output if you made a separate column for "error". If you imagine a listing where there are 100 OSO's of which 10 are missing, the paths are going to jump over because of the "error: ..." at the beginning of those lines making it messy for your eyes to track. Seems like there are only two possible errors "file not found" and "file out of date", so it seems like we should be able to make a fairly short error column after the ID and then the path?
> 
> The errors are quite long as they mention the offending path to the OSO and the OSO paths are often very long, so you would need to run through the results to calculate the max width of the OSO path and then you would almost certainly overlflow off the right edge of the terminal if you also show the error string.
> 
> This patch currently doesn't show the OSO path if there is an error , so we show the error in place of the OSO path as the error string contains the path in the error text. Would your prefer to always show the modtime + oso path and then add the error on the next line?

I was imaging something like:

```
(lldb) image dump separate-debug-info
Symbol file: /home/toyang/workspace/dwo-scratch/a.out
Type: "dwo"
Dwo ID             Error         Dwo Path
------------------ ----------- -----------------------------------------
0x9a429da5abb6faae Missing "/home/toyang/workspace/dwo-scratch/a-main.dwo" for skeleton DIE 0x0000000000000014
0xbcc129959e76ff33 Missing "/home/toyang/workspace/dwo-scratch/a-foo.dwo" for skeleton DIE 0x000000000000003c
```
Or given that there aren't many errors possible, you could even do a one letter thing `S` for success, `M` for missing and `O` for out of date.

If the error was of the form "Not found: ..." or "Out of data:..." then you could pick off the error string.  You're in charge of the error string so you can arrange to emit it in a way that allows picking this info out of it easily.  And you don't need the path in the error since it's in the next "path" field anyway.

https://github.com/llvm/llvm-project/pull/66035


More information about the lldb-commits mailing list