Temperamental Debug.Log message: they don't always show up.


I'm getting very confused by the behaviour of my Debug console... I'm trying to make a TBS game and I have some code which is called each turn:

public void GameCycle()

    gameCycleFinished = false;
    playerReady = false;    

    /*this function's job is to present the relevant player with a prompt for input, 
    //and show "waiting" to all over players*/
    Debug.Log("About to AwakeSleepPlayers");
    Debug.Log("Done AwakeSleepPlayers()");


    private void PrintStatus()
    Debug.Log("***GameCycle: fctr" + currentFaction.ToString() + "*** TURN = " +factionList[currentFaction].GetComponent<Faction>().turnCtr.ToString()  
    + " with " + factionList[currentFaction].GetComponent<Faction>().factionUnitsCurrentlyInGame.Length.ToString() + " units");


So, at the start of each turn, I should get three messages (the PrintStatus message, and the two messages about awaking players). However, when I run the game, I get these messages on the first turn. But on the second turn I only get the PrintStatus message.

This is making debugging my code very confusing, as I'm using Debug.Log to keep track of what functions are called when. Any suggestions?


Press the Collapse button in the Console.


Hm, is "collapsed" turned on in the console window?

Do you still have the problem? if so - check if the results in the log are uniq, as I was trying to Debug.Log a lot of chars from a string and when I had the same char in row, only the first one got printet. until I added a uniq value to the log.

Debug.Log(uniq_counter + " = " + some_value_to_output);