Use b2Joint::GetReactionForce.
In each time step check, if reaction force of the joint is less then some critical value. When force became greather, destroy the joint.
void update(float timeStep)
{
b2Vec2 reactionForce = joint->GetReactionForce(1/timeStep);
float forceModuleSq = reactionForce.LengthSquared();
if(forceModuleSq > maxForceSq)
{
world->DestroyJoint(joint);
}
}
world - pointer to b2World, joint - pointer to your b2RevoluteJoint, maxForceSq - square of the max force.
Look, there calculates LengthSquared, and compares with squared maxForce. This will improve performance, because no need to calculate square root.
Max force can be calculated as gravitational force: maxMass*9.8.