I think that you need to enable (attach) the interrupt before an interrupt will be recognized. As it is, an interrupt must be generated to enable an interrupt, but there are no interrupts enabled until an interrupt occurs. See Catch 22. Make one ISR that detects rising or falling edge with StateChangeDetection and attach the interrupt in setup().
If you want to know the time between the signal on the pin falling and rising again a more normal technique would be to use a CHANGE interrupt and test the state of the pin in the ISR, possibly using direct port manipulation, but digitalRead() would work, to establish whether the interrupt was caused by a falling or rising pin state.
Sorry, I don't know why I did not see that. :-[ Yes, that enables it. Serial print depends on interrupts, interrupts are disabled in an ISR, so print won't work right.
will blow up if your program runs for more than 0.032 seconds.
As has been said, you cannot use serial print in an ISR.
If you are still having problems, strip the whole thing back to a very basic sketch with a simple ISR, triggered by an on CHANGE interrupt which increments a counter. Print the counter in the loop() every one second or so. If you can't get that working, then something more fundamental is going wrong.