Page MenuHomePhabricator

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

Repository
rL LLVM

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 ↗(On Diff #49089)

Please consider splitting this method in smaller sub-methods.

519 ↗(On Diff #49089)

Please fix.

granata.enrico added inline comments.
source/Plugins/Language/Java/JavaLanguage.cpp
81 ↗(On Diff #49089)

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 ↗(On Diff #49089)

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 ↗(On Diff #49089)

Done

519 ↗(On Diff #49089)

Done

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