方法一:debug_backtrace
无论是有产生了bug,都可以调用本方法,返回所有调用的堆栈。返回值保存到一个变量中。
方法二:debug_print_backtrace
和前面差不多,但是会直接输出,通常来说不友好。
方法三:Exception类的getTraceAsString()成员函数返回一个调用堆栈。
此方法,过于麻烦,而且不灵活,因为返回的格式是固定的字符串,如果需要取出其中的组成部分,则需要手动拆分。
使用第一个方法,通常是最佳的。
在一些情况下,此方法非常巧妙,也就是假设有一个公用函数,a() ,那么可以在a方法中判断谁调用了自己(假设b和c同时调用a),针对b、或c进行一些特定的处理。