[RFC] llvm-diva - Debug Information Visual Analyzer

llvm-diva - Debug Information Visual Analyzer

Carlos Alberto Enciso, Sony Interactive Entertainment

LLVM supports multiple debug information formats (namely DWARF and CodeView)

in different binary formats (e.g. ELF, PDB, Mach-O). Understanding the mappings

between source code and debug information can be complex, and it’s a problem

we’ve commonly encountered when triaging debug information issues.

The output from tools such as llvm-dwarfdump or llvm-readobj use a close

representation of the internal debug information format and in our experience

we’ve found that they require a good knowledge of those formats to understand

the output, limiting who can triage and address such issues quickly. Even for

the experts, it can sometimes take a lot of time and effort to triage issues

due to the inherent complexity.

Hi Carlos,

The tool sounds very interesting. I appreciate the use case documentation - I think I’m going to want to take some closer looks at it to really get a feel for the output. That said, I have no objections to this being accepted into the project pending review.

Couple of questions:

a) Can you follow-up to this email with the actual phab links? I think they didn’t make it into the email.
b) Are you open to renaming? I’d prefer to avoid names that, while clever, map to particular words if possible.

Thanks! I’m really excited by this work.

-eric

Hi Eric,

The tool sounds very interesting. I appreciate the use case documentation

The idea with the use case, is to present the “logical view” concept in a practical scenario and show how the tool can be used to detect debug info issues, from a high level perspective.

  • I think I’m going to want to take some closer looks at it to really get a feel for the output.

That said, I have no objections to this being accepted into the project pending review.

I appreciate your feedback.

a) Can you follow-up to this email with the actual phab links? I think they didn’t make it into the email.

By mistake I included that invalid phabricator link.

https://reviews.llvm.org/Dxxxx.

Currently the tool is under internal review (Sony).

b) Are you open to renaming? I’d prefer to avoid names that, while clever, map to particular words if possible.

Very interesting point. I guess this can be part of the whole review process and find a name that is a good match for what the tool does.

Thanks

Carlos

Hi Eric,

The tool sounds very interesting. I appreciate the use case documentation

The idea with the use case, is to present the “logical view” concept in a practical scenario and show how the tool can be used to detect debug info issues, from a high level perspective.

  • I think I’m going to want to take some closer looks at it to really get a feel for the output.

That said, I have no objections to this being accepted into the project pending review.

I appreciate your feedback.

a) Can you follow-up to this email with the actual phab links? I think they didn’t make it into the email.

By mistake I included that invalid phabricator link.

https://reviews.llvm.org/Dxxxx.

Currently the tool is under internal review (Sony).

Ah. It sounded like you were ready :slight_smile:

b) Are you open to renaming? I’d prefer to avoid names that, while clever, map to particular words if possible.

Very interesting point. I guess this can be part of the whole review process and find a name that is a good match for what the tool does.

Awesome. Thanks.

-eric

Hi Eric,

For the 2020 LLVM conference, we have uploaded a review on Phabricator:

https://reviews.llvm.org/D88661

The purpose of that revision is to provide the LLVM community with a single patch, so llvm-diva can be built and try out right away, rather than review it.

After the conference, the source code will be uploaded for a formal review on Phabricator. The review will cover:

· * A patch with the IntervalTree data structure implementation which is required by llvm-diva.

· * A reviewable series of patches with the actual tool (in llvm/tools/llvm-diva).

Thanks,

Carlos