Debugging in Heterogeneous Environments with TotalView