The paper describes MPVisualizer (Message Passing Visualizer) a general purpose tool for the debugging of message passing parallel applications; its three components are the trace/replay mechanism, the graphical user interface and the central component, called visualization engine. The engine, which plays the main role during the replay phase, can be used with different message passing environments and different graphical environments. This is a major step to make MPVisualizer a general tool. Additionally, the engine is able to recognize potential race conditions and can be easily re-programmed to detect specific predicates.