This is an archive of the discontinued LLVM Phabricator instance.

Enable local llgs debugging on Linux when the use-llgs-for-local setting is enabled.
ClosedPublic

Authored by tfiala on Oct 8 2014, 8:37 PM.

Details

Reviewers
clayborg
Summary

This change does the following:

  • Enable lldb-gdbserver (llgs) usage for local-process Linux debugging.

To turn on local llgs debugging support, which is disabled by default, enable this setting:

(lldb) settings set platform.plugin.linux.use-llgs-for-local true
  • Adds a stream-based Dump() function to FileAction.
  • Pushes some platform methods that Linux (and FreeBSD) will want to share with MacOSX from PlatformDarwin into PlatformPOSIX.

Diff Detail

Event Timeline

tfiala updated this revision to Diff 14625.Oct 8 2014, 8:37 PM
tfiala retitled this revision from to Enable local llgs debugging on Linux when the use-llgs-for-local setting is enabled..
tfiala updated this object.
tfiala edited the test plan for this revision. (Show Details)
tfiala added a reviewer: clayborg.
tfiala added a subscriber: Unknown Object (MLST).
tfiala added a comment.Oct 8 2014, 8:40 PM

Note: this change enables llgs to work for local Linux debugging. There are some caveats - we have some known issues and test build failures with local llgs that we're working out in the github.com/tfiala/lldb dev-llgs-local-launch branch. However, as llgs is not on by default and we haven't yet given it the thumbs up for normal usage, I just want to get this code upstream since it is at least partially usable and the issues we're addressing can be patched in much smaller chunks with this code here in place.

clayborg accepted this revision.Oct 9 2014, 10:26 AM
clayborg edited edge metadata.

Looks good.

This revision is now accepted and ready to land.Oct 9 2014, 10:26 AM
tfiala added a comment.Oct 9 2014, 5:10 PM

Thanks, Greg.

tfiala closed this revision.Oct 9 2014, 5:23 PM

Closed by:

svn commit
Sending        include/lldb/Target/FileAction.h
Sending        source/Plugins/Platform/Linux/PlatformLinux.cpp
Sending        source/Plugins/Platform/Linux/PlatformLinux.h
Sending        source/Plugins/Platform/MacOSX/PlatformDarwin.cpp
Sending        source/Plugins/Platform/MacOSX/PlatformDarwin.h
Sending        source/Plugins/Platform/POSIX/PlatformPOSIX.cpp
Sending        source/Plugins/Platform/POSIX/PlatformPOSIX.h
Sending        source/Plugins/Process/Linux/ProcessLinux.cpp
Sending        source/Target/FileAction.cpp
Transmitting file data .........
Committed revision 219457.