Is there a reason why almost every platform is prefixed with 'remote-'?

Hi Greg,

I mean, if we’re connecting to a remote platform (via platform connect), the ‘remote-’ prefix seems a bit redundant. The only thing that seems to have a non-remote counterpart is remote-ios (ios-simulator), what’s the difference between those two?

Thanks,
Chaoren

Yes "remote" is a bit redundant. We can probably remove them, but we will then need a way to specify that we want a remote connection in case, on say a macosx system:

(lldb) platfrom select macosx

If you know you are wanting to debug remotely, then you might want to get your files from the remote module cache instead of from the root file system.

The difference between "remote-ios" and "ios-simulator" is the "remote-ios" is for native ARM debugging on device. "ios-simulator" is for running files locally on the current system through a native iOS simulator. The applications are essentially MacOSX native host binaries with a few differences. If I select a simulator file:

(lldb) target create /path/to/simulator/binary/a.out

It will select the "iso-simulator" platform and if I do a:

(lldb) image list

The "iso-simulator" platform knows how to find local copies of the shared libraries that it depends on.

Same goes for "remote-ios":

(lldb) target create /path/to/ios/binary/a.out

"image list" will find the files this binary depends upon, like "/usr/lib/dyld", in "/Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/DeviceSupport/8.0 (XXXXXX)/Symbols/usr/lib/dyld"