Player randomly gets destroys

As title, my player randomly get destroyed and I cannot reproduce the bug. I have tried searching whole solution for Destory() which it seems like none of the methods are targeting the player.

My question is, is there anyway I can tell which script has destroy a certain gameobject in console? Or is there any other solutions to my problem? Thanks.

Try this:

void OnDestroy() {
   Debug.Log (UnityEngine.StackTraceUtility.ExtractStackTrace ());
}

You wouldn’t by any chance, have a TrailRenderer Component attached to the GameObject? This sounds like the Autodestruct -checkbox on your trailrenderer is set to active. You should be fine after removing that checkmark.