I've been debugging the source of a crash bug (right on app launch!) and it reminded me that some of my old code is sort of a mess.
Do you have luck with static analyzer or other Xcode tools? For starters maybe I'll try to scan some Apple sample code to see how well it does, haha.
Before jumping to "what tools can I use to investigate?", you should take a step back and figure out the type of crash you have first. For example, the way you investigate a memory smasher is not the same as if something asserted or threw an exception. Diagnosing Issues Using Crash Reports and Device Logs provides a numbered list of the steps you can take in your investigation. Hopefully you already have a crash report, but if not, that's step 2 in that list. Once you have a fully symbolicated crash report, you can figure out the type of crash in step 4 by comparing the overall structure of information to the example in Identifying the Cause of Common Crashes , which will guide you to articles that are targeted to the type of crash, and which go into detail on the techniques and tools you can use for resolving your specific type of crash.
Finally, I'll also add that Analyzing a Crash Report poses questions that you can ask of your app and the specific crash to help guide yourself to an understanding of what's happening, and then resolving it once you understand it better.