People know that the gdb package coming from Cydia is broken since 4.3.
But here is a simple way to have a working gdb running on your iOS device : use the one from the Apple SDK !
Prerequisites :- a jailbroken iOS >= 4.3 device- OpenSSH should be installed on the iOS device and should listen for connections- an OSX machine with the iOS SDK >= 4.3 installed
How to :- remove the gdb package from Cydia- do the following in the OSX terminal :
cd /tmpcp /Developer/Platforms/iPhoneOS.platform/Developer/usr/libexec/gdb/gdb-arm-apple-darwin .lipo -thin armv7 gdb-arm-apple-darwin -output gdbnano entitlements.xml
- paste the following to the OSX terminal :
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd"><plist version="1.0"><dict> <key>com.apple.springboard.debugapplications</key> <true/> <key>get-task-allow</key> <true/> <key>task_for_pid-allow</key> <true/></dict></plist>
- save the file by doing CTRL + X, then 'Y', then 'ENTER'- now do the following in the OSX terminal :ldid -Sentitlements.xml gdbscp gdb root@
<iOS Device IP Address>:/usr/bin/- GDB is now installed to your iOS device.Happy debugging !