Printing incoming I2C Data

Having an Arduino with the same address will always cause troubles. The Arduino acknowledges its address and might stretch the clock pulse. If a diode is used to prevent the Arduino messing up the I2C bus, then the Arduino might not receive the same data, because it really needs that clock pulse stretching.

This is a I2C sniffer with an Arduino Uno : http://www.johngineer.com/blog/?p=455

This is a logic analyzer with an Arduino Uno or Mega : GitHub - gillham/logic_analyzer: Implementation of a SUMP compatible logic analyzer for the Arduino
I tried this one, but the buffer is so small, it is hard to capture the right data.

On Ebay and AliExpress are 8 channel 24MHz logic analyzers with USB, for 5 dollars.