danalbert added a subscriber: enh.
danalbert added a comment.

In D68968#1710520 <https://reviews.llvm.org/D68968#1710520>, @labath wrote:

> Independently, I am wondering if there's a better way to link the process id 
> to a bundle. Using argv[0] might be ok if we're using it just for display 
> purposes, but if we're going to be doing other stuff based on that 
> identifier, it would be better to get it from a more reliable source. 
> Unfortunately, I was not able to find a more "reasonable source", but maybe 
> @danalbert has an idea.


@enh might



================
Comment at: lldb/source/Host/linux/Host.cpp:220-222
+  if (process_info.GetNameAsStringRef().empty() &&
+      !process_info.GetArg0().empty()) {
+    process_info.SetBundleID(process_info.GetArg0());
----------------
labath wrote:
> wallace wrote:
> > labath wrote:
> > > How sure are we that the app processes are the only ones which have the 
> > > exe link unreadable? Will that be true on all phones or just the recent 
> > > ones with all the selinux stuff?
> > > 
> > > I was hoping that there is some more reliable way of fetching this 
> > > information, but there doesn't seem to be anything except [[ 
> > > https://developer.android.com/reference/android/app/ActivityManager.RunningAppProcessInfo.html
> > >  | ActivityManager.RunningAppProcessInfo ]], which I don't know if it can 
> > > be accessed from lldb, either host- or device-side.
> > > 
> > > @danalbert, any ideas here?
> > Another option I've just discovered is to invoke `pm list packages` to get 
> > the list of all apks and if an Arg0 is in that list, then it's a package.
> > That seems good enough
> That should prevent us accidentally setting an incorrect bundle id, but it 
> does not prevent a process from deliberately changing its argv[0] to the name 
> of some other installed package. That seems suboptimal, particularly if we're 
> later going to use start using the bundle id for other than just display 
> purposes (e.g. for issuing "am kill" commands). So, I am still wondering if 
> we shouldn't go back to using argv[0] for the purpose of "process list", and 
> leave the "bundle id" field for cases where we can get this information from 
> a more reliable source (e.g. reading it from the apk, or fetching it from the 
> android package manager, etc). What do you think?
@enh 


Repository:
  rG LLVM Github Monorepo

CHANGES SINCE LAST ACTION
  https://reviews.llvm.org/D68968/new/

https://reviews.llvm.org/D68968



_______________________________________________
lldb-commits mailing list
lldb-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/lldb-commits

Reply via email to