On Monitoring C/C++ Transactional Memory Programs