This is an archive of the discontinued LLVM Phabricator instance.

Add a set of new plugins to handle Java debugging
ClosedPublic

Authored by tberghammer on Feb 25 2016, 10:18 AM.

Details

Summary

Add a set of new plugins to handle Java debugging

The purpose of these plugins is to make LLDB capable of debugging java code JIT-ed by the android runtime.

(P.S.: I know it is a lot of code but it contain very little change in the existing codes and I don't see any reasonable way to split it up)

Diff Detail

Event Timeline

tberghammer retitled this revision from to Add a set of new plugins to handle Java debugging.
tberghammer updated this object.
tberghammer added reviewers: ovyalov, clayborg.
tberghammer added a subscriber: lldb-commits.
clayborg accepted this revision.Feb 25 2016, 10:47 AM
clayborg edited edge metadata.

Looks good.

This revision is now accepted and ready to land.Feb 25 2016, 10:47 AM
ovyalov accepted this revision.Feb 25 2016, 4:34 PM
ovyalov edited edge metadata.
ovyalov added inline comments.
source/Plugins/SymbolFile/DWARF/DWARFASTParserJava.cpp
35

Please consider splitting this method in smaller sub-methods.

519

Please fix.

granata.enrico added inline comments.
source/Plugins/Language/Java/JavaLanguage.cpp
81

Is there any reason to use hardcoded summaries here?

It looks like IsJavaString is a trivial textual match on the string "java.lang.String". If so, could you please avoid hardcoding this formatter?

The rationale is that an hardcoded formatter can never be turned off by the user, whereas for a normal typename --> formatter match, the user has a way to delete the individual formatter should they desire to do so.

Not a big deal, but would be great to fix if possible.

tberghammer marked 2 inline comments as done.Feb 26 2016, 6:25 AM
tberghammer added inline comments.
source/Plugins/Language/Java/JavaLanguage.cpp
81

I don't think this is a formatter a user will ever turn off because without it there is no sensible way to display the content of the string (traversing into a member won't work because we don't have a "const char*" member) but I updated it anyway to be a normal type name based formatter based on your suggestion.

source/Plugins/SymbolFile/DWARF/DWARFASTParserJava.cpp
35

Done

519

Done

This revision was automatically updated to reflect the committed changes.
tberghammer marked 2 inline comments as done.