thanks to http://useYourLoaf.com for this complete solution:
http://useyourloaf.com/blog/using-identifiers-to-debug-autolayout.html
A quick tip that I found similar to the WWDC 2015 session in Auto Layout that helps with debugging constraint problems
If you used Auto Layout, you'll be familiar with the magazine that Xcode issues when you get something wrong. To create an example, I modified my sample code for the sample stack and added a limit to each of the images to give them a fixed width of 240 (not a good idea, as we will see).

This works in the form of a normal width, such as the iPad, but is too wide for a compact width view, such as the iPhone in portrait. The console log at run time is not readable. Skipping the text of the template, you will get a list of problematic restrictions:
"<NSLayoutConstraint:0x7fc1ab520360 H:[UIImageView:0x7fc1ab532650(240)]>", "<NSLayoutConstraint:0x7fc1ab536ef0 H:[UIImageView:0x7fc1ab537380(240)]>", "<NSLayoutConstraint:0x7fc1ab545cc0 UIView:0x7fc1ab53d870.trailingMargin == UIStackView:0x7fc1ab53dae0.trailing>", "<NSLayoutConstraint:0x7fc1ab545d10 UIStackView:0x7fc1ab53dae0.leading == UIView:0x7fc1ab53d870.leadingMargin>", "<NSLayoutConstraint:0x7fc1ab54e240 'UISV-alignment' UIStackView:0x7fc1ab53dc70.centerX == UIStackView:0x7fc1ab531a10.centerX>", "<NSLayoutConstraint:0x7fc1ab5167c0 'UISV-canvas-connection' UIStackView:0x7fc1ab531a10.leading == UIImageView:0x7fc1ab532650.leading>", "<NSLayoutConstraint:0x7fc1ab54ad80 'UISV-canvas-connection' H:[UIImageView:0x7fc1ab537380]-(0)-| (Names: '|':UIStackView:0x7fc1ab531a10 )>", "<NSLayoutConstraint:0x7fc1ab5397d0 'UISV-canvas-connection' UIStackView:0x7fc1ab53dae0.leading == _UILayoutSpacer:0x7fc1ab54c3c0'UISV-alignment-spanner'.leading>", "<NSLayoutConstraint:0x7fc1ab54a4a0 'UISV-canvas-connection' UIStackView:0x7fc1ab53dae0.centerX == UIStackView:0x7fc1ab53dc70.centerX>", "<NSLayoutConstraint:0x7fc1ab54b110 'UISV-spacing' H:[UIImageView:0x7fc1ab532650]-(16)-[UIImageView:0x7fc1ab537380]>", "<NSLayoutConstraint:0x7fc1ab548210 'UISV-spanning-boundary' _UILayoutSpacer:0x7fc1ab54c3c0'UISV-alignment-spanner'.leading <= UIStackView:0x7fc1ab531a10.leading>", "<NSLayoutConstraint:0x7fc1ab551690 'UIView-Encapsulated-Layout-Width' H:[UIView:0x7fc1ab53d870(375)]>"
Then the magazine tells you which of the above restrictions he decided to break:
Will attempt to recover by breaking constraint <NSLayoutConstraint:0x7fc1ab536ef0 H:[UIImageView:0x7fc1ab537380(240)]>
The output of the magazine uses the automatic layout visual formatting language, but it is difficult to distinguish my limitations from those created by the system. This is especially true for stack views that are designed to create most of the constraints for you. In this trivial example, I know the fixed-width constraints that I just added broke things, but it's hard to see that from a magazine and a more complex view, it's more complicated.
Adding an identifier to a constraint
The log becomes much easier to understand if you add an identifier for each constraint ( NSLayoutConstraint has an identifier property with iOS 7). In Interface Builder, find the restriction and add the identifier in the attribute inspector (I use $ as a prefix / suffix to highlight them in the log):

Update August 18, 2015. As indicated in the comments, the identifier can only be edited in Interface Builder starting with Xcode 7. It does not appear in Xcode 6.4.
If you add a restriction to the code:
constraint.identifier = "$HeartImageFixedWidth$"
This is harder if you use a visual format language that uses constraint arrays. For example, consider a piece of Swift code to create a fixed-width constraint to represent an image with a heart:
let heartWidth = NSLayoutConstraint.constraintsWithVisualFormat("[heart(240)]", options:[], metrics:nil, views:viewsDictionary)
Since heartWidth is an array of type [NSLayoutConstraint], identifier is a bit more work:
for constraint in heartWidth { constraint.identifier = "$HeartImageFixedWidth$" } heartImage.addConstraints(heartWidth)
With the identifiers set for my restrictions, it is now much easier to find them in the log file (see the first four lines):
"<NSLayoutConstraint:0x7f92a305aeb0 '$ContainerStackViewLeading$' UIStackView:0x7f92a3053220.leading == UIView:0x7f92a3052fb0.leadingMargin + 32>", "<NSLayoutConstraint:0x7f92a305b340 '$ContainerStackViewTrailing$' UIView:0x7f92a3052fb0.trailingMargin == UIStackView:0x7f92a3053220.trailing + 32>", "<NSLayoutConstraint:0x7f92a301cf20 '$HeartImageFixedWidth$' H:[UIImageView:0x7f92a3047ef0(240)]>", "<NSLayoutConstraint:0x7f92a3009be0 '$StarImageFixedWidth$' H:[UIImageView:0x7f92a304d190(240)]>", "<NSLayoutConstraint:0x7f92a3060cc0 'UISV-alignment' UIStackView:0x7f92a30533b0.centerX == UIStackView:0x7f92a30472b0.centerX>", "<NSLayoutConstraint:0x7f92a301c590 'UISV-canvas-connection' UIStackView:0x7f92a30472b0.leading == UIImageView:0x7f92a3047ef0.leading>", "<NSLayoutConstraint:0x7f92a305f680 'UISV-canvas-connection' H:[UIImageView:0x7f92a304d190]-(0)-| (Names: '|':UIStackView:0x7f92a30472b0 )>", "<NSLayoutConstraint:0x7f92a3064190 'UISV-canvas-connection' UIStackView:0x7f92a3053220.leading == _UILayoutSpacer:0x7f92a30608a0'UISV-alignment-spanner'.leading>", "<NSLayoutConstraint:0x7f92a30415d0 'UISV-canvas-connection' UIStackView:0x7f92a3053220.centerX == UIStackView:0x7f92a30533b0.centerX>", "<NSLayoutConstraint:0x7f92a305fa10 'UISV-spacing' H:[UIImageView:0x7f92a3047ef0]-(16)-[UIImageView:0x7f92a304d190]>", "<NSLayoutConstraint:0x7f92a30508c0 'UISV-spanning-boundary' _UILayoutSpacer:0x7f92a30608a0'UISV-alignment-spanner'.leading <= UIStackView:0x7f92a30472b0.leading>", "<NSLayoutConstraint:0x7f92a3063240 'UIView-Encapsulated-Layout-Width' H:[UIView:0x7f92a3052fb0(375)]>"
In addition, it is much clearer which of the restrictions that the system has chosen to split:
Will attempt to recover by breaking constraint <NSLayoutConstraint:0x7f92a3009be0 '$StarImageFixedWidth$' H:[UIImageView:0x7f92a304d190(240)]>
Adding identifiers to restrictions is not without effort, but it may pay off the next time you have to sort the debug log of a complex layout.
additional literature