McClean scores in Pride Park draw.
Sunderland and Derby played out a draw at Pride Park as James McClean's goal was cancelled out late on.
McClean, playing only his second game of the pre-season, found the net with a fine finish 19 minutes from time and it looked as if that lone goal would be enough for the visitors.
Both sides had chances in an even game and Derby eventually pulled level just a minute from the end through Nathan Tyson.
Sunderland twice struck the woodwork in the first half, through McClean and Carlos Cuellar, with Jeff Hendrick doing the same for the visitors.
The second half lacked the earlier spark but did feature both goals as the Championship side claimed a share of the spoils.
O'Neill mixed and matched his side ahead of the game, handing opportunities to Blair Adams and Ahmed Elmohamady, with the latter making his first appearance of the pre-season.
Both sides made a solid start but the game, with Sunderland creating the first opportunity nine minutes in. David Meyler burst forward from midfield and tested Frank Fielding with a powerful shot which the Derby keeper could only gather at the second attempt.
That chance seemed to spark the game into life with both teams striking the post within a minute of each other.
Hendrick was the first to be denied, seeing his low cross deflect off a defender and strike the post with Jamie Ward waiting in a great position in front of goal.
And from the resulting clearance McClean found himself in space just inside the box and crashed a shot against the base of the upright with Fielding well beaten.
Sunderland pushed forward and only a superb flying save from Fielding prevented Craig Gardner from finding the far corner of the goal after being teed up by McClean.
Then Cuellar was denied a first goal for the club by the post, hitting the upright with a shot on the turn from 16 yards after the ball bobbled out to him in a goalmouth scramble.
Sunderland were well on top as the half-hour approached, with Gardner in particular finding plenty of space with some clever forward runs from midfield.
The former Aston Villa man came close again as the half-hour approached, taking an awkward bounce off Fraizer Campbell in his stride and blasting over Fielding's crossbar.
Ward responded with an effort from distance which was well saved by Simon Mignolet, whose defence were holding up well as the hosts looked to gain some traction having lost ground to their visitors.
The dangerous McClean rounded out the first period on a positive note for the visitors, taking advantage of some space wide on the left to test Fielding with a low drive.
Midfielder Will Hughes blasted wide for the hosts early in the second period, while Ward again got himself into a useful position but failed to test Mignolet with a weak shot.
Campbell thought he'd put his side ahead with 22 minutes remaining as he nipped in ahead of Fielding to prod a through ball towards goal, but alert full-back Tom Naylor read the danger well to slide in and clear with the ball rolling towards the open net.
But Sunderland did assume the lead three minutes later - sub Kieran Richardson finding McClean who controlled well before drilling the ball under the diving Fielding and into the net from a tight angle.
They almost made it two as Jack Colback headed wide before an Elmohamady cross was inches away from connecting with Campbell's outstretched boot.
But a second goal wouldn't come and Derby pushed late on in search of an equaliser, which they eventually got a minute from time.
Sub Michael Hoganson's cross from the left zipped across the box and there was fellow replacement Tyson to head home from close range.
Sunderland: Mignolet, Elmohamady, Adams (Cattermole, 46), O'Shea ©, Cuellar (Egan, 63), Larsson, McClean (Knott, 80), Meyler (Noble, 75), Gardner (Richardson, 46), Colback, Campbell.
Subs Not Used: Westwood.
Sent Off: None.
Derby: Fielding, Brayford (Davies, 86), Naylor (Hoganson, 70), Hughes (Tyson, 63), Buxton, Keogh ©, Coutts (Bailey, 79), Hendrick, Robinson (Doyle, 86), Ward (, Jacobs.
Subs Not Used: Legzdins, Davies, Doyle, Gjokas, Barrera.
Sent Off: None.