How can I find holes in a mesh? I'm trying to vet the correctness of my mesh object, and I'm trying to find a method that will detect holes in my mesh. I define a hole as either of the following (these definitions are almost equivalent):


An area between faces that should be divided by another (missing) face.
A face who's front and back are on the same side of the mesh, i.e. it is impossible to tell which side of the face is on the inside of the mesh
A hole is indicated by a face that has at least one edge that is not shared by another face.


How can I automatically identify such holes/affected edges?

The following image demonstrates what I mean by this. The selected vertex has accidentally been ripped, and it is now loosely dangling in 3D space:


A similar image that easily illustrates definition 3 is this:


I found this answer, but this only proposes using a "magic fix everything" tool, while I'm looking for a way to find the problems, and correct them myself.
Use Select > Select All by Trait > Non-Manifold option in 3dView header (or Ctrl+Alt+Shift+M) and in options of operator located in Last Operator panel (they appear there after executing it) deselect everything but Boundaries.







Select all and choose Select > Select Boundary Loop. 



This will select boundary loops around selected edges.





Use shipped with Blender MeshLint addon (by default not activated). It allows choosing which categories of wrong topology to select, including non-manifold (however I think it will select wire, multiple faces etc. as well but still for completeness).