A partir do iOS 5, é possível fazer remote debug de qualquer aba aberta no Mobile Safari, através do famoso Inspector do Webkit no Desktop enquanto se navega no celular/emulador.

(tenho também um post sobre debug remoto no Chrome Mobile do Android)

Criei então um script bash que abre o emulador do iOS 5 e conecta o debugger nele via Safari. É bastante útil pra desenvolvimento Web mobile. Basta rodar o script no Mac após ter instalado o XCode mais novo que inclui o emulador do iOS 5.

Após rodar no terminal, abra o Mobile Safari dentro do emulador e navegue até a página que quer debugar. Depois, volte ao terminal e dê enter para o script continuar e capturar o debug. Ele vai abrir o Safari no seu Desktop com o Web Inspector.

#!/bin/bash

# Open iPhone Simulator on default location for XCode 4.3
open /Applications/Xcode.app/Contents/Developer/Platforms/iPhoneSimulator.platform/Developer/Applications/iPhone\ Simulator.app

# Open mobile safari
echo Open mobile safari on emulator and press return
read

# Plug debug to MobileSafari.app
echo Debugging
MobileSafari_PID=$(ps x | grep "MobileSafari" | grep -v grep | awk '{ print $1 }')

if [ "$MobileSafari_PID" == "" ]; then
  echo "Mobile Safari.app must be running in the Simulator to enable the remote inspector."
  exit
else

  cat <<EOM | gdb -quiet > /dev/null
  attach $MobileSafari_PID
  p (void *)[WebView _enableRemoteInspector]
  detach
EOM
fi

# Open debugger in Safari.app
open -a /Applications/Safari.app http://localhost:9999
iPhone no emulador Safari com inspector aberto
Debugando o sergiolopes.org no Mobile Safari do emulador

Há também um gist disponível com esse código. O código do gdb eu peguei nesse post aqui – lá você também vê como conectar o debug a um aparelho real com iOS, além do emulador.