How to check why your iPhone apps are crashing - by XianLi
By Aaron Besson at 17 June, 2008, 10:43 am
I came across this great post by XianLi - Bending Administrator over on Hackint0sh.org, for all of you guys and gals with applications that crash, act buggy, quit to the Springboard, freeze and don’t save files. He has come up with a simple solution to debug your iPhone and the apps and a way for you to see what’s going on.
While this tutorial will not fix these issues, it will let you know where to start looking for a solution, where normally you may resort to a restore. Before you get started and go installing all sorts of crap, it’s always wise to backup your iPhone using iTunes before you install any new app so you have a working backup in case you need to restore, obviously your iPhone will need to be jailbreaked and activated to do this or install 3rd party apps, this will also work on the iPod Touch.
Here we go:
First, turn off the Auto-Lock feature in Settings > General > Auto-Lock.
Second, you must Install OpenSSH in your Phone (if not already installed by a Jailbreak application such as iPlus, iLiberty or PWNED). - OpenSSH requires BSD Subsystem.
Open a SSH session from your computer to your phone.
You can use:
- Putty > ssh client for Windows available at putty.org
- Terminal > for OS X, already installed in /Applications/Utilities/Terminal.
Connect to your phone:
| ssh -l root x.x.x.x |
x.x.x.x has to be changed to your iPhone IP Address. (e.g 192.168.0.123)
To know your iPhone IP, on your iPhone go to Settings > Wifi > click the blue arrow, it will display the network your phone is connected to, and your IP address.
If you see a message like this on your computer - just type yes and press ENTER
| The authenticity of host ‘x.x.x.x (x.x.x.x)’ can’t be established. RSA key fingerprint is xx:xx:xx:xx:xx:xx:xx:xx:xx:xx:xx:xx:xx:xx:xx:xx. Are you sure you want to continue connecting (yes/no)? |
Then you’ll be asked to enter a password. Simply type alpine and press ENTER
Now you are connected in SSH.
Since 1.1.3, all the Apps are executed as mobile user from Springboard and because we are logged as root in the SSH session, we need to switch to mobile user.
Type this command and press ENTER.
| su mobile |
You’ll notice in the SSH session window, the # will change to $.
# = root
$ = mobile
To exit the mobile level simply type exit and press ENTER. It will go back to the root level. Now if you want to execute any app you must know its exact name (Case Sensitive). You can use the “TAB” key to auto-complete the path/name.
For example, if you type:
| cd /A |
and press TAB. It will complete to
| cd /Applications. |
Type the following command:
| cd /Applications/X |
X must be changed to the first letter of your app name.
All the applications name starts with a Capital Letter.
When you press tab, if you have several apps starting with the same letter, you’ll be proposed several choices. Just complete the entry by the app name you want to execute and press ENTER. (don’t forget the .app/ at the end of the name) e.g: MobileFinder.app/
Now that you are in the application’s package, you must execute its binary.
type this command and press ENTER:
| ./Xxxxxxx |
Xxxxxxx must be changed to the same name of your application package name except you don’t need to add .app/ at the end. e.g: MobileFinder
Your app is now started and you should see several lines right after the last command you typed. You can copy/paste them this thread or any forum to let people help you. Use CTRL + C keys to quit the application you started.
Most of the time the report messages are obvious enough to understand the source of the problem. If you check everytime you install/upgrade a 3rd party application, your phone should never crash/freeze/hang or behave abnormally once you solva any problem then and there. Just don’t keep apps that will report problems that can’t be solved. 
Print This Post
|
![]() |
|




















































