This is a great question highlighting an issue that many (especially inexperienced) Development Teams face.
During the Daily Scrum the Development Team members should be inspecting progress toward the Sprint Goal, noting impediments that need to be raised, and adapting their plan for the current day's work through a discussion. Focused questions in creating that plan are necessary. Conversations regarding details of how work was done or will be done are not meant for the Daily Scrum event.
Experience and/or coaching can help the Development Team reach a consensus on a technique to identify and address discussions that need to be tabled for later, after the function of the Daily Scrum has been fulfilled. As previously mentioned, a 30 second or minute rule can be helpful. As the Development Team members conduct the event, topics can be mentioned to be placed on a list to be discussed immediately following the Daily Scrum.
More importantly, as was also pointed out, this is indicative of a problem of a lack of collaboration by the Development Team members throughout the day; pair programming can help improve this disconnect. The opening post spoke in terms of developers and testers. While each person has distinct strengths, removing these roles and cross-training can also help reduce the risks.
Remember, as a Scrum Master your role is to teach the Development Team to conduct the Daily Scrum within the 15 minute time-box, not be a participant in the event. It would be fruitful to observe the event as needed (more frequently for a less experienced team) in order to identify possible areas for improvement to be suggested at another time such as during the Sprint Retrospective event.
While one result of the Daily Scrum is a shared understanding of progress, it is not a status meeting. Remove that term from the language. Remove practices such as pass-the-baton that result in such an event. It should feel like a planning discussion rooted in the three questions.