In the older version of Xcode, I used to press cmd-shift-Y to get a window (I think it was the debugger) to see where errors were coming from in my iPhone app.
But now, I always see question marks, and can’t ever seem to properly track where the error is coming from. How do I do it in the new Xcode?

The screenshot you have posted is thread view of debugger actually. When you get an error you can still hit Cmd+Shift+Y which is a keyboard shortcut to hide/show the debug area. It will pop up in main editor area from bottom.
In the debug area, the top horizontal bar shows the buttons to continue, Step Into, Step Over etc. In this horizontal bar, the last item on right hand side is the function name which was executed the last. You can click on that to see the stack trace and track from what function the error is coming. The function which was executed recently in the trace would be the first item in the list and the main function would be the last in this list.
Hope this helps.