Move ADB communications to AdbClient class - in order to make it accessible by other LLDB components.
I'm planning to use device serial number for Android devices instead of host name within module cache - will integrate AdbClient with PlatformAndroid with a next CL.
Details
- Reviewers
vharron tberghammer
Diff Detail
Event Timeline
Thanks for moving it out to a new class.
Please check that the adb port forward is set up correctly (not left over from a previous session) and also check that all of the port forwards are cleaned up after lldb exits (I suggest a manual test as full test suit might leak some adb forwards in case of a failure).
source/Plugins/Platform/Android/AdbClient.cpp | ||
---|---|---|
72–76 | I think it isn't an error in this scenario if no device was found | |
110–122 | What is the goal of this function? I think it will return m_device_id on success and if m_device_id is not set then it will fail. | |
source/Plugins/Platform/Android/AdbClient.h | ||
36 | Do we need a virtual destructor? | |
source/Plugins/Platform/Android/PlatformAndroidRemoteGDBServer.cpp | ||
44–49 | Please return an error if not exactly one device is found and remove the assert. I think we should add asserts to check for bugs in lldb while having no connected device can be caused by almost anything. If we found more then 1 device then (randomly) choosing one will cause some flakiness in our tests so I think it is better to report a failure here. I plan to add some way to specify the selected device from platform-android. |
LGTM, but please add back the xcode project files and the Makefile changes (included in #1, removed from #2)
AFFECTED FILES
/lldb/trunk/lldb.xcodeproj/project.pbxproj /lldb/trunk/source/Plugins/Platform/Android/AdbClient.cpp /lldb/trunk/source/Plugins/Platform/Android/AdbClient.h /lldb/trunk/source/Plugins/Platform/Android/CMakeLists.txt /lldb/trunk/source/Plugins/Platform/Android/PlatformAndroidRemoteGDBServer.cpp
USERS
ovyalov (Author)
Do we need a virtual destructor?