Change oat symbolization code for android to work on non-rooted devices
On android when debugging an apk we run lldb-server as application user
because the sell user (on non-rooted device) can't attach to an
application. The problem is that "adb pull" will run as a shell user
what can't access to files created by lldb-server because they will be
owned by the application user. This CL changes the oat symbolization
code to run "oatdump --symbolize" to generate an output what is owned
by the shell user.
Differential revision: http://reviews.llvm.org/D13162
llvm-svn: 248788
diff --git a/lldb/source/Plugins/Platform/Android/AdbClient.h b/lldb/source/Plugins/Platform/Android/AdbClient.h
index bf76cfb..25a7264 100644
--- a/lldb/source/Plugins/Platform/Android/AdbClient.h
+++ b/lldb/source/Plugins/Platform/Android/AdbClient.h
@@ -62,6 +62,9 @@
Error
Stat (const FileSpec &remote_file, uint32_t &mode, uint32_t &size, uint32_t &mtime);
+ Error
+ Shell (const char* command, uint32_t timeout_ms, std::string* output);
+
private:
Error
Connect ();
@@ -85,6 +88,9 @@
ReadMessage (std::vector<char> &message);
Error
+ ReadMessageStream (std::vector<char> &message, uint32_t timeout_ms);
+
+ Error
GetResponseError (const char *response_id);
Error